Fix comparison issues in onap pap rest 99/59999/2
authorkrishnajinka <kris.jinka@samsung.com>
Fri, 10 Aug 2018 11:27:53 +0000 (20:27 +0900)
committerkrishnajinka <kris.jinka@samsung.com>
Fri, 10 Aug 2018 23:33:54 +0000 (08:33 +0900)
Fix issues about incorrect comparison in pap rest modules
indicated by analysis tools.Rework to fix review
comments1

Issue-ID: POLICY-1016
Change-Id: I7a0ee45a721307fc3ba89ab65e807613a3df2542
Signed-off-by: krisjinka <kris.jinka@samsung.com>
13 files changed:
ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/XACMLPapServlet.java
ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/ActionPolicy.java
ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/ClosedLoopPolicy.java
ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/ConfigPolicy.java
ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/CreateBrmsParamPolicy.java
ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/CreateBrmsRawPolicy.java
ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/PolicyDBDao.java
ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/controller/PushPolicyController.java
ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/handler/APIRequestHandler.java
ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/handler/DeleteHandler.java
ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/handler/DictionaryHandlerImpl.java
ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/service/MetricService.java
ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/restAuth/CheckPDP.java

index 4406ad3..680c4d5 100644 (file)
@@ -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,6 +41,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Objects;
 import java.util.Properties;
 import java.util.Scanner;
 import java.util.Set;
@@ -108,14 +109,15 @@ import com.google.common.base.Splitter;
  */
 @WebServlet(
         description = "Implements the XACML PAP RESTful API.",
-        urlPatterns = { "/" },
-        loadOnStartup=1,
+        urlPatterns = {"/"},
+        loadOnStartup = 1,
         initParams = {
-            @WebInitParam(name = "XACML_PROPERTIES_NAME", value = "xacml.pap.properties", description = "The location of the properties file holding configuration information.")
+                @WebInitParam(name = "XACML_PROPERTIES_NAME", value = "xacml.pap.properties",
+                        description = "The location of the properties file holding configuration information.")
         })
 public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeListener, Runnable {
     private static final long serialVersionUID = 1L;
-    private static final Logger LOGGER = FlexLogger.getLogger(XACMLPapServlet.class);
+    private static final Logger LOGGER = FlexLogger.getLogger(XACMLPapServlet.class);
     // audit (transaction) LOGGER
     private static final Logger auditLogger = FlexLogger.getLogger("auditLogger");
     //Persistence Unit for JPA
@@ -210,32 +212,42 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
              */
             setCommonProperties();
             String papSiteName = XACMLProperties.getProperty(XACMLRestProperties.PAP_SITE_NAME);
-            if(papSiteName == null){
-                PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE,"XACMLPapServlet", " ERROR: Bad papSiteName property entry");
+            if (papSiteName == null) {
+                PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, "XACMLPapServlet",
+                        " ERROR: Bad papSiteName property entry");
                 throw new PAPException("papSiteName is null");
             }
             String papNodeType = XACMLProperties.getProperty(XACMLRestProperties.PAP_NODE_TYPE);
-            if(papNodeType == null){
-                PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE,"XACMLPapServlet", " ERROR: Bad papNodeType property entry");
+            if (papNodeType == null) {
+                PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, "XACMLPapServlet",
+                        " ERROR: Bad papNodeType property entry");
                 throw new PAPException("papNodeType is null");
             }
             //Integer will throw an exception of anything is missing or unrecognized
             int papTransWait = Integer.parseInt(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_TRANS_WAIT));
-            int papTransTimeout = Integer.parseInt(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_TRANS_TIMEOUT));
-            int papAuditTimeout = Integer.parseInt(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_AUDIT_TIMEOUT));
+            int papTransTimeout =
+                    Integer.parseInt(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_TRANS_TIMEOUT));
+            int papAuditTimeout =
+                    Integer.parseInt(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_AUDIT_TIMEOUT));
             //Boolean will default to false if anything is missing or unrecognized
-            boolean papAuditFlag = Boolean.parseBoolean(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_RUN_AUDIT_FLAG));
-            boolean papFileSystemAudit = Boolean.parseBoolean(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_AUDIT_FLAG));
+            boolean papAuditFlag =
+                    Boolean.parseBoolean(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_RUN_AUDIT_FLAG));
+            boolean papFileSystemAudit =
+                    Boolean.parseBoolean(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_AUDIT_FLAG));
             String papDependencyGroups = XACMLProperties.getProperty(XACMLRestProperties.PAP_DEPENDENCY_GROUPS);
-            if(papDependencyGroups == null){
+            if (papDependencyGroups == null) {
                 throw new PAPException("papDependencyGroups is null");
             }
             setPAPDependencyGroups(papDependencyGroups);
             //Integer will throw an exception of anything is missing or unrecognized
-            int fpMonitorInterval = Integer.parseInt(XACMLProperties.getProperty(IntegrityMonitorProperties.FP_MONITOR_INTERVAL));
-            int failedCounterThreshold = Integer.parseInt(XACMLProperties.getProperty(IntegrityMonitorProperties.FAILED_COUNTER_THRESHOLD));
-            int testTransInterval = Integer.parseInt(XACMLProperties.getProperty(IntegrityMonitorProperties.TEST_TRANS_INTERVAL));
-            int writeFpcInterval = Integer.parseInt(XACMLProperties.getProperty(IntegrityMonitorProperties.WRITE_FPC_INTERVAL));
+            int fpMonitorInterval =
+                    Integer.parseInt(XACMLProperties.getProperty(IntegrityMonitorProperties.FP_MONITOR_INTERVAL));
+            int failedCounterThreshold =
+                    Integer.parseInt(XACMLProperties.getProperty(IntegrityMonitorProperties.FAILED_COUNTER_THRESHOLD));
+            int testTransInterval =
+                    Integer.parseInt(XACMLProperties.getProperty(IntegrityMonitorProperties.TEST_TRANS_INTERVAL));
+            int writeFpcInterval =
+                    Integer.parseInt(XACMLProperties.getProperty(IntegrityMonitorProperties.WRITE_FPC_INTERVAL));
             LOGGER.debug("\n\n\n**************************************"
                     + "\n*************************************"
                     + "\n"
@@ -268,15 +280,17 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                         + "properties = " + properties
                         + "\n\n**************************************");
             } catch (IOException e) {
-                PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, "XACMLPapServlet", " Error loading properties with: "
-                        + "XACMLProperties.getProperties()");
+                PolicyLogger
+                        .error(MessageCodes.ERROR_DATA_ISSUE, e, "XACMLPapServlet", " Error loading properties with: "
+                                + "XACMLProperties.getProperties()");
                 throw new ServletException(e.getMessage(), e.getCause());
             }
             // Create an IntegrityMonitor
-            if(properties.getProperty(PERSISTENCE_JDBC_PWD) != null ){
-                properties.setProperty(PERSISTENCE_JDBC_PWD, CryptoUtils.decryptTxtNoExStr(properties.getProperty(PERSISTENCE_JDBC_PWD, "")));
+            if (properties.getProperty(PERSISTENCE_JDBC_PWD) != null) {
+                properties.setProperty(PERSISTENCE_JDBC_PWD,
+                        CryptoUtils.decryptTxtNoExStr(properties.getProperty(PERSISTENCE_JDBC_PWD, "")));
             }
-            im = IntegrityMonitor.getInstance(papResourceName,properties);
+            im = IntegrityMonitor.getInstance(papResourceName, properties);
             // Create an IntegrityAudit
             ia = new IntegrityAudit(papResourceName, AUDIT_PAP_PERSISTENCE_UNIT, properties);
             ia.startAuditThread();
@@ -288,7 +302,8 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             //Create the policyDBDao
             setPolicyDBDao();
             // Load our PAP engine, first create a factory
-            ONAPPapEngineFactory factory = ONAPPapEngineFactory.newInstance(XACMLProperties.getProperty(XACMLProperties.PROP_PAP_PAPENGINEFACTORY));
+            ONAPPapEngineFactory factory = ONAPPapEngineFactory
+                    .newInstance(XACMLProperties.getProperty(XACMLProperties.PROP_PAP_PAPENGINEFACTORY));
             // The factory knows how to go about creating a PAP Engine
             setPAPEngine((PAPPolicyEngine) factory.newEngine());
             PolicyDBDaoTransaction addNewGroup = null;
@@ -311,7 +326,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                 }
             }
             policyDBDao.setPapEngine((PAPPolicyEngine) XACMLPapServlet.papEngine);
-            if (Boolean.parseBoolean(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_RUN_AUDIT_FLAG))){
+            if (Boolean.parseBoolean(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_RUN_AUDIT_FLAG))) {
                 /*
                  * Auditing the local File System groups to be in sync with the Database
                  */
@@ -324,18 +339,19 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                 //get the current filesystem group and update from the database if needed
                 StdPDPGroup group = (StdPDPGroup) papEngine.getDefaultGroup();
                 StdPDPGroup updatedGroup = policyDBDao.auditLocalFileSystem(group);
-                if(updatedGroup!=null) {
+                if (updatedGroup != null) {
                     papEngine.updateGroup(updatedGroup);
-                }    
+                }
                 LOGGER.info("PapServlet:  updated group is " + papEngine.getDefaultGroup().toString());
-                
+
                 //release the transaction lock
                 auditTrans.close();
             }
 
             // Sanity check for URL.
             if (XACMLPapServlet.papURL == null) {
-                throw new PAPException("The property " + XACMLRestProperties.PROP_PAP_URL + " is not valid: " + XACMLPapServlet.papURL);
+                throw new PAPException("The property " + XACMLRestProperties.PROP_PAP_URL + " is not valid: " +
+                        XACMLPapServlet.papURL);
             }
             // Configurable - have the PAP servlet initiate sending the latest PDP policy/pip configuration
             // to all its known PDP nodes.
@@ -347,10 +363,12 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
 
         } catch (FactoryException | PAPException e) {
             PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "XACMLPapServlet", " Failed to create engine");
-            throw new ServletException (XACMLErrorConstants.ERROR_SYSTEM_ERROR + "PAP not initialized; error: "+e);
+            throw new ServletException(XACMLErrorConstants.ERROR_SYSTEM_ERROR + "PAP not initialized; error: " + e);
         } catch (Exception e) {
-            PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "XACMLPapServlet", " Failed to create engine - unexpected error");
-            throw new ServletException (XACMLErrorConstants.ERROR_SYSTEM_ERROR + "PAP not initialized; unexpected error: "+e);
+            PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "XACMLPapServlet",
+                    " Failed to create engine - unexpected error");
+            throw new ServletException(
+                    XACMLErrorConstants.ERROR_SYSTEM_ERROR + "PAP not initialized; unexpected error: " + e);
         }
     }
 
@@ -359,7 +377,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
         initiateThread.start();
     }
 
-    private static void mapperWriteValue(ObjectMapper mapper,  HttpServletResponse response, Object value) {
+    private static void mapperWriteValue(ObjectMapper mapper, HttpServletResponse response, Object value) {
         try {
             mapper.writeValue(response.getOutputStream(), value);
         } catch (Exception e) {
@@ -377,14 +395,15 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
         try {
             policyDBDao = PolicyDBDao.getPolicyDBDaoInstance(getEmf());
         } catch (Exception e) {
-            throw new ServletException("Unable to Create Policy DBDao Instance",e);
+            throw new ServletException("Unable to Create Policy DBDao Instance", e);
         }
     }
 
     private static void setEMF(Properties properties) throws ServletException {
         emf = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT, properties);
         if (emf == null) {
-            PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " Error creating entity manager factory with persistence unit: "
+            PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE +
+                    " Error creating entity manager factory with persistence unit: "
                     + PERSISTENCE_UNIT);
             throw new ServletException("Unable to create Entity Manager Factory");
         }
@@ -399,24 +418,26 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
     }
 
     private static void setPAPDependencyGroups(String papDependencyGroups) throws PAPException {
-        try{
+        try {
             //Now we have flattened the array into a simple comma-separated list
             papDependencyGroupsFlatArray = papDependencyGroups.split("[;,]");
             //clean up the entries
-            for (int i = 0 ; i < papDependencyGroupsFlatArray.length ; i ++){
+            for (int i = 0; i < papDependencyGroupsFlatArray.length; i++) {
                 papDependencyGroupsFlatArray[i] = papDependencyGroupsFlatArray[i].trim();
             }
-            try{
-                if(XACMLProperties.getProperty(XACMLRestProperties.PAP_INTEGRITY_AUDIT_PERIOD_SECONDS) != null){
-                    papIntegrityAuditPeriodSeconds = Integer.parseInt(XACMLProperties.getProperty(XACMLRestProperties.PAP_INTEGRITY_AUDIT_PERIOD_SECONDS).trim());
+            try {
+                if (XACMLProperties.getProperty(XACMLRestProperties.PAP_INTEGRITY_AUDIT_PERIOD_SECONDS) != null) {
+                    papIntegrityAuditPeriodSeconds = Integer.parseInt(
+                            XACMLProperties.getProperty(XACMLRestProperties.PAP_INTEGRITY_AUDIT_PERIOD_SECONDS).trim());
                 }
-            }catch(Exception e){
+            } catch (Exception e) {
                 String msg = "integrity_audit_period_seconds ";
                 LOGGER.error("\n\nERROR: " + msg + "Bad property entry: " + e.getMessage() + "\n");
-                PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, "XACMLPapServlet", " ERROR: " + msg +"Bad property entry");
+                PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, "XACMLPapServlet",
+                        " ERROR: " + msg + "Bad property entry");
                 throw e;
             }
-        }catch(Exception e){
+        } catch (Exception e) {
             PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, "XACMLPapServlet", " ERROR: Bad property entry");
             throw new PAPException(e);
         }
@@ -426,46 +447,52 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
         setConfigHome();
         setActionHome();
         papDbDriver = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_DB_DRIVER);
-        if(papDbDriver == null){
-            PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE,"XACMLPapServlet", " ERROR: Bad papDbDriver property entry");
+        if (papDbDriver == null) {
+            PolicyLogger
+                    .error(MessageCodes.ERROR_DATA_ISSUE, "XACMLPapServlet", " ERROR: Bad papDbDriver property entry");
             throw new PAPException("papDbDriver is null");
         }
         setPapDbDriver(papDbDriver);
         papDbUrl = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_DB_URL);
-        if(papDbUrl == null){
-            PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE,"XACMLPapServlet", " ERROR: Bad papDbUrl property entry");
+        if (papDbUrl == null) {
+            PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, "XACMLPapServlet", " ERROR: Bad papDbUrl property entry");
             throw new PAPException("papDbUrl is null");
         }
         setPapDbUrl(papDbUrl);
         papDbUser = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_DB_USER);
-        if(papDbUser == null){
-            PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE,"XACMLPapServlet", " ERROR: Bad papDbUser property entry");
+        if (papDbUser == null) {
+            PolicyLogger
+                    .error(MessageCodes.ERROR_DATA_ISSUE, "XACMLPapServlet", " ERROR: Bad papDbUser property entry");
             throw new PAPException("papDbUser is null");
         }
         setPapDbUser(papDbUser);
-        papDbPassword = CryptoUtils.decryptTxtNoExStr(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_DB_PASSWORD, ""));
-        if(papDbPassword == null){
-            PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE,"XACMLPapServlet", " ERROR: Bad papDbPassword property entry");
+        papDbPassword = CryptoUtils
+                .decryptTxtNoExStr(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_DB_PASSWORD, ""));
+        if (papDbPassword == null) {
+            PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, "XACMLPapServlet",
+                    " ERROR: Bad papDbPassword property entry");
             throw new PAPException("papDbPassword is null");
         }
         setPapDbPassword(papDbPassword);
         papResourceName = XACMLProperties.getProperty(XACMLRestProperties.PAP_RESOURCE_NAME);
-        if(papResourceName == null){
-            PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE,"XACMLPapServlet", " ERROR: Bad papResourceName property entry");
+        if (papResourceName == null) {
+            PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, "XACMLPapServlet",
+                    " ERROR: Bad papResourceName property entry");
             throw new PAPException("papResourceName is null");
         }
         environment = XACMLProperties.getProperty("ENVIRONMENT", "DEVL");
         //Micro Service Properties
-        msOnapName=XACMLProperties.getProperty("xacml.policy.msOnapName");
+        msOnapName = XACMLProperties.getProperty("xacml.policy.msOnapName");
         setMsOnapName(msOnapName);
-        msPolicyName=XACMLProperties.getProperty("xacml.policy.msPolicyName");
+        msPolicyName = XACMLProperties.getProperty("xacml.policy.msPolicyName");
         setMsPolicyName(msPolicyName);
         // PDPId File location 
         XACMLPapServlet.pdpFile = XACMLProperties.getProperty(XACMLRestProperties.PROP_PDP_IDFILE);
         if (XACMLPapServlet.pdpFile == null) {
             PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " The PDP Id Authentication File Property is not valid: "
-                + XACMLRestProperties.PROP_PDP_IDFILE);
-            throw new PAPException("The PDP Id Authentication File Property :"+ XACMLRestProperties.PROP_PDP_IDFILE+ " is not Valid. ");
+                    + XACMLRestProperties.PROP_PDP_IDFILE);
+            throw new PAPException("The PDP Id Authentication File Property :" + XACMLRestProperties.PROP_PDP_IDFILE +
+                    " is not Valid. ");
         }
     }
 
@@ -481,7 +508,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
 
     /**
      * @see Servlet#destroy()
-     *
+     * <p>
      * Depending on how this servlet is run, we may or may not care about cleaning up the resources.
      * For now we assume that we do care.
      */
@@ -514,16 +541,17 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
 
     /**
      * Called by:
-     *         - PDP nodes to register themselves with the PAP, and
-     *         - Admin Console to make changes in the PDP Groups.
+     * - PDP nodes to register themselves with the PAP, and
+     * - Admin Console to make changes in the PDP Groups.
      *
      * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
      */
-    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+    protected void doPost(HttpServletRequest request, HttpServletResponse response)
+            throws ServletException, IOException {
         ONAPLoggingContext loggingContext = ONAPLoggingUtils.getLoggingContextForRequest(request, baseLoggingContext);
         loggingContext.transactionStarted();
         loggingContext.setServiceName("PAP.post");
-        if ((loggingContext.getRequestID() == null) || (loggingContext.getRequestID() == "")){
+        if ((loggingContext.getRequestID() == null) || (Objects.equals(loggingContext.getRequestID(), ""))) {
             UUID requestID = UUID.randomUUID();
             loggingContext.setRequestID(requestID.toString());
             PolicyLogger.info("requestID not provided in call to XACMLPapSrvlet (doPost) so we generated one");
@@ -536,18 +564,18 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             im.startTransaction();
             loggingContext.metricEnded();
             PolicyLogger.metrics("XACMLPapServlet doPost im startTransaction");
-        } catch (AdministrativeStateException ae){
+        } catch (AdministrativeStateException ae) {
             String message = "POST interface called for PAP " + papResourceName + " but it has an Administrative"
                     + " state of " + im.getStateManager().getAdminState()
-                    + "\n Exception Message: " +  PolicyUtils.CATCH_EXCEPTION;
+                    + "\n Exception Message: " + PolicyUtils.CATCH_EXCEPTION;
             LOGGER.error(MessageCodes.ERROR_SYSTEM_ERROR + " " + message, ae);
             loggingContext.metricEnded();
             PolicyLogger.metrics("XACMLPapServlet doPost im startTransaction");
             loggingContext.transactionEnded();
             PolicyLogger.audit("Transaction Failed - See Error.log");
-            setResponseError(response,HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
+            setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
             return;
-        }catch (StandbyStatusException se) {
+        } catch (StandbyStatusException se) {
             String message = "POST interface called for PAP " + papResourceName + " but it has a Standby Status"
                     + " of " + im.getStateManager().getStandbyStatus()
                     + "\n Exception Message: " + se.getMessage();
@@ -556,7 +584,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             PolicyLogger.metrics("XACMLPapServlet doPost im startTransaction");
             loggingContext.transactionEnded();
             PolicyLogger.audit("Transaction Failed - See Error.log");
-            setResponseError(response,HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
+            setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
             return;
         } catch (IntegrityMonitorException e) {
             String message = "POST interface called for PAP " + papResourceName + " but an exception occurred"
@@ -566,7 +594,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             PolicyLogger.metrics("XACMLPapServlet doPost im startTransaction");
             loggingContext.transactionEnded();
             PolicyLogger.audit("Transaction Failed - See Error.log");
-            setResponseError(response,HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
+            setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
             return;
         }
         try {
@@ -579,16 +607,16 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             request.getInputStream();
             String groupId = request.getParameter("groupId");
             String apiflag = request.getParameter("apiflag");
-            if(groupId != null) {
+            if (groupId != null) {
                 // Is this from the Admin Console or API?
-                if(apiflag!=null && apiflag.equalsIgnoreCase("api")) {
+                if (apiflag != null && apiflag.equalsIgnoreCase("api")) {
                     // this is from the API so we need to check the client credentials before processing the request
-                    if(!authorizeRequest(request)){
+                    if (!authorizeRequest(request)) {
                         String message = "PEP not Authorized for making this Request!!";
                         PolicyLogger.error(MessageCodes.ERROR_PERMISSIONS + " " + message);
                         loggingContext.transactionEnded();
                         PolicyLogger.audit("Transaction Failed - See Error.log");
-                        setResponseError(response,HttpServletResponse.SC_FORBIDDEN, message);
+                        setResponseError(response, HttpServletResponse.SC_FORBIDDEN, message);
                         im.endTransaction();
                         return;
                     }
@@ -614,11 +642,13 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             if (pdp == null) {
                 LOGGER.info("Unknown PDP: " + id);
                 // Check PDP ID
-                if(CheckPDP.validateID(id)){
+                if (CheckPDP.validateID(id)) {
                     pdpTransaction = policyDBDao.getNewTransaction();
                     try {
-                        pdpTransaction.addPdpToGroup(id, XACMLPapServlet.papEngine.getDefaultGroup().getId(), id, "Registered on first startup", Integer.parseInt(jmxport), "PDP autoregister");
-                        XACMLPapServlet.papEngine.newPDP(id, XACMLPapServlet.papEngine.getDefaultGroup(), id, "Registered on first startup", Integer.parseInt(jmxport));
+                        pdpTransaction.addPdpToGroup(id, XACMLPapServlet.papEngine.getDefaultGroup().getId(), id,
+                                "Registered on first startup", Integer.parseInt(jmxport), "PDP autoregister");
+                        XACMLPapServlet.papEngine.newPDP(id, XACMLPapServlet.papEngine.getDefaultGroup(), id,
+                                "Registered on first startup", Integer.parseInt(jmxport));
                     } catch (NullPointerException | PAPException | IllegalArgumentException | IllegalStateException | PersistenceException | PolicyDBException e) {
                         pdpTransaction.rollbackTransaction();
                         String message = "Failed to create new PDP for id: " + id;
@@ -630,13 +660,13 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                         return;
                     }
                     // get the PDP we just created
-                    try{
+                    try {
                         pdp = XACMLPapServlet.papEngine.getPDP(id);
-                    }catch(PAPException e){
+                    } catch (PAPException e) {
                         LOGGER.error(e);
                     }
                     if (pdp == null) {
-                        if(pdpTransaction != null){
+                        if (pdpTransaction != null) {
                             pdpTransaction.rollbackTransaction();
                         }
                         String message = "Failed to create new PDP for id: " + id;
@@ -648,42 +678,47 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                         return;
                     }
                 } else {
-                    String message = "PDP is Unauthorized to Connect to PAP: "+ id;
+                    String message = "PDP is Unauthorized to Connect to PAP: " + id;
                     loggingContext.transactionEnded();
                     PolicyLogger.error(MessageCodes.ERROR_PERMISSIONS + " " + message);
-                    setResponseError(response, HttpServletResponse.SC_UNAUTHORIZED, "PDP not Authorized to connect to this PAP. Please contact the PAP Admin for registration.");
+                    setResponseError(response, HttpServletResponse.SC_UNAUTHORIZED,
+                            "PDP not Authorized to connect to this PAP. Please contact the PAP Admin for registration" +
+                                    ".");
                     PolicyLogger.audit("Transaction Failed - See Error.log");
                     im.endTransaction();
                     return;
                 }
-                try{
+                try {
                     loggingContext.metricStarted();
                     pdpTransaction.commitTransaction();
                     loggingContext.metricEnded();
                     PolicyLogger.metrics("XACMLPapServlet doPost commitTransaction");
-                } catch(Exception e){
-                    PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet", "Could not commit transaction to put pdp in the database");
+                } catch (Exception e) {
+                    PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet",
+                            "Could not commit transaction to put pdp in the database");
                 }
             }
-            if (jmxport != null && jmxport != ""){
-                try{
+            if (jmxport != null && !Objects.equals(jmxport, "")) {
+                try {
                     ((StdPDP) pdp).setJmxPort(Integer.valueOf(jmxport));
-                }catch(NumberFormatException e){
+                } catch (NumberFormatException e) {
                     LOGGER.error(e);
                 }
             }
             // Get the PDP's Group
-            OnapPDPGroup group =null;
-            try{
-                group= XACMLPapServlet.papEngine.getPDPGroup((OnapPDP) pdp);
-            }catch(PAPException e){
+            OnapPDPGroup group = null;
+            try {
+                group = XACMLPapServlet.papEngine.getPDPGroup((OnapPDP) pdp);
+            } catch (PAPException e) {
                 LOGGER.error(e);
             }
             if (group == null) {
-                PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW + " PDP not associated with any group, even the default");
+                PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW +
+                        " PDP not associated with any group, even the default");
                 loggingContext.transactionEnded();
                 PolicyLogger.audit("Transaction Failed - See Error.log");
-                setResponseError(response, HttpServletResponse.SC_UNAUTHORIZED, "PDP not associated with any group, even the default");
+                setResponseError(response, HttpServletResponse.SC_UNAUTHORIZED,
+                        "PDP not associated with any group, even the default");
                 im.endTransaction();
                 return;
             }
@@ -693,9 +728,9 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             Properties pipconfig = group.getPipConfigProperties();
             // Get the current policy/pip configuration that the PDP has
             Properties pdpProperties = new Properties();
-            try{
+            try {
                 pdpProperties.load(request.getInputStream());
-            }catch(IOException e){
+            } catch (IOException e) {
                 LOGGER.error(e);
             }
             LOGGER.info("PDP Current Properties: " + pdpProperties.toString());
@@ -712,33 +747,33 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                     // retrieve them.
                     this.populatePolicyURL(request.getRequestURL(), policies);
                     // Copy the properties to the output stream
-                    try{
+                    try {
                         policies.store(response.getOutputStream(), "");
-                    }catch(IOException e){
+                    } catch (IOException e) {
                         LOGGER.error(e);
                     }
                 }
                 if (pipconfig != null) {
                     // Copy the properties to the output stream
-                    try{
+                    try {
                         pipconfig.store(response.getOutputStream(), "");
-                    }catch(IOException e){
+                    } catch (IOException e) {
                         LOGGER.error(e);
                     }
                 }
                 // We are good - and we are sending them information
                 response.setStatus(HttpServletResponse.SC_OK);
-                try{
+                try {
                     setPDPSummaryStatus(pdp, PDPStatus.Status.OUT_OF_SYNCH);
-                }catch(PAPException e){
+                } catch (PAPException e) {
                     LOGGER.error(e);
                 }
             } else {
                 // Tell them they are good
                 response.setStatus(HttpServletResponse.SC_NO_CONTENT);
-                try{
+                try {
                     setPDPSummaryStatus(pdp, PDPStatus.Status.UP_TO_DATE);
-                }catch(PAPException e){
+                } catch (PAPException e) {
                     LOGGER.error(e);
                 }
             }
@@ -751,7 +786,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             auditLogger.info("Success");
             PolicyLogger.audit("Transaction Ended Successfully");
         } catch (PAPException | IOException | NumberFormatException e) {
-            if(pdpTransaction != null){
+            if (pdpTransaction != null) {
                 pdpTransaction.rollbackTransaction();
             }
             LOGGER.debug(XACMLErrorConstants.ERROR_PROCESS_FLOW + "POST exception: " + e, e);
@@ -767,233 +802,237 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
         im.endTransaction();
     }
 
-    private void setResponseError(HttpServletResponse response,int responseCode, String message) {
+    private void setResponseError(HttpServletResponse response, int responseCode, String message) {
         try {
-            if(message != null && !message.isEmpty()){
-                   response.sendError(responseCode, message);
+            if (message != null && !message.isEmpty()) {
+                response.sendError(responseCode, message);
             }
         } catch (IOException e) {
             LOGGER.error("Error setting Error response Header ", e);
         }
-        return;
     }
 
     /**
      * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
      */
-    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+    protected void doGet(HttpServletRequest request, HttpServletResponse response)
+            throws ServletException, IOException {
         ONAPLoggingContext loggingContext = ONAPLoggingUtils.getLoggingContextForRequest(request, baseLoggingContext);
         loggingContext.transactionStarted();
         loggingContext.setServiceName("PAP.get");
-        if ((loggingContext.getRequestID() == null) || (loggingContext.getRequestID() == "")){
+        if ((loggingContext.getRequestID() == null) || (Objects.equals(loggingContext.getRequestID(), ""))) {
             UUID requestID = UUID.randomUUID();
             loggingContext.setRequestID(requestID.toString());
             PolicyLogger.info("requestID not provided in call to XACMLPapSrvlet (doGet) so we generated one");
         } else {
             PolicyLogger.info("requestID was provided in call to XACMLPapSrvlet (doGet)");
         }
-            loggingContext.metricStarted();
-            XACMLRest.dumpRequest(request);
-            loggingContext.metricEnded();
-            PolicyLogger.metrics("XACMLPapServlet doGet dumpRequest");
-            String pathInfo = request.getRequestURI();
-            LOGGER.info("path info: " + pathInfo);
-            if (pathInfo != null){
-                //DO NOT do a im.startTransaction for the test request
-                if (pathInfo.equals("/pap/test")) {
-                    try {
-                        testService(loggingContext, response);
-                    } catch (IOException e) {
-                        LOGGER.debug(e);
-                    }
-                    return;
+        loggingContext.metricStarted();
+        XACMLRest.dumpRequest(request);
+        loggingContext.metricEnded();
+        PolicyLogger.metrics("XACMLPapServlet doGet dumpRequest");
+        String pathInfo = request.getRequestURI();
+        LOGGER.info("path info: " + pathInfo);
+        if (pathInfo != null) {
+            //DO NOT do a im.startTransaction for the test request
+            if (pathInfo.equals("/pap/test")) {
+                try {
+                    testService(loggingContext, response);
+                } catch (IOException e) {
+                    LOGGER.debug(e);
                 }
-            }
-            //This im.startTransaction() covers all other Get transactions
-            try {
-                loggingContext.metricStarted();
-                im.startTransaction();
-                loggingContext.metricEnded();
-                PolicyLogger.metrics("XACMLPapServlet doGet im startTransaction");
-            } catch (AdministrativeStateException ae){
-                String message = "GET interface called for PAP " + papResourceName + " but it has an Administrative"
-                        + " state of " + im.getStateManager().getAdminState()
-                        + "\n Exception Message: " + ae.getMessage();
-                LOGGER.info(message, ae);
-                PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR + " " + message);
-                loggingContext.transactionEnded();
-                PolicyLogger.audit("Transaction Failed - See Error.log");
-                setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
-                return;
-            }catch (StandbyStatusException se) {
-                String message = "GET interface called for PAP " + papResourceName + " but it has a Standby Status"
-                        + " of " + im.getStateManager().getStandbyStatus()
-                        + "\n Exception Message: " + se.getMessage();
-                LOGGER.info(message, se);
-                PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR + " " + message);
-                loggingContext.transactionEnded();
-                PolicyLogger.audit("Transaction Failed - See Error.log");
-                setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
-                return;
-            } catch (IntegrityMonitorException e) {
-                String message = "GET interface called for PAP " + papResourceName + " but an exception occurred"
-                        + "\n Exception Message: " + e.getMessage();
-                LOGGER.info(message, e);
-                PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR + " " + message);
-                loggingContext.transactionEnded();
-                PolicyLogger.audit("Transaction Failed - See Error.log");
-                setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
                 return;
             }
-            // Request from the API to get the gitPath
-            String apiflag = request.getParameter("apiflag");
-            if (apiflag!=null) {
-                if(authorizeRequest(request)){
-                    APIRequestHandler apiRequestHandler = new APIRequestHandler();
-                    try{
-                        loggingContext.metricStarted();
-                        apiRequestHandler.doGet(request,response, apiflag);
-                        loggingContext.metricEnded();
-                        PolicyLogger.metrics("XACMLPapServlet doGet apiRequestHandler doGet");
-                    }catch(IOException e){
-                        LOGGER.error(e);
-                    }
-                    loggingContext.transactionEnded();
-                    PolicyLogger.audit("Transaction Ended Successfully");
-                    im.endTransaction();
-                    return;
-                } else {
-                    String message = "PEP not Authorized for making this Request!! \n Contact Administrator for this Scope. ";
-                    PolicyLogger.error(MessageCodes.ERROR_PERMISSIONS + " " + message);
-                    loggingContext.transactionEnded();
-                    PolicyLogger.audit("Transaction Failed - See Error.log");
-                    setResponseError(response, HttpServletResponse.SC_FORBIDDEN, message);
-                    im.endTransaction();
-                    return;
-                }
-            }
-            // Is this from the Admin Console?
-            String groupId = request.getParameter("groupId");
-            if (groupId != null) {
-                // this is from the Admin Console, so handle separately
-                try{
+        }
+        //This im.startTransaction() covers all other Get transactions
+        try {
+            loggingContext.metricStarted();
+            im.startTransaction();
+            loggingContext.metricEnded();
+            PolicyLogger.metrics("XACMLPapServlet doGet im startTransaction");
+        } catch (AdministrativeStateException ae) {
+            String message = "GET interface called for PAP " + papResourceName + " but it has an Administrative"
+                    + " state of " + im.getStateManager().getAdminState()
+                    + "\n Exception Message: " + ae.getMessage();
+            LOGGER.info(message, ae);
+            PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR + " " + message);
+            loggingContext.transactionEnded();
+            PolicyLogger.audit("Transaction Failed - See Error.log");
+            setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
+            return;
+        } catch (StandbyStatusException se) {
+            String message = "GET interface called for PAP " + papResourceName + " but it has a Standby Status"
+                    + " of " + im.getStateManager().getStandbyStatus()
+                    + "\n Exception Message: " + se.getMessage();
+            LOGGER.info(message, se);
+            PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR + " " + message);
+            loggingContext.transactionEnded();
+            PolicyLogger.audit("Transaction Failed - See Error.log");
+            setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
+            return;
+        } catch (IntegrityMonitorException e) {
+            String message = "GET interface called for PAP " + papResourceName + " but an exception occurred"
+                    + "\n Exception Message: " + e.getMessage();
+            LOGGER.info(message, e);
+            PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR + " " + message);
+            loggingContext.transactionEnded();
+            PolicyLogger.audit("Transaction Failed - See Error.log");
+            setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
+            return;
+        }
+        // Request from the API to get the gitPath
+        String apiflag = request.getParameter("apiflag");
+        if (apiflag != null) {
+            if (authorizeRequest(request)) {
+                APIRequestHandler apiRequestHandler = new APIRequestHandler();
+                try {
                     loggingContext.metricStarted();
-                    doACGet(request, response, groupId, loggingContext);
+                    apiRequestHandler.doGet(request, response, apiflag);
                     loggingContext.metricEnded();
-                    PolicyLogger.metrics("XACMLPapServlet doGet doACGet");
-                } catch(IOException e){
+                    PolicyLogger.metrics("XACMLPapServlet doGet apiRequestHandler doGet");
+                } catch (IOException e) {
                     LOGGER.error(e);
                 }
                 loggingContext.transactionEnded();
                 PolicyLogger.audit("Transaction Ended Successfully");
                 im.endTransaction();
                 return;
-            }
-            // Get the PDP's ID
-            String id = this.getPDPID(request);
-            LOGGER.info("doGet from: " + id);
-            // Get the PDP Object
-            OnapPDP pdp = null;
-            try{
-                pdp = XACMLPapServlet.papEngine.getPDP(id);
-            }catch(PAPException e){
-                LOGGER.error(e);
-            }
-            // Is it known?
-            if (pdp == null) {
-                // Check if request came from localhost
-                if (request.getRemoteHost().equals("localhost") ||
-                        request.getRemoteHost().equals(request.getLocalAddr())) {
-                    // Return status information - basically all the groups
-                    loggingContext.setServiceName("PAP.getGroups");
-                    Set<OnapPDPGroup> groups = null;
-                    try {
-                        groups = papEngine.getOnapPDPGroups();
-                    } catch(PAPException e) {
-                        LOGGER.debug(e);
-                        PolicyLogger.error(MessageCodes.ERROR_UNKNOWN, e, "XACMLPapServlet", " GET exception");
-                        loggingContext.transactionEnded();
-                        PolicyLogger.audit("Transaction Failed - See Error.log");
-                        setResponseError(response,HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
-                        im.endTransaction();
-                        return;
-                    }
-                    // convert response object to JSON and include in the response
-                    mapperWriteValue(new ObjectMapper(), response,  groups);
-                    response.setHeader("content-type", "application/json");
-                    response.setStatus(HttpServletResponse.SC_OK);
-                    loggingContext.transactionEnded();
-                    PolicyLogger.audit("Transaction Ended Successfully");
-                    im.endTransaction();
-                    return;
-                }
-                String message = "Unknown PDP: " + id + " from " + request.getRemoteHost() + " us: " + request.getLocalAddr();
+            } else {
+                String message =
+                        "PEP not Authorized for making this Request!! \n Contact Administrator for this Scope. ";
                 PolicyLogger.error(MessageCodes.ERROR_PERMISSIONS + " " + message);
                 loggingContext.transactionEnded();
                 PolicyLogger.audit("Transaction Failed - See Error.log");
-                setResponseError(response, HttpServletResponse.SC_UNAUTHORIZED, message);
+                setResponseError(response, HttpServletResponse.SC_FORBIDDEN, message);
                 im.endTransaction();
                 return;
             }
-            loggingContext.setServiceName("PAP.getPolicy");
-            // Get the PDP's Group
-            OnapPDPGroup group = null;
+        }
+        // Is this from the Admin Console?
+        String groupId = request.getParameter("groupId");
+        if (groupId != null) {
+            // this is from the Admin Console, so handle separately
             try {
-                group = XACMLPapServlet.papEngine.getPDPGroup((OnapPDP) pdp);
-            } catch (PAPException e) {
-                LOGGER.error(e);
-            }
-            if (group == null) {
-                String message = "No group associated with pdp " + pdp.getId();
-                LOGGER.warn(XACMLErrorConstants.ERROR_PERMISSIONS + message);
-                loggingContext.transactionEnded();
-                PolicyLogger.audit("Transaction Failed - See Error.log");
-                setResponseError(response, HttpServletResponse.SC_UNAUTHORIZED, message);
-                im.endTransaction();
-                return;
-            }
-            // Which policy do they want?
-            String policyId = request.getParameter("id");
-            if (policyId == null) {
-                String message = "Did not specify an id for the policy";
-                LOGGER.warn(XACMLErrorConstants.ERROR_DATA_ISSUE + message);
-                loggingContext.transactionEnded();
-                PolicyLogger.audit("Transaction Failed - See Error.log");
-                setResponseError(response,HttpServletResponse.SC_NOT_FOUND, message);
-                im.endTransaction();
-                return;
-            }
-            PDPPolicy policy = group.getPolicy(policyId);
-            if (policy == null) {
-                String message = "Unknown policy: " + policyId;
-                LOGGER.warn(XACMLErrorConstants.ERROR_DATA_ISSUE + message);
-                loggingContext.transactionEnded();
-                PolicyLogger.audit("Transaction Failed - See Error.log");
-                setResponseError(response,HttpServletResponse.SC_NOT_FOUND, message);
-                im.endTransaction();
-                return;
-            }
-            try{
-                LOGGER.warn("PolicyDebugging: Policy Validity: " + policy.isValid() + "\n "
-                        + "Policy Name : " + policy.getName() + "\n Policy URI: " + policy.getLocation().toString());
-            } catch (PAPException| IOException e){
+                loggingContext.metricStarted();
+                doACGet(request, response, groupId, loggingContext);
+                loggingContext.metricEnded();
+                PolicyLogger.metrics("XACMLPapServlet doGet doACGet");
+            } catch (IOException e) {
                 LOGGER.error(e);
             }
-            try (InputStream is = new FileInputStream(((StdPDPGroup)group).getDirectory().toString()+File.separator+policyId); OutputStream os = response.getOutputStream()) {
-                // Send the policy back
-                IOUtils.copy(is, os);
+            loggingContext.transactionEnded();
+            PolicyLogger.audit("Transaction Ended Successfully");
+            im.endTransaction();
+            return;
+        }
+        // Get the PDP's ID
+        String id = this.getPDPID(request);
+        LOGGER.info("doGet from: " + id);
+        // Get the PDP Object
+        OnapPDP pdp = null;
+        try {
+            pdp = XACMLPapServlet.papEngine.getPDP(id);
+        } catch (PAPException e) {
+            LOGGER.error(e);
+        }
+        // Is it known?
+        if (pdp == null) {
+            // Check if request came from localhost
+            if (request.getRemoteHost().equals("localhost") ||
+                    request.getRemoteHost().equals(request.getLocalAddr())) {
+                // Return status information - basically all the groups
+                loggingContext.setServiceName("PAP.getGroups");
+                Set<OnapPDPGroup> groups = null;
+                try {
+                    groups = papEngine.getOnapPDPGroups();
+                } catch (PAPException e) {
+                    LOGGER.debug(e);
+                    PolicyLogger.error(MessageCodes.ERROR_UNKNOWN, e, "XACMLPapServlet", " GET exception");
+                    loggingContext.transactionEnded();
+                    PolicyLogger.audit("Transaction Failed - See Error.log");
+                    setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
+                    im.endTransaction();
+                    return;
+                }
+                // convert response object to JSON and include in the response
+                mapperWriteValue(new ObjectMapper(), response, groups);
+                response.setHeader("content-type", "application/json");
                 response.setStatus(HttpServletResponse.SC_OK);
                 loggingContext.transactionEnded();
-                auditLogger.info("Success");
                 PolicyLogger.audit("Transaction Ended Successfully");
-            } catch (IOException e) {
-                String message = "Failed to open policy id " + policyId;
-                LOGGER.debug(e);
-                PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " " + message);
-                loggingContext.transactionEnded();
-                PolicyLogger.audit("Transaction Failed - See Error.log");
-                setResponseError(response,HttpServletResponse.SC_NOT_FOUND, message);
+                im.endTransaction();
+                return;
             }
+            String message =
+                    "Unknown PDP: " + id + " from " + request.getRemoteHost() + " us: " + request.getLocalAddr();
+            PolicyLogger.error(MessageCodes.ERROR_PERMISSIONS + " " + message);
+            loggingContext.transactionEnded();
+            PolicyLogger.audit("Transaction Failed - See Error.log");
+            setResponseError(response, HttpServletResponse.SC_UNAUTHORIZED, message);
+            im.endTransaction();
+            return;
+        }
+        loggingContext.setServiceName("PAP.getPolicy");
+        // Get the PDP's Group
+        OnapPDPGroup group = null;
+        try {
+            group = XACMLPapServlet.papEngine.getPDPGroup((OnapPDP) pdp);
+        } catch (PAPException e) {
+            LOGGER.error(e);
+        }
+        if (group == null) {
+            String message = "No group associated with pdp " + pdp.getId();
+            LOGGER.warn(XACMLErrorConstants.ERROR_PERMISSIONS + message);
+            loggingContext.transactionEnded();
+            PolicyLogger.audit("Transaction Failed - See Error.log");
+            setResponseError(response, HttpServletResponse.SC_UNAUTHORIZED, message);
+            im.endTransaction();
+            return;
+        }
+        // Which policy do they want?
+        String policyId = request.getParameter("id");
+        if (policyId == null) {
+            String message = "Did not specify an id for the policy";
+            LOGGER.warn(XACMLErrorConstants.ERROR_DATA_ISSUE + message);
+            loggingContext.transactionEnded();
+            PolicyLogger.audit("Transaction Failed - See Error.log");
+            setResponseError(response, HttpServletResponse.SC_NOT_FOUND, message);
+            im.endTransaction();
+            return;
+        }
+        PDPPolicy policy = group.getPolicy(policyId);
+        if (policy == null) {
+            String message = "Unknown policy: " + policyId;
+            LOGGER.warn(XACMLErrorConstants.ERROR_DATA_ISSUE + message);
+            loggingContext.transactionEnded();
+            PolicyLogger.audit("Transaction Failed - See Error.log");
+            setResponseError(response, HttpServletResponse.SC_NOT_FOUND, message);
+            im.endTransaction();
+            return;
+        }
+        try {
+            LOGGER.warn("PolicyDebugging: Policy Validity: " + policy.isValid() + "\n "
+                    + "Policy Name : " + policy.getName() + "\n Policy URI: " + policy.getLocation().toString());
+        } catch (PAPException | IOException e) {
+            LOGGER.error(e);
+        }
+        try (InputStream is = new FileInputStream(
+                ((StdPDPGroup) group).getDirectory().toString() + File.separator + policyId);
+             OutputStream os = response.getOutputStream()) {
+            // Send the policy back
+            IOUtils.copy(is, os);
+            response.setStatus(HttpServletResponse.SC_OK);
+            loggingContext.transactionEnded();
+            auditLogger.info("Success");
+            PolicyLogger.audit("Transaction Ended Successfully");
+        } catch (IOException e) {
+            String message = "Failed to open policy id " + policyId;
+            LOGGER.debug(e);
+            PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " " + message);
+            loggingContext.transactionEnded();
+            PolicyLogger.audit("Transaction Failed - See Error.log");
+            setResponseError(response, HttpServletResponse.SC_NOT_FOUND, message);
+        }
         loggingContext.transactionEnded();
         PolicyLogger.audit("Transaction Ended");
         im.endTransaction();
@@ -1002,11 +1041,12 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
     /**
      * @see HttpServlet#doPut(HttpServletRequest request, HttpServletResponse response)
      */
-    protected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+    protected void doPut(HttpServletRequest request, HttpServletResponse response)
+            throws ServletException, IOException {
         ONAPLoggingContext loggingContext = ONAPLoggingUtils.getLoggingContextForRequest(request, baseLoggingContext);
         loggingContext.transactionStarted();
         loggingContext.setServiceName("PAP.put");
-        if ((loggingContext.getRequestID() == null) || (loggingContext.getRequestID() == "")){
+        if ((loggingContext.getRequestID() == null) || (Objects.equals(loggingContext.getRequestID(), ""))) {
             UUID requestID = UUID.randomUUID();
             loggingContext.setRequestID(requestID.toString());
             PolicyLogger.info("requestID not provided in call to XACMLPapSrvlet (doPut) so we generated one");
@@ -1022,10 +1062,10 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             String message = "PUT interface called for PAP " + papResourceName;
             if (e instanceof AdministrativeStateException) {
                 message += " but it has an Administrative state of "
-                    + im.getStateManager().getAdminState();
+                        + im.getStateManager().getAdminState();
             } else if (e instanceof StandbyStatusException) {
                 message += " but it has a Standby Status of "
-                    + im.getStateManager().getStandbyStatus();
+                        + im.getStateManager().getStandbyStatus();
             } else {
                 message += " but an exception occurred";
 
@@ -1036,7 +1076,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR + " " + message);
             loggingContext.transactionEnded();
             PolicyLogger.audit("Transaction Failed - See Error.log");
-            setResponseError(response,HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
+            setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
             return;
         }
 
@@ -1048,13 +1088,13 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
         String apiflag = request.getParameter("apiflag");
         //This would occur if a PolicyDBDao notification was received
         String policyDBDaoRequestUrl = request.getParameter("policydbdaourl");
-        if(policyDBDaoRequestUrl != null){
-            LOGGER.info("XACMLPapServlet: PolicyDBDao Notification received." );
+        if (policyDBDaoRequestUrl != null) {
+            LOGGER.info("XACMLPapServlet: PolicyDBDao Notification received.");
             String policyDBDaoRequestEntityId = request.getParameter("entityid");
             String policyDBDaoRequestEntityType = request.getParameter("entitytype");
             String policyDBDaoRequestExtraData = request.getParameter("extradata");
-            if(policyDBDaoRequestEntityId == null || policyDBDaoRequestEntityType == null){
-                setResponseError(response,400, "entityid or entitytype not supplied");
+            if (policyDBDaoRequestEntityId == null || policyDBDaoRequestEntityType == null) {
+                setResponseError(response, 400, "entityid or entitytype not supplied");
                 loggingContext.transactionEnded();
                 PolicyLogger.audit("Transaction Ended Successfully");
                 im.endTransaction();
@@ -1062,7 +1102,8 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             }
             loggingContext.metricStarted();
             LOGGER.info("XACMLPapServlet: Calling PolicyDBDao to handlIncomingHttpNotification");
-            policyDBDao.handleIncomingHttpNotification(policyDBDaoRequestUrl,policyDBDaoRequestEntityId,policyDBDaoRequestEntityType,policyDBDaoRequestExtraData,this);
+            policyDBDao.handleIncomingHttpNotification(policyDBDaoRequestUrl, policyDBDaoRequestEntityId,
+                    policyDBDaoRequestEntityType, policyDBDaoRequestExtraData, this);
             loggingContext.metricEnded();
             PolicyLogger.metrics("XACMLPapServlet doPut handle incoming http notification");
             response.setStatus(200);
@@ -1076,24 +1117,25 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
          */
         String importService = request.getParameter("importService");
         if (importService != null) {
-            if(authorizeRequest(request)){
+            if (authorizeRequest(request)) {
                 APIRequestHandler apiRequestHandler = new APIRequestHandler();
-                try{
+                try {
                     loggingContext.metricStarted();
                     apiRequestHandler.doPut(request, response, importService);
                     loggingContext.metricEnded();
                     PolicyLogger.metrics("XACMLPapServlet doPut apiRequestHandler doPut");
-                }catch(IOException e){
+                } catch (IOException e) {
                     LOGGER.error(e);
                 }
                 im.endTransaction();
                 return;
             } else {
-                String message = "PEP not Authorized for making this Request!! \n Contact Administrator for this Scope. ";
-                LOGGER.error(XACMLErrorConstants.ERROR_PERMISSIONS + message );
+                String message =
+                        "PEP not Authorized for making this Request!! \n Contact Administrator for this Scope. ";
+                LOGGER.error(XACMLErrorConstants.ERROR_PERMISSIONS + message);
                 loggingContext.transactionEnded();
                 PolicyLogger.audit("Transaction Failed - See Error.log");
-                setResponseError(response,HttpServletResponse.SC_FORBIDDEN, message);
+                setResponseError(response, HttpServletResponse.SC_FORBIDDEN, message);
                 return;
             }
         }
@@ -1104,7 +1146,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
         if (acURLString != null) {
             loggingContext.setServiceName("AC:PAP.register");
             // remember this Admin Console for future updates
-            if ( ! adminConsoleURLStringList.contains(acURLString)) {
+            if (!adminConsoleURLStringList.contains(acURLString)) {
                 adminConsoleURLStringList.add(acURLString);
             }
             if (LOGGER.isDebugEnabled()) {
@@ -1124,19 +1166,20 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
          */
         String groupId = request.getParameter("groupId");
         if (groupId != null) {
-            if(apiflag!=null){
-                if(!authorizeRequest(request)){
-                    String message = "PEP not Authorized for making this Request!! \n Contact Administrator for this Scope. ";
+            if (apiflag != null) {
+                if (!authorizeRequest(request)) {
+                    String message =
+                            "PEP not Authorized for making this Request!! \n Contact Administrator for this Scope. ";
                     PolicyLogger.error(MessageCodes.ERROR_PERMISSIONS + " " + message);
                     loggingContext.transactionEnded();
                     PolicyLogger.audit("Transaction Failed - See Error.log");
-                    setResponseError(response,HttpServletResponse.SC_FORBIDDEN, message);
+                    setResponseError(response, HttpServletResponse.SC_FORBIDDEN, message);
                     return;
                 }
-                if(apiflag.equalsIgnoreCase("addPolicyToGroup")){
-                    try{
+                if (apiflag.equalsIgnoreCase("addPolicyToGroup")) {
+                    try {
                         updateGroupsFromAPI(request, response, groupId, loggingContext);
-                    }catch(IOException e){
+                    } catch (IOException e) {
                         LOGGER.error(e);
                     }
                     loggingContext.transactionEnded();
@@ -1162,10 +1205,10 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
         //
         // Request is for policy validation and creation
         //
-        if (apiflag != null && apiflag.equalsIgnoreCase("admin")){
+        if (apiflag != null && apiflag.equalsIgnoreCase("admin")) {
             // this request is from the Admin Console
             SavePolicyHandler savePolicyHandler = SavePolicyHandler.getInstance();
-            try{
+            try {
                 loggingContext.metricStarted();
                 savePolicyHandler.doPolicyAPIPut(request, response);
                 loggingContext.metricEnded();
@@ -1179,9 +1222,9 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             return;
         } else if (apiflag != null && "api".equalsIgnoreCase(apiflag)) {
             // this request is from the Policy Creation API
-            if(authorizeRequest(request)){
+            if (authorizeRequest(request)) {
                 APIRequestHandler apiRequestHandler = new APIRequestHandler();
-                try{
+                try {
                     loggingContext.metricStarted();
                     apiRequestHandler.doPut(request, response, request.getHeader("ClientScope"));
                     loggingContext.metricEnded();
@@ -1198,7 +1241,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                 PolicyLogger.error(MessageCodes.ERROR_PERMISSIONS + " " + message);
                 loggingContext.transactionEnded();
                 PolicyLogger.audit("Transaction Failed - See Error.log");
-                setResponseError(response,HttpServletResponse.SC_FORBIDDEN, message);
+                setResponseError(response, HttpServletResponse.SC_FORBIDDEN, message);
                 im.endTransaction();
                 return;
             }
@@ -1208,7 +1251,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
         LOGGER.error(XACMLErrorConstants.ERROR_DATA_ISSUE + "Request does not have groupId or apiflag");
         loggingContext.transactionEnded();
         PolicyLogger.audit("Transaction Failed - See Error.log");
-        setResponseError(response,HttpServletResponse.SC_BAD_REQUEST, "Request does not have groupId or apiflag");
+        setResponseError(response, HttpServletResponse.SC_BAD_REQUEST, "Request does not have groupId or apiflag");
         loggingContext.transactionEnded();
         PolicyLogger.audit("Transaction Failed - See error.log");
         im.endTransaction();
@@ -1217,11 +1260,12 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
     /**
      * @see HttpServlet#doDelete(HttpServletRequest request, HttpServletResponse response)
      */
-    protected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+    protected void doDelete(HttpServletRequest request, HttpServletResponse response)
+            throws ServletException, IOException {
         ONAPLoggingContext loggingContext = ONAPLoggingUtils.getLoggingContextForRequest(request, baseLoggingContext);
         loggingContext.transactionStarted();
         loggingContext.setServiceName("PAP.delete");
-        if ((loggingContext.getRequestID() == null) || (loggingContext.getRequestID() == "")){
+        if ((loggingContext.getRequestID() == null) || (Objects.equals(loggingContext.getRequestID(), ""))) {
             UUID requestID = UUID.randomUUID();
             loggingContext.setRequestID(requestID.toString());
             PolicyLogger.info("requestID not provided in call to XACMLPapSrvlet (doDelete) so we generated one");
@@ -1233,7 +1277,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             im.startTransaction();
             loggingContext.metricEnded();
             PolicyLogger.metrics("XACMLPapServlet doDelete im startTransaction");
-        } catch (AdministrativeStateException ae){
+        } catch (AdministrativeStateException ae) {
             String message = "DELETE interface called for PAP " + papResourceName + " but it has an Administrative"
                     + " state of " + im.getStateManager().getAdminState()
                     + "\n Exception Message: " + ae.getMessage();
@@ -1241,9 +1285,9 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR + " " + message);
             loggingContext.transactionEnded();
             PolicyLogger.audit("Transaction Failed - See Error.log");
-            setResponseError(response,HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
+            setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
             return;
-        }catch (StandbyStatusException se) {
+        } catch (StandbyStatusException se) {
             String message = "PUT interface called for PAP " + papResourceName + " but it has a Standby Status"
                     + " of " + im.getStateManager().getStandbyStatus()
                     + "\n Exception Message: " + se.getMessage();
@@ -1251,7 +1295,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR + " " + message);
             loggingContext.transactionEnded();
             PolicyLogger.audit("Transaction Failed - See Error.log");
-            setResponseError(response,HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
+            setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
             return;
         } catch (IntegrityMonitorException e) {
             String message = "PUT interface called for PAP " + papResourceName + " but an exception occurred"
@@ -1260,7 +1304,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR + " " + message);
             loggingContext.transactionEnded();
             PolicyLogger.audit("Transaction Failed - See Error.log");
-            setResponseError(response,HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
+            setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
             return;
         }
         loggingContext.metricStarted();
@@ -1271,13 +1315,14 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
         String apiflag = request.getParameter("apiflag");
         if (groupId != null) {
             // Is this from the Admin Console or API?
-            if(apiflag!=null) {
-                if(!authorizeRequest(request)){
-                    String message = "PEP not Authorized for making this Request!! \n Contact Administrator for this Scope. ";
+            if (apiflag != null) {
+                if (!authorizeRequest(request)) {
+                    String message =
+                            "PEP not Authorized for making this Request!! \n Contact Administrator for this Scope. ";
                     PolicyLogger.error(MessageCodes.ERROR_PERMISSIONS + " " + message);
                     loggingContext.transactionEnded();
                     PolicyLogger.audit("Transaction Failed - See Error.log");
-                    setResponseError(response,HttpServletResponse.SC_FORBIDDEN, message);
+                    setResponseError(response, HttpServletResponse.SC_FORBIDDEN, message);
                     return;
                 }
                 APIRequestHandler apiRequestHandler = new APIRequestHandler();
@@ -1287,15 +1332,15 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                     loggingContext.metricEnded();
                     PolicyLogger.metrics("XACMLPapServlet doDelete apiRequestHandler doDelete");
                 } catch (Exception e) {
-                    LOGGER.error("Exception Occured"+e);
+                    LOGGER.error("Exception Occured" + e);
                 }
-                if(apiRequestHandler.getNewGroup()!=null){
+                if (apiRequestHandler.getNewGroup() != null) {
                     groupChanged(apiRequestHandler.getNewGroup(), loggingContext);
                 }
                 return;
             }
             // this is from the Admin Console, so handle separately
-            try{
+            try {
                 loggingContext.metricStarted();
                 doACDelete(request, response, groupId, loggingContext);
                 loggingContext.metricEnded();
@@ -1312,7 +1357,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
         PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " Request does not have groupId");
         loggingContext.transactionEnded();
         PolicyLogger.audit("Transaction Failed - See Error.log");
-        setResponseError(response,HttpServletResponse.SC_BAD_REQUEST, "Request does not have groupId");
+        setResponseError(response, HttpServletResponse.SC_BAD_REQUEST, "Request does not have groupId");
         im.endTransaction();
     }
 
@@ -1320,7 +1365,8 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
         String localRootPolicies = policies.getProperty(XACMLProperties.PROP_ROOTPOLICIES);
         String localReferencedPolicies = policies.getProperty(XACMLProperties.PROP_REFERENCEDPOLICIES);
         if (localRootPolicies == null || localReferencedPolicies == null) {
-            LOGGER.warn(XACMLErrorConstants.ERROR_DATA_ISSUE + "Missing property on PAP server: RootPolicies="+localRootPolicies+"  ReferencedPolicies="+localReferencedPolicies);
+            LOGGER.warn(XACMLErrorConstants.ERROR_DATA_ISSUE + "Missing property on PAP server: RootPolicies=" +
+                    localRootPolicies + "  ReferencedPolicies=" + localReferencedPolicies);
             return false;
         }
         // Compare the policies and pipconfig properties to the pdpProperties
@@ -1373,7 +1419,8 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
         String pdpJMMX = request.getHeader(XACMLRestProperties.PROP_PDP_HTTP_HEADER_JMX_PORT);
         if (pdpJMMX == null || pdpJMMX.isEmpty()) {
             // Should send back its port for identification
-            LOGGER.warn(XACMLErrorConstants.ERROR_DATA_ISSUE + "PDP did not send custom header for JMX Port so the value of 0 is assigned");
+            LOGGER.warn(XACMLErrorConstants.ERROR_DATA_ISSUE +
+                    "PDP did not send custom header for JMX Port so the value of 0 is assigned");
             return null;
         }
         return pdpJMMX;
@@ -1389,7 +1436,8 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
      * @throws ServletException
      * @throws IOException
      */
-    public void updateGroupsFromAPI(HttpServletRequest request, HttpServletResponse response, String groupId, ONAPLoggingContext loggingContext) throws IOException {
+    public void updateGroupsFromAPI(HttpServletRequest request, HttpServletResponse response, String groupId,
+                                    ONAPLoggingContext loggingContext) throws IOException {
         PolicyDBDaoTransaction acPutTransaction = policyDBDao.getNewTransaction();
         PolicyLogger.audit("PolicyDBDaoTransaction started for updateGroupsFromAPI");
         try {
@@ -1400,7 +1448,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             String json = null;
             java.util.Scanner scanner = new java.util.Scanner(request.getInputStream());
             scanner.useDelimiter("\\A");
-            json =  scanner.hasNext() ? scanner.next() : "";
+            json = scanner.hasNext() ? scanner.next() : "";
             scanner.close();
 
             PolicyLogger.info("pushPolicy request from API: " + json);
@@ -1413,8 +1461,9 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             currentPoliciesInGroup = group.getPolicies();
             //If the selected policy is in the group we must remove the old version of it
             LOGGER.info("Removing old version of the policy");
-            for(PDPPolicy existingPolicy : currentPoliciesInGroup) {
-                if (existingPolicy.getName().equals(policy.getName()) && !existingPolicy.getId().equals(policy.getId())){
+            for (PDPPolicy existingPolicy : currentPoliciesInGroup) {
+                if (existingPolicy.getName().equals(policy.getName()) &&
+                        !existingPolicy.getId().equals(policy.getId())) {
                     group.removePolicy(existingPolicy);
                     LOGGER.info("Removing policy: " + existingPolicy);
                     break;
@@ -1423,23 +1472,24 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
 
             // Assume that this is an update of an existing PDP Group
             loggingContext.setServiceName("PolicyEngineAPI:PAP.updateGroup");
-            try{
+            try {
                 acPutTransaction.updateGroup(group, "XACMLPapServlet.doACPut");
-            } catch(Exception e){
-                PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet", " Error while updating group in the database: "
-                        +"group="+group.getId());
+            } catch (Exception e) {
+                PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet",
+                        " Error while updating group in the database: "
+                                + "group=" + group.getId());
                 throw new PAPException(e.getMessage());
             }
 
             LOGGER.info("Calling updatGroup() with new group");
             papEngine.updateGroup(group);
             String policyId = "empty";
-            if(policy !=null && policy.getId() != null){
+            if (policy != null && policy.getId() != null) {
                 policyId = policy.getId();
             }
-            if(!policyId.matches(REGEX) ){
+            if (!policyId.matches(REGEX)) {
                 response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-                response.addHeader("error",ADD_GROUP_ERROR);
+                response.addHeader("error", ADD_GROUP_ERROR);
                 response.addHeader("message", "Policy Id is not valid");
                 return;
             }
@@ -1464,7 +1514,8 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             loggingContext.transactionEnded();
             LOGGER.info("Success");
 
-            if (policy != null && ((policy.getId().contains("Config_MS_")) || (policy.getId().contains("BRMS_Param")))) {
+            if (policy != null &&
+                    ((policy.getId().contains("Config_MS_")) || (policy.getId().contains("BRMS_Param")))) {
                 PushPolicyHandler pushPolicyHandler = PushPolicyHandler.getInstance();
                 if (pushPolicyHandler.preSafetyCheck(policy, configHome)) {
                     LOGGER.debug("Precheck Successful.");
@@ -1472,18 +1523,17 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             }
 
             PolicyLogger.audit("Transaction Ended Successfully");
-            return;
         } catch (PAPException e) {
             acPutTransaction.rollbackTransaction();
             PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet", " API PUT exception");
             loggingContext.transactionEnded();
             PolicyLogger.audit("Transaction Failed - See Error.log");
-            String message = XACMLErrorConstants.ERROR_PROCESS_FLOW + "Exception in request to update group from API - See Error.log on on the PAP.";
+            String message = XACMLErrorConstants.ERROR_PROCESS_FLOW +
+                    "Exception in request to update group from API - See Error.log on on the PAP.";
             setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
             response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-            response.addHeader("error",ADD_GROUP_ERROR);
+            response.addHeader("error", ADD_GROUP_ERROR);
             response.addHeader("message", message);
-            return;
         }
     }
 
@@ -1497,18 +1547,20 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
      * @throws ServletException
      * @throws IOException
      */
-    private void doACPost(HttpServletRequest request, HttpServletResponse response, String groupId, ONAPLoggingContext loggingContext) throws ServletException, IOException {
+    private void doACPost(HttpServletRequest request, HttpServletResponse response, String groupId,
+                          ONAPLoggingContext loggingContext) throws ServletException, IOException {
         PolicyDBDaoTransaction doACPostTransaction = null;
         try {
             String groupName = request.getParameter("groupName");
             String groupDescription = request.getParameter("groupDescription");
             String apiflag = request.getParameter("apiflag");
             if (groupName != null && groupDescription != null) {
-                // Args:             group=<groupId> groupName=<name> groupDescription=<description>            <= create a new group
+                // Args:             group=<groupId> groupName=<name> groupDescription=<description>            <= create
+                // a new group
                 loggingContext.setServiceName("AC:PAP.createGroup");
                 String unescapedName = null;
                 String unescapedDescription = null;
-                try{
+                try {
                     unescapedName = URLDecoder.decode(groupName, "UTF-8");
                     unescapedDescription = URLDecoder.decode(groupDescription, "UTF-8");
                 } catch (UnsupportedEncodingException e) {
@@ -1516,7 +1568,8 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                 }
                 PolicyDBDaoTransaction newGroupTransaction = policyDBDao.getNewTransaction();
                 try {
-                    newGroupTransaction.createGroup(PolicyDBDao.createNewPDPGroupId(unescapedName), unescapedName, unescapedDescription,"XACMLPapServlet.doACPost");
+                    newGroupTransaction.createGroup(PolicyDBDao.createNewPDPGroupId(unescapedName), unescapedName,
+                            unescapedDescription, "XACMLPapServlet.doACPost");
                     papEngine.newGroup(unescapedName, unescapedDescription);
                     loggingContext.metricStarted();
                     newGroupTransaction.commitTransaction();
@@ -1524,10 +1577,12 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                     PolicyLogger.metrics("XACMLPapServlet doACPost commitTransaction");
                 } catch (Exception e) {
                     newGroupTransaction.rollbackTransaction();
-                    PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet", " Unable to create new group");
+                    PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet",
+                            " Unable to create new group");
                     loggingContext.transactionEnded();
                     PolicyLogger.audit("Transaction Failed - See Error.log");
-                    setResponseError(response,HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Unable to create new group '" + groupId + "'");
+                    setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
+                            "Unable to create new group '" + groupId + "'");
                     return;
                 }
                 response.setStatus(HttpServletResponse.SC_NO_CONTENT);
@@ -1548,30 +1603,30 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             }
             // for all remaining POST operations the group must exist before the operation can be done
             OnapPDPGroup group = null;
-            try{
+            try {
                 group = papEngine.getGroup(groupId);
-            } catch (PAPException e){
+            } catch (PAPException e) {
                 LOGGER.error(e);
             }
             if (group == null) {
                 String message = "Unknown groupId '" + groupId + "'";
                 //for fixing Header Manipulation of Fortify issue
-                if(!message.matches(REGEX)){
+                if (!message.matches(REGEX)) {
                     response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-                    response.addHeader("error",ADD_GROUP_ERROR);
+                    response.addHeader("error", ADD_GROUP_ERROR);
                     response.addHeader("message", "GroupId Id is not valid");
                     return;
                 }
                 PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " " + message);
                 loggingContext.transactionEnded();
                 PolicyLogger.audit("Transaction Failed - See Error.log");
-                if (apiflag!=null){
+                if (apiflag != null) {
                     response.addHeader("error", "unknownGroupId");
                     response.addHeader("operation", "push");
                     response.addHeader("message", message);
                     response.setStatus(HttpServletResponse.SC_NOT_FOUND);
                 } else {
-                    setResponseError(response,HttpServletResponse.SC_NOT_FOUND, message);
+                    setResponseError(response, HttpServletResponse.SC_NOT_FOUND, message);
                 }
                 return;
             }
@@ -1579,7 +1634,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             // If the request contains a policyId then we know we are pushing the policy to PDP
             if (request.getParameter("policyId") != null) {
 
-                if(apiflag!=null){
+                if (apiflag != null) {
                     loggingContext.setServiceName("PolicyEngineAPI:PAP.postPolicy");
                     LOGGER.info("PushPolicy Request From The API");
                 } else {
@@ -1593,7 +1648,8 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                 try {
                     //Copying the policy to the file system and updating groups in database
                     LOGGER.info("PapServlet: calling PolicyDBDao.addPolicyToGroup()");
-                    updatedGroup = addPolicyToGroupTransaction.addPolicyToGroup(group.getId(), policyId,"XACMLPapServlet.doACPost");
+                    updatedGroup = addPolicyToGroupTransaction
+                            .addPolicyToGroup(group.getId(), policyId, "XACMLPapServlet.doACPost");
                     loggingContext.metricStarted();
                     addPolicyToGroupTransaction.commitTransaction();
                     loggingContext.metricEnded();
@@ -1602,30 +1658,31 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
 
                 } catch (Exception e) {
                     addPolicyToGroupTransaction.rollbackTransaction();
-                    String message = "Policy '" + policyId + "' not copied to group '" + groupId +"': " + e;
+                    String message = "Policy '" + policyId + "' not copied to group '" + groupId + "': " + e;
                     //for fixing Header Manipulation of Fortify issue
-                    if(!message.matches(REGEX)){
+                    if (!message.matches(REGEX)) {
                         response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-                        response.addHeader("error",ADD_GROUP_ERROR);
+                        response.addHeader("error", ADD_GROUP_ERROR);
                         response.addHeader("message", "Policy Id is not valid");
                         return;
                     }
                     PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW + " " + message);
                     loggingContext.transactionEnded();
                     PolicyLogger.audit("Transaction Failed - See Error.log");
-                    if (apiflag!=null){
+                    if (apiflag != null) {
                         response.addHeader("error", "policyCopyError");
                         response.addHeader("message", message);
                         response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
                     } else {
-                        setResponseError(response,HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
+                        setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
                     }
                     return;
                 }
 
-                if(apiflag != null){
+                if (apiflag != null) {
                     /*
-                     * If request comes from the API we need to run the PolicyDBDao updateGroup() to notify other paps of the change.
+                     * If request comes from the API we need to run the PolicyDBDao updateGroup() to notify other
+                     * paps of the change.
                      * The GUI does this from the POLICY-SDK-APP code.
                      */
 
@@ -1635,7 +1692,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                         // get the request content into a String and read the inputStream into a buffer
                         java.util.Scanner scanner = new java.util.Scanner(request.getInputStream());
                         scanner.useDelimiter("\\A");
-                        String json =  scanner.hasNext() ? scanner.next() : "";
+                        String json = scanner.hasNext() ? scanner.next() : "";
                         scanner.close();
 
                         // convert Object sent as JSON into local object
@@ -1647,11 +1704,12 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
 
                         // Assume that this is an update of an existing PDP Group
                         loggingContext.setServiceName("PolicyEngineAPI:PAP.updateGroup");
-                        try{
+                        try {
                             acPutTransaction.updateGroup(updatedGroup, "XACMLPapServlet.doACPut");
-                        } catch(Exception e){
-                            PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet", " Error occurred when notifying PAPs of a group change: "
-                                    + e);
+                        } catch (Exception e) {
+                            PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet",
+                                    " Error occurred when notifying PAPs of a group change: "
+                                            + e);
                             throw new PAPException(e.getMessage());
                         }
 
@@ -1672,11 +1730,12 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                         PolicyLogger.metrics("XACMLPapServlet updateGroupsFromAPI notifyAC");
 
                         // Group changed to send notification to PDPs, which might include changing the policies
-                        groupChanged(updatedGroup,loggingContext);
+                        groupChanged(updatedGroup, loggingContext);
                         loggingContext.transactionEnded();
                         LOGGER.info("Success");
 
-                        if (policy != null && ((policy.getName().contains("Config_MS_")) || (policy.getId().contains("BRMS_Param")))) {
+                        if (policy != null && ((policy.getName().contains("Config_MS_")) ||
+                                (policy.getId().contains("BRMS_Param")))) {
                             PushPolicyHandler pushPolicyHandler = PushPolicyHandler.getInstance();
                             if (pushPolicyHandler.preSafetyCheck(policy, configHome)) {
                                 LOGGER.debug("Precheck Successful.");
@@ -1691,11 +1750,12 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                         PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet", " API PUT exception");
                         loggingContext.transactionEnded();
                         PolicyLogger.audit("Transaction Failed - See Error.log");
-                        String message = XACMLErrorConstants.ERROR_PROCESS_FLOW + "Exception occurred when updating the group from API.";
+                        String message = XACMLErrorConstants.ERROR_PROCESS_FLOW +
+                                "Exception occurred when updating the group from API.";
                         LOGGER.error(message);
                         setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
                         response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-                        response.addHeader("error",ADD_GROUP_ERROR);
+                        response.addHeader("error", ADD_GROUP_ERROR);
                         response.addHeader("message", message);
                         return;
                     }
@@ -1712,13 +1772,14 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                 auditLogger.info("Success");
                 LOGGER.info("Transaction Ended Successfully");
 
-                return;
             } else if (request.getParameter("default") != null) {
                 // Args:       group=<groupId> default=true               <= make default
                 // change the current default group to be the one identified in the request.
                 loggingContext.setServiceName("AC:PAP.setDefaultGroup");
-                // This is a POST operation rather than a PUT "update group" because of the side-effect that the current default group is also changed.
-                // It should never be the case that multiple groups are currently marked as the default, but protect against that anyway.
+                // This is a POST operation rather than a PUT "update group" because of the side-effect that the
+                // current default group is also changed.
+                // It should never be the case that multiple groups are currently marked as the default, but protect
+                // against that anyway.
                 PolicyDBDaoTransaction setDefaultGroupTransaction = policyDBDao.getNewTransaction();
                 try {
                     setDefaultGroupTransaction.changeDefaultGroup(group, "XACMLPapServlet.doACPost");
@@ -1732,7 +1793,8 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                     PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet", " Unable to set group");
                     loggingContext.transactionEnded();
                     PolicyLogger.audit("Transaction Failed - See Error.log");
-                    setResponseError(response,HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Unable to set group '" + groupId + "' to default");
+                    setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
+                            "Unable to set group '" + groupId + "' to default");
                     return;
                 }
                 response.setStatus(HttpServletResponse.SC_NO_CONTENT);
@@ -1740,8 +1802,10 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                     LOGGER.debug("Group '" + groupId + "' set to be default");
                 }
                 // Notify the Admin Consoles that something changed
-                // For now the AC cannot handle anything more detailed than the whole set of PDPGroups, so just notify on that
-                //TODO - Future: FIGURE OUT WHAT LEVEL TO NOTIFY: 2 groups or entire set - currently notify AC to update whole configuration of all groups
+                // For now the AC cannot handle anything more detailed than the whole set of PDPGroups, so just
+                // notify on that
+                //TODO - Future: FIGURE OUT WHAT LEVEL TO NOTIFY: 2 groups or entire set - currently notify AC to
+                // update whole configuration of all groups
                 loggingContext.metricStarted();
                 notifyAC();
                 // This does not affect any PDPs in the existing groups, so no need to notify them of this change
@@ -1750,7 +1814,6 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                 loggingContext.transactionEnded();
                 auditLogger.info("Success");
                 LOGGER.info("Transaction Ended Successfully");
-                return;
             } else if (request.getParameter("pdpId") != null) {
                 doACPostTransaction = policyDBDao.getNewTransaction();
                 // Args:       group=<groupId> pdpId=<pdpId>               <= move PDP to group
@@ -1758,25 +1821,26 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                 String pdpId = request.getParameter("pdpId");
                 OnapPDP pdp = papEngine.getPDP(pdpId);
                 OnapPDPGroup originalGroup = papEngine.getPDPGroup((OnapPDP) pdp);
-                try{
+                try {
                     doACPostTransaction.movePdp(pdp, group, "XACMLPapServlet.doACPost");
-                }catch(Exception e){
+                } catch (Exception e) {
                     doACPostTransaction.rollbackTransaction();
                     PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet",
                             " Error while moving pdp in the database: "
-                                    +"pdp="+pdp.getId()+",to group="+group.getId());
+                                    + "pdp=" + pdp.getId() + ",to group=" + group.getId());
                     throw new PAPException(e.getMessage());
                 }
                 papEngine.movePDP((OnapPDP) pdp, group);
                 response.setStatus(HttpServletResponse.SC_NO_CONTENT);
                 if (LOGGER.isDebugEnabled()) {
-                    LOGGER.debug("PDP '" + pdp.getId() +"' moved to group '" + group.getId() + "' set to be default");
+                    LOGGER.debug("PDP '" + pdp.getId() + "' moved to group '" + group.getId() + "' set to be default");
                 }
                 // update the status of both the original group and the new one
-                ((StdPDPGroup)originalGroup).resetStatus();
-                ((StdPDPGroup)group).resetStatus();
+                ((StdPDPGroup) originalGroup).resetStatus();
+                ((StdPDPGroup) group).resetStatus();
                 // Notify the Admin Consoles that something changed
-                // For now the AC cannot handle anything more detailed than the whole set of PDPGroups, so just notify on that
+                // For now the AC cannot handle anything more detailed than the whole set of PDPGroups, so just
+                // notify on that
                 loggingContext.metricStarted();
                 notifyAC();
                 loggingContext.metricEnded();
@@ -1790,14 +1854,12 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                 loggingContext.transactionEnded();
                 auditLogger.info("Success");
                 PolicyLogger.audit("Transaction Ended Successfully");
-                return;
             }
         } catch (PAPException e) {
             PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet", " AC POST exception");
             loggingContext.transactionEnded();
             PolicyLogger.audit("Transaction Failed - See Error.log");
-            setResponseError(response,HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
-            return;
+            setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
         }
     }
 
@@ -1811,7 +1873,8 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
      * @throws ServletException
      * @throws IOException
      */
-    private void doACGet(HttpServletRequest request, HttpServletResponse response, String groupId, ONAPLoggingContext loggingContext) throws IOException {
+    private void doACGet(HttpServletRequest request, HttpServletResponse response, String groupId,
+                         ONAPLoggingContext loggingContext) throws IOException {
         try {
             String parameterDefault = request.getParameter("default");
             String pdpId = request.getParameter("pdpId");
@@ -1823,15 +1886,15 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                     loggingContext.setServiceName("AC:PAP.getDefaultGroup");
                     OnapPDPGroup group = papEngine.getDefaultGroup();
                     // convert response object to JSON and include in the response
-                    mapperWriteValue(new ObjectMapper(), response,  group);
+                    mapperWriteValue(new ObjectMapper(), response, group);
                     if (LOGGER.isDebugEnabled()) {
                         LOGGER.debug("GET Default group req from '" + request.getRequestURL() + "'");
                     }
                     response.setStatus(HttpServletResponse.SC_OK);
                     response.setHeader("content-type", "application/json");
-                    try{
+                    try {
                         response.getOutputStream().close();
-                    } catch (IOException e){
+                    } catch (IOException e) {
                         LOGGER.error(e);
                     }
                     loggingContext.transactionEnded();
@@ -1844,21 +1907,21 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                         // Request is for the (unspecified) group containing a given PDP
                         loggingContext.setServiceName("AC:PAP.getPDP");
                         OnapPDP pdp = null;
-                        try{
+                        try {
                             pdp = papEngine.getPDP(pdpId);
-                        }catch(PAPException e){
+                        } catch (PAPException e) {
                             LOGGER.error(e);
                         }
                         // convert response object to JSON and include in the response
-                        mapperWriteValue(new ObjectMapper(), response,  pdp);
+                        mapperWriteValue(new ObjectMapper(), response, pdp);
                         if (LOGGER.isDebugEnabled()) {
                             LOGGER.debug("GET pdp '" + pdpId + "' req from '" + request.getRequestURL() + "'");
                         }
                         response.setStatus(HttpServletResponse.SC_OK);
                         response.setHeader("content-type", "application/json");
-                        try{
+                        try {
                             response.getOutputStream().close();
-                        } catch (IOException e){
+                        } catch (IOException e) {
                             LOGGER.error(e);
                         }
                         loggingContext.transactionEnded();
@@ -1868,23 +1931,23 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                     } else {
                         // Request is for the group containing a given PDP
                         loggingContext.setServiceName("AC:PAP.getGroupForPDP");
-                        OnapPDPGroup group =null;
-                        try{
+                        OnapPDPGroup group = null;
+                        try {
                             OnapPDP pdp = papEngine.getPDP(pdpId);
                             group = papEngine.getPDPGroup((OnapPDP) pdp);
-                        }catch(PAPException e){
+                        } catch (PAPException e) {
                             LOGGER.error(e);
                         }
                         // convert response object to JSON and include in the response
-                        mapperWriteValue(new ObjectMapper(), response,  group);
+                        mapperWriteValue(new ObjectMapper(), response, group);
                         if (LOGGER.isDebugEnabled()) {
                             LOGGER.debug("GET PDP '" + pdpId + "' Group req from '" + request.getRequestURL() + "'");
                         }
                         response.setStatus(HttpServletResponse.SC_OK);
                         response.setHeader("content-type", "application/json");
-                        try{
+                        try {
                             response.getOutputStream().close();
-                        } catch (IOException e){
+                        } catch (IOException e) {
                             LOGGER.error(e);
                         }
                         loggingContext.transactionEnded();
@@ -1898,23 +1961,23 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                     Set<OnapPDPGroup> groups = null;
                     try {
                         groups = papEngine.getOnapPDPGroups();
-                    } catch(PAPException e) {
+                    } catch (PAPException e) {
                         PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet", " AC Get exception");
                         loggingContext.transactionEnded();
                         PolicyLogger.audit("Transaction Failed - See Error.log");
-                        setResponseError(response,HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
+                        setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
                         return;
                     }
                     // convert response object to JSON and include in the response
-                    mapperWriteValue(new ObjectMapper(), response,  groups);
+                    mapperWriteValue(new ObjectMapper(), response, groups);
                     if (LOGGER.isDebugEnabled()) {
                         LOGGER.debug("GET All groups req");
                     }
                     response.setStatus(HttpServletResponse.SC_OK);
                     response.setHeader("content-type", "application/json");
-                    try{
+                    try {
                         response.getOutputStream().close();
-                    } catch (IOException e){
+                    } catch (IOException e) {
                         LOGGER.error(e);
                     }
                     loggingContext.transactionEnded();
@@ -1925,24 +1988,24 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             }
             // for all other GET operations the group must exist before the operation can be done
             OnapPDPGroup group = null;
-            try{
+            try {
                 group = papEngine.getGroup(groupId);
-            } catch(PAPException e){
+            } catch (PAPException e) {
                 LOGGER.error(e);
             }
             if (group == null) {
                 String message = "Unknown groupId '" + groupId + "'";
                 //for fixing Header Manipulation of Fortify issue
-                if(!message.matches(REGEX)){
+                if (!message.matches(REGEX)) {
                     response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-                    response.addHeader("error",ADD_GROUP_ERROR);
+                    response.addHeader("error", ADD_GROUP_ERROR);
                     response.addHeader("message", "Group Id is not valid");
                     return;
                 }
                 PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " " + message);
                 loggingContext.transactionEnded();
                 PolicyLogger.audit("Transaction Failed - See Error.log");
-                setResponseError(response,HttpServletResponse.SC_NOT_FOUND, message);
+                setResponseError(response, HttpServletResponse.SC_NOT_FOUND, message);
                 return;
             }
             // Figure out which request this is based on the parameters
@@ -1954,20 +2017,20 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                 PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " GET Policy not implemented");
                 loggingContext.transactionEnded();
                 PolicyLogger.audit("Transaction Failed - See Error.log");
-                setResponseError(response,HttpServletResponse.SC_BAD_REQUEST, "GET Policy not implemented");
+                setResponseError(response, HttpServletResponse.SC_BAD_REQUEST, "GET Policy not implemented");
             } else {
                 // No other parameters, so return the identified Group
                 loggingContext.setServiceName("AC:PAP.getGroup");
                 // convert response object to JSON and include in the response
-                mapperWriteValue(new ObjectMapper(), response,  group);
+                mapperWriteValue(new ObjectMapper(), response, group);
                 if (LOGGER.isDebugEnabled()) {
                     LOGGER.debug("GET group '" + group.getId() + "' req from '" + request.getRequestURL() + "'");
                 }
                 response.setStatus(HttpServletResponse.SC_OK);
                 response.setHeader("content-type", "application/json");
-                try{
+                try {
                     response.getOutputStream().close();
-                } catch (IOException e){
+                } catch (IOException e) {
                     LOGGER.error(e);
                 }
                 loggingContext.transactionEnded();
@@ -1976,7 +2039,8 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                 return;
             }
             // Currently there are no other GET calls from the AC.
-            // The AC uses the "GET All Groups" operation to fill its local cache and uses that cache for all other GETs without calling the PAP.
+            // The AC uses the "GET All Groups" operation to fill its local cache and uses that cache for all other
+            // GETs without calling the PAP.
             // Other GETs that could be called:
             //                         Specific Group  (groupId=<groupId>)
             //                         A Policy                (groupId=<groupId> policyId=<policyId>)
@@ -1984,13 +2048,12 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " UNIMPLEMENTED ");
             loggingContext.transactionEnded();
             PolicyLogger.audit("Transaction Failed - See Error.log");
-            setResponseError(response,HttpServletResponse.SC_BAD_REQUEST, "UNIMPLEMENTED");
+            setResponseError(response, HttpServletResponse.SC_BAD_REQUEST, "UNIMPLEMENTED");
         } catch (PAPException e) {
             PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet", " AC Get exception");
             loggingContext.transactionEnded();
             PolicyLogger.audit("Transaction Failed - See Error.log");
-            setResponseError(response,HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
-            return;
+            setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
         }
     }
 
@@ -2004,7 +2067,8 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
      * @throws ServletException
      * @throws IOException
      */
-    private void doACPut(HttpServletRequest request, HttpServletResponse response, String groupId, ONAPLoggingContext loggingContext) throws IOException {
+    private void doACPut(HttpServletRequest request, HttpServletResponse response, String groupId,
+                         ONAPLoggingContext loggingContext) throws IOException {
         PolicyDBDaoTransaction acPutTransaction = policyDBDao.getNewTransaction();
         try {
             // for PUT operations the group may or may not need to exist before the operation can be done
@@ -2016,19 +2080,20 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                 PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " " + message);
                 loggingContext.transactionEnded();
                 PolicyLogger.audit("Transaction Failed - See Error.log");
-                setResponseError(response,HttpServletResponse.SC_NOT_FOUND, message);
+                setResponseError(response, HttpServletResponse.SC_NOT_FOUND, message);
                 return;
             }
             if (request.getParameter("policy") != null) {
-                //        group=<groupId> policy=<policyId> contents=policy file               <= Create new policy file in group dir, or replace it if it already exists (do not touch properties)
+                //        group=<groupId> policy=<policyId> contents=policy file               <= Create new policy
+                // file in group dir, or replace it if it already exists (do not touch properties)
                 loggingContext.setServiceName("AC:PAP.putPolicy");
-                PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " PARTIALLY IMPLEMENTED!!!  ACTUAL CHANGES SHOULD BE MADE BY PAP SERVLET!!! ");
+                PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE +
+                        " PARTIALLY IMPLEMENTED!!!  ACTUAL CHANGES SHOULD BE MADE BY PAP SERVLET!!! ");
                 response.setStatus(HttpServletResponse.SC_NO_CONTENT);
                 loggingContext.transactionEnded();
                 PolicyLogger.audit("Transaction Failed - See Error.log");
                 auditLogger.info("Success");
                 PolicyLogger.audit("Transaction Ended Successfully");
-                return;
             } else if (request.getParameter("pdpId") != null) {
                 // ARGS:        group=<groupId> pdpId=<pdpId/URL>          <= create a new PDP or Update an Existing one
                 String pdpId = request.getParameter("pdpId");
@@ -2040,12 +2105,12 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                 // get the request content into a String
                 String json = null;
                 // read the inputStream into a buffer (trick found online scans entire input looking for end-of-file)
-                try{
+                try {
                     Scanner scanner = new Scanner(request.getInputStream());
                     scanner.useDelimiter("\\A");
-                    json =  scanner.hasNext() ? scanner.next() : "";
+                    json = scanner.hasNext() ? scanner.next() : "";
                     scanner.close();
-                }catch(IOException e){
+                } catch (IOException e) {
                     LOGGER.error(e);
                 }
                 LOGGER.info("JSON request from AC: " + json);
@@ -2054,54 +2119,58 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                 Object objectFromJSON = null;
                 try {
                     objectFromJSON = mapper.readValue(json, StdPDP.class);
-                } catch(Exception e) {
+                } catch (Exception e) {
                     LOGGER.error(e);
                 }
                 if (pdpId == null ||
                         objectFromJSON == null ||
-                        ! (objectFromJSON instanceof StdPDP) ||
-                        ((StdPDP)objectFromJSON).getId() == null ||
-                        ! ((StdPDP)objectFromJSON).getId().equals(pdpId)) {
-                    PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " PDP new/update had bad input. pdpId=" + pdpId + " objectFromJSON="+objectFromJSON);
+                        !(objectFromJSON instanceof StdPDP) ||
+                        ((StdPDP) objectFromJSON).getId() == null ||
+                        !((StdPDP) objectFromJSON).getId().equals(pdpId)) {
+                    PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " PDP new/update had bad input. pdpId=" + pdpId +
+                            " objectFromJSON=" + objectFromJSON);
                     loggingContext.transactionEnded();
                     PolicyLogger.audit("Transaction Failed - See Error.log");
-                    setResponseError(response,HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Bad input pdpid for object:"+objectFromJSON);
+                    setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
+                            "Bad input pdpid for object:" + objectFromJSON);
                 }
                 StdPDP pdp = (StdPDP) objectFromJSON;
-                if(pdp != null){
+                if (pdp != null) {
                     OnapPDP oPDP = null;
-                    try{
+                    try {
                         oPDP = papEngine.getPDP(pdpId);
-                    }catch (PAPException e){
+                    } catch (PAPException e) {
                         LOGGER.error(e);
                     }
                     if (oPDP == null) {
                         // this is a request to create a new PDP object
-                        try{
+                        try {
                             acPutTransaction.addPdpToGroup(pdp.getId(), group.getId(), pdp.getName(),
-                                    pdp.getDescription(), pdp.getJmxPort(),"XACMLPapServlet.doACPut");
-                        } catch(Exception e){
-                            PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet", " Error while adding pdp to group in the database: "
-                                    +"pdp="+ (pdp.getId()) +",to group="+group.getId());
+                                    pdp.getDescription(), pdp.getJmxPort(), "XACMLPapServlet.doACPut");
+                        } catch (Exception e) {
+                            PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet",
+                                    " Error while adding pdp to group in the database: "
+                                            + "pdp=" + (pdp.getId()) + ",to group=" + group.getId());
                             throw new PAPException(e.getMessage());
                         }
-                        try{
+                        try {
                             papEngine.newPDP(pdp.getId(), group, pdp.getName(), pdp.getDescription(), pdp.getJmxPort());
-                        }catch(PAPException e){
+                        } catch (PAPException e) {
                             LOGGER.error(e);
                         }
                     } else {
-                        try{
+                        try {
                             acPutTransaction.updatePdp(pdp, "XACMLPapServlet.doACPut");
-                        } catch(Exception e){
-                            PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet", " Error while updating pdp in the database: "
-                                    +"pdp="+ pdp.getId());
+                        } catch (Exception e) {
+                            PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet",
+                                    " Error while updating pdp in the database: "
+                                            + "pdp=" + pdp.getId());
                             throw new PAPException(e.getMessage());
                         }
                         // this is a request to update the pdp
-                        try{
+                        try {
                             papEngine.updatePDP(pdp);
-                        }catch(PAPException e){
+                        } catch (PAPException e) {
                             LOGGER.error(e);
                         }
                     }
@@ -2110,7 +2179,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                         LOGGER.debug("PDP '" + pdpId + "' created/updated");
                     }
                     // adjust the group's state including the new PDP
-                    ((StdPDPGroup)group).resetStatus();
+                    ((StdPDPGroup) group).resetStatus();
                     // tell the Admin Consoles there is a change
                     loggingContext.metricStarted();
                     notifyAC();
@@ -2125,24 +2194,24 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                     loggingContext.transactionEnded();
                     auditLogger.info("Success");
                     PolicyLogger.audit("Transaction Ended Successfully");
-                    return;
-                }else{
-                    try{
-                        PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, "XACMLPapServlet", " Error while adding pdp to group in the database: "
-                                +"pdp=null" + ",to group="+group.getId());
+                } else {
+                    try {
+                        PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, "XACMLPapServlet",
+                                " Error while adding pdp to group in the database: "
+                                        + "pdp=null" + ",to group=" + group.getId());
                         throw new PAPException("PDP is null");
-                    } catch(Exception e){
-                        throw new PAPException("PDP is null" + e.getMessage() +e);
+                    } catch (Exception e) {
+                        throw new PAPException("PDP is null" + e.getMessage() + e);
                     }
                 }
             } else if (request.getParameter("pipId") != null) {
-                //                group=<groupId> pipId=<pipEngineId> contents=pip properties              <= add a PIP to pip config, or replace it if it already exists (lenient operation)
+                //                group=<groupId> pipId=<pipEngineId> contents=pip properties              <= add a
+                // PIP to pip config, or replace it if it already exists (lenient operation)
                 loggingContext.setServiceName("AC:PAP.putPIP");
                 PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR + " UNIMPLEMENTED");
                 loggingContext.transactionEnded();
                 PolicyLogger.audit("Transaction Failed - See Error.log");
-                setResponseError(response,HttpServletResponse.SC_BAD_REQUEST, "UNIMPLEMENTED");
-                return;
+                setResponseError(response, HttpServletResponse.SC_BAD_REQUEST, "UNIMPLEMENTED");
             } else {
                 // Assume that this is an update of an existing PDP Group
                 // ARGS:        group=<groupId>         <= Update an Existing Group
@@ -2150,12 +2219,12 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                 // get the request content into a String
                 String json = null;
                 // read the inputStream into a buffer (trick found online scans entire input looking for end-of-file)
-                try{
+                try {
                     Scanner scanner = new Scanner(request.getInputStream());
                     scanner.useDelimiter("\\A");
-                    json =  scanner.hasNext() ? scanner.next() : "";
+                    json = scanner.hasNext() ? scanner.next() : "";
                     scanner.close();
-                }catch(IOException e){
+                } catch (IOException e) {
                     LOGGER.error(e);
                 }
                 LOGGER.info("JSON request from AC: " + json);
@@ -2163,44 +2232,47 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                 ObjectMapper mapper = new ObjectMapper();
                 Object objectFromJSON = null;
                 try {
-                    objectFromJSON  = mapper.readValue(json, StdPDPGroup.class);
-                } catch(Exception e) {
+                    objectFromJSON = mapper.readValue(json, StdPDPGroup.class);
+                } catch (Exception e) {
                     LOGGER.error(e);
                 }
-                if (objectFromJSON == null || ! (objectFromJSON instanceof StdPDPGroup) ||
-                        ! ((StdPDPGroup)objectFromJSON).getId().equals(group.getId())) {
-                    PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " Group update had bad input. id=" + group.getId() + " objectFromJSON="+objectFromJSON);
+                if (objectFromJSON == null || !(objectFromJSON instanceof StdPDPGroup) ||
+                        !((StdPDPGroup) objectFromJSON).getId().equals(group.getId())) {
+                    PolicyLogger
+                            .error(MessageCodes.ERROR_DATA_ISSUE + " Group update had bad input. id=" + group.getId() +
+                                    " objectFromJSON=" + objectFromJSON);
                     loggingContext.transactionEnded();
                     PolicyLogger.audit("Transaction Failed - See Error.log");
-                    setResponseError(response,HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Bad input id for object:"+objectFromJSON);
+                    setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
+                            "Bad input id for object:" + objectFromJSON);
                 }
                 // The Path on the PAP side is not carried on the RESTful interface with the AC
                 // (because it is local to the PAP)
                 // so we need to fill that in before submitting the group for update
-                if(objectFromJSON != null){
-                    ((StdPDPGroup)objectFromJSON).setDirectory(((StdPDPGroup)group).getDirectory());
+                if (objectFromJSON != null) {
+                    ((StdPDPGroup) objectFromJSON).setDirectory(((StdPDPGroup) group).getDirectory());
                 }
-                try{
-                    if("delete".equals(((StdPDPGroup)objectFromJSON).getOperation())){
-                        acPutTransaction.updateGroup((StdPDPGroup)objectFromJSON, "XACMLPapServlet.doDelete");
+                try {
+                    if ("delete".equals(((StdPDPGroup) objectFromJSON).getOperation())) {
+                        acPutTransaction.updateGroup((StdPDPGroup) objectFromJSON, "XACMLPapServlet.doDelete");
                     } else {
-                        acPutTransaction.updateGroup((StdPDPGroup)objectFromJSON, "XACMLPapServlet.doACPut");
+                        acPutTransaction.updateGroup((StdPDPGroup) objectFromJSON, "XACMLPapServlet.doACPut");
                     }
-                } catch(Exception e){
+                } catch (Exception e) {
                     PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW + " Error while updating group in the database: "
-                            +"group="+group.getId());
+                            + "group=" + group.getId());
                     LOGGER.error(e);
                     throw new PAPException(e.getMessage());
                 }
 
                 PushPolicyHandler pushPolicyHandler = PushPolicyHandler.getInstance();
-                OnapPDPGroup updatedGroup = (StdPDPGroup)objectFromJSON;
+                OnapPDPGroup updatedGroup = (StdPDPGroup) objectFromJSON;
                 if (pushPolicyHandler.preSafetyCheck(updatedGroup, configHome)) {
                     LOGGER.debug("Precheck Successful.");
                 }
-                try{
-                    papEngine.updateGroup((StdPDPGroup)objectFromJSON);
-                }catch(PAPException e){
+                try {
+                    papEngine.updateGroup((StdPDPGroup) objectFromJSON);
+                } catch (PAPException e) {
                     LOGGER.error(e);
                 }
                 response.setStatus(HttpServletResponse.SC_NO_CONTENT);
@@ -2221,7 +2293,6 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                 loggingContext.transactionEnded();
                 auditLogger.info("Success");
                 PolicyLogger.audit("Transaction Ended Successfully");
-                return;
             }
         } catch (PAPException e) {
             LOGGER.debug(e);
@@ -2229,8 +2300,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet", " AC PUT exception");
             loggingContext.transactionEnded();
             PolicyLogger.audit("Transaction Failed - See Error.log");
-            setResponseError(response,HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
-            return;
+            setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
         }
     }
 
@@ -2244,7 +2314,8 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
      * @throws ServletException
      * @throws IOException
      */
-    private void doACDelete(HttpServletRequest request, HttpServletResponse response, String groupId, ONAPLoggingContext loggingContext) throws IOException {
+    private void doACDelete(HttpServletRequest request, HttpServletResponse response, String groupId,
+                            ONAPLoggingContext loggingContext) throws IOException {
         PolicyDBDaoTransaction removePdpOrGroupTransaction = policyDBDao.getNewTransaction();
         try {
             // for all DELETE operations the group must exist before the operation can be done
@@ -2255,34 +2326,34 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                 PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " " + message);
                 loggingContext.transactionEnded();
                 PolicyLogger.audit("Transaction Failed - See Error.log");
-                setResponseError(response,HttpServletResponse.SC_NOT_FOUND, "Unknown groupId '" + groupId +"'");
+                setResponseError(response, HttpServletResponse.SC_NOT_FOUND, "Unknown groupId '" + groupId + "'");
                 return;
             }
             // determine the operation needed based on the parameters in the request
             if (request.getParameter("policy") != null) {
-                //        group=<groupId> policy=<policyId>  [delete=<true|false>]       <= delete policy file from group
+                //        group=<groupId> policy=<policyId>  [delete=<true|false>]       <= delete policy file from
+                // group
                 loggingContext.setServiceName("AC:PAP.deletePolicy");
                 PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR + " UNIMPLEMENTED");
                 loggingContext.transactionEnded();
                 PolicyLogger.audit("Transaction Failed - See Error.log");
-                setResponseError(response,HttpServletResponse.SC_BAD_REQUEST, "UNIMPLEMENTED");
-                return;
+                setResponseError(response, HttpServletResponse.SC_BAD_REQUEST, "UNIMPLEMENTED");
             } else if (request.getParameter("pdpId") != null) {
                 // ARGS:        group=<groupId> pdpId=<pdpId>                  <= delete PDP
                 String pdpId = request.getParameter("pdpId");
                 OnapPDP pdp = papEngine.getPDP(pdpId);
-                try{
-                    removePdpOrGroupTransaction.removePdpFromGroup(pdp.getId(),"XACMLPapServlet.doACDelete");
-                } catch(Exception e){
+                try {
+                    removePdpOrGroupTransaction.removePdpFromGroup(pdp.getId(), "XACMLPapServlet.doACDelete");
+                } catch (Exception e) {
                     throw new PAPException(e);
                 }
-                try{
+                try {
                     papEngine.removePDP((OnapPDP) pdp);
-                }catch(PAPException e){
+                } catch (PAPException e) {
                     LOGGER.error(e);
                 }
                 // adjust the status of the group, which may have changed when we removed this PDP
-                ((StdPDPGroup)group).resetStatus();
+                ((StdPDPGroup) group).resetStatus();
                 response.setStatus(HttpServletResponse.SC_NO_CONTENT);
                 loggingContext.metricStarted();
                 notifyAC();
@@ -2297,23 +2368,22 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                 loggingContext.transactionEnded();
                 auditLogger.info("Success");
                 PolicyLogger.audit("Transaction Ended Successfully");
-                return;
             } else if (request.getParameter("pipId") != null) {
                 //        group=<groupId> pipId=<pipEngineId> <= delete PIP config for given engine
                 loggingContext.setServiceName("AC:PAP.deletePIPConfig");
                 PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR + " UNIMPLEMENTED");
                 loggingContext.transactionEnded();
                 PolicyLogger.audit("Transaction Failed - See Error.log");
-                setResponseError(response,HttpServletResponse.SC_BAD_REQUEST, "UNIMPLEMENTED");
-                return;
+                setResponseError(response, HttpServletResponse.SC_BAD_REQUEST, "UNIMPLEMENTED");
             } else {
-                // ARGS:      group=<groupId> movePDPsToGroupId=<movePDPsToGroupId>            <= delete a group and move all its PDPs to the given group
+                // ARGS:      group=<groupId> movePDPsToGroupId=<movePDPsToGroupId>            <= delete a group and
+                // move all its PDPs to the given group
                 String moveToGroupId = request.getParameter("movePDPsToGroupId");
                 OnapPDPGroup moveToGroup = null;
                 if (moveToGroupId != null) {
-                    try{
+                    try {
                         moveToGroup = papEngine.getGroup(moveToGroupId);
-                    }catch(PAPException e){
+                    } catch (PAPException e) {
                         LOGGER.error(e);
                     }
                 }
@@ -2321,15 +2391,16 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                 Set<OnapPDP> movedPDPs = new HashSet<>();
                 movedPDPs.addAll(group.getOnapPdps());
                 // do the move/remove
-                try{
-                    removePdpOrGroupTransaction.deleteGroup(group, moveToGroup,"XACMLPapServlet.doACDelete");
-                } catch(Exception e){
-                    PolicyLogger.error(MessageCodes.ERROR_UNKNOWN, e, "XACMLPapServlet", " Failed to delete PDP Group. Exception");
+                try {
+                    removePdpOrGroupTransaction.deleteGroup(group, moveToGroup, "XACMLPapServlet.doACDelete");
+                } catch (Exception e) {
+                    PolicyLogger.error(MessageCodes.ERROR_UNKNOWN, e, "XACMLPapServlet",
+                            " Failed to delete PDP Group. Exception");
                     throw new PAPException(e.getMessage());
                 }
-                try{
+                try {
                     papEngine.removeGroup(group, moveToGroup);
-                }catch(PAPException e){
+                } catch (PAPException e) {
                     LOGGER.error(e);
                 }
                 response.setStatus(HttpServletResponse.SC_NO_CONTENT);
@@ -2348,37 +2419,36 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                 loggingContext.transactionEnded();
                 auditLogger.info("Success");
                 PolicyLogger.audit("Transaction Ended Successfully");
-                return;
             }
         } catch (PAPException e) {
             removePdpOrGroupTransaction.rollbackTransaction();
             PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet", " AC DELETE exception");
             loggingContext.transactionEnded();
             PolicyLogger.audit("Transaction Failed - See Error.log");
-            setResponseError(response,HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
-            return;
+            setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
         }
     }
 
     /**
      * Heartbeat thread - periodically check on PDPs' status
-     *
+     * <p>
      * Heartbeat with all known PDPs.
-     *
+     * <p>
      * Implementation note:
-     *
+     * <p>
      * The PDPs are contacted Sequentially, not in Parallel.
-     *
+     * <p>
      * If we did this in parallel using multiple threads we would simultaneously use
-     *                 - 1 thread and
-     *                 - 1 connection
+     * - 1 thread and
+     * - 1 connection
      * for EACH PDP.
      * This could become a resource problem since we already use multiple threads and connections for updating the PDPs
      * when user changes occur.
      * Using separate threads can also make it tricky dealing with timeouts on PDPs that are non-responsive.
-     *
+     * <p>
      * The Sequential operation does a heartbeat request to each PDP one at a time.
-     * This has the flaw that any PDPs that do not respond will hold up the entire heartbeat sequence until they timeout.
+     * This has the flaw that any PDPs that do not respond will hold up the entire heartbeat sequence until they
+     * timeout.
      * If there are a lot of non-responsive PDPs and the timeout is large-ish (the default is 20 seconds)
      * it could take a long time to cycle through all of the PDPs.
      * That means that this may not notice a PDP being down in a predictable time.
@@ -2401,14 +2471,16 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
 
         public Heartbeat(PAPPolicyEngine papEngine2) {
             papEngine = papEngine2;
-            this.heartbeatInterval = Integer.parseInt(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_HEARTBEAT_INTERVAL, "10000"));
-            this.heartbeatTimeout = Integer.parseInt(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_HEARTBEAT_TIMEOUT, "10000"));
+            this.heartbeatInterval = Integer.parseInt(
+                    XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_HEARTBEAT_INTERVAL, "10000"));
+            this.heartbeatTimeout = Integer.parseInt(
+                    XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_HEARTBEAT_TIMEOUT, "10000"));
         }
 
         @Override
         public void run() {
             // Set ourselves as running
-            synchronized(this) {
+            synchronized (this) {
                 this.isRunning = true;
             }
             HashMap<String, URL> idToURLMap = new HashMap<>();
@@ -2418,7 +2490,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                     Thread.sleep(heartbeatInterval);
                     // get the list of PDPs (may have changed since last time)
                     pdps.clear();
-                    synchronized(papEngine) {
+                    synchronized (papEngine) {
                         try {
                             for (OnapPDPGroup g : papEngine.getOnapPDPGroups()) {
                                 for (OnapPDP p : g.getOnapPdps()) {
@@ -2426,7 +2498,8 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                                 }
                             }
                         } catch (PAPException e) {
-                            PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "XACMLPapServlet", "Heartbeat unable to read PDPs from PAPEngine");
+                            PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "XACMLPapServlet",
+                                    "Heartbeat unable to read PDPs from PAPEngine");
                         }
                     }
                     // Check for shutdown
@@ -2449,13 +2522,14 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                             String fullURLString = null;
                             try {
                                 // Check PDP ID
-                                if(CheckPDP.validateID(pdp.getId())){
+                                if (CheckPDP.validateID(pdp.getId())) {
                                     fullURLString = pdp.getId() + "?type=hb";
                                     pdpURL = new URL(fullURLString);
                                     idToURLMap.put(pdp.getId(), pdpURL);
                                 }
                             } catch (MalformedURLException e) {
-                                PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, "XACMLPapServlet", " PDP id '" + fullURLString + "' is not a valid URL");
+                                PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, "XACMLPapServlet",
+                                        " PDP id '" + fullURLString + "' is not a valid URL");
                                 continue;
                             }
                         }
@@ -2464,14 +2538,14 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                         HttpURLConnection connection = null;
                         try {
                             // Open up the connection
-                            if(pdpURL != null){
-                                connection = (HttpURLConnection)pdpURL.openConnection();
+                            if (pdpURL != null) {
+                                connection = (HttpURLConnection) pdpURL.openConnection();
                                 // Setup our method and headers
                                 connection.setRequestMethod("GET");
                                 connection.setConnectTimeout(heartbeatTimeout);
                                 // Authentication
                                 String encoding = CheckPDP.getEncoding(pdp.getId());
-                                if(encoding !=null){
+                                if (encoding != null) {
                                     connection.setRequestProperty("Authorization", "Basic " + encoding);
                                 }
                                 // Do the connect
@@ -2484,34 +2558,42 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                                 } else {
                                     // anything else is an unexpected result
                                     newStatus = PDPStatus.Status.UNKNOWN.toString();
-                                    PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR + " Heartbeat connect response code " + connection.getResponseCode() + ": " + pdp.getId());
+                                    PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR +
+                                            " Heartbeat connect response code " + connection.getResponseCode() + ": " +
+                                            pdp.getId());
                                 }
                             }
                         } catch (UnknownHostException e) {
                             newStatus = PDPStatus.Status.NO_SUCH_HOST.toString();
-                            PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "XACMLPapServlet", " Heartbeat '" + pdp.getId() + "' NO_SUCH_HOST");
+                            PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "XACMLPapServlet",
+                                    " Heartbeat '" + pdp.getId() + "' NO_SUCH_HOST");
                         } catch (SocketTimeoutException e) {
                             newStatus = PDPStatus.Status.CANNOT_CONNECT.toString();
-                            PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "XACMLPapServlet", " Heartbeat '" + pdp.getId() + "' connection timeout");
+                            PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "XACMLPapServlet",
+                                    " Heartbeat '" + pdp.getId() + "' connection timeout");
                         } catch (ConnectException e) {
                             newStatus = PDPStatus.Status.CANNOT_CONNECT.toString();
-                            PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "XACMLPapServlet", " Heartbeat '" + pdp.getId() + "' cannot connect");
+                            PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "XACMLPapServlet",
+                                    " Heartbeat '" + pdp.getId() + "' cannot connect");
                         } catch (Exception e) {
                             newStatus = PDPStatus.Status.UNKNOWN.toString();
-                            PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "XACMLPapServlet", "Heartbeat '" + pdp.getId() + "' connect exception");
+                            PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "XACMLPapServlet",
+                                    "Heartbeat '" + pdp.getId() + "' connect exception");
                         } finally {
                             // cleanup the connection
-                            if(connection != null)
+                            if (connection != null)
                                 connection.disconnect();
                         }
-                        if ( ! pdp.getStatus().getStatus().toString().equals(newStatus)) {
+                        if (!pdp.getStatus().getStatus().toString().equals(newStatus)) {
                             if (LOGGER.isDebugEnabled()) {
-                                LOGGER.debug("previous status='" + pdp.getStatus().getStatus()+"'  new Status='" + newStatus + "'");
+                                LOGGER.debug("previous status='" + pdp.getStatus().getStatus() + "'  new Status='" +
+                                        newStatus + "'");
                             }
                             try {
                                 setPDPSummaryStatus(pdp, newStatus);
                             } catch (PAPException e) {
-                                PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet", "Unable to set state for PDP '" + pdp.getId());
+                                PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet",
+                                        "Unable to set state for PDP '" + pdp.getId());
                             }
                             changeSeen = true;
                         }
@@ -2543,12 +2625,12 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
     }
 
     private void setPDPSummaryStatus(OnapPDP pdp, String newStatus) throws PAPException {
-        synchronized(papEngine) {
+        synchronized (papEngine) {
             StdPDPStatus status = new StdPDPStatus();
             status.setStatus(PDPStatus.Status.valueOf(newStatus));
-            ((StdPDP)pdp).setStatus(status);
+            ((StdPDP) pdp).setStatus(status);
             // now adjust the group
-            StdPDPGroup group = (StdPDPGroup)papEngine.getPDPGroup((OnapPDP) pdp);
+            StdPDPGroup group = (StdPDPGroup) papEngine.getPDPGroup((OnapPDP) pdp);
             // if the PDP was just deleted it may transiently exist but not be in a group
             if (group != null) {
                 group.resetStatus();
@@ -2605,22 +2687,24 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
     }
 
     @Override
-     public void pdpChanged(OnapPDP pdp) {
+    public void pdpChanged(OnapPDP pdp) {
         // kick off a thread to do an event notification for each PDP.
         // This needs to be on a separate thread so that PDPs that do not respond (down, non-existent, etc)
-        // do not block the PSP response to the AC, which would freeze the GUI until all PDPs sequentially respond or time-out.
+        // do not block the PSP response to the AC, which would freeze the GUI until all PDPs sequentially respond or
+        // time-out.
         Thread t = new Thread(new UpdatePDPThread(pdp));
-        if(CheckPDP.validateID(pdp.getId())){
+        if (CheckPDP.validateID(pdp.getId())) {
             t.start();
         }
     }
 
-     public void pdpChanged(OnapPDP pdp, ONAPLoggingContext loggingContext) {
+    public void pdpChanged(OnapPDP pdp, ONAPLoggingContext loggingContext) {
         // kick off a thread to do an event notification for each PDP.
         // This needs to be on a separate thread so that PDPs that do not respond (down, non-existent, etc)
-        // do not block the PSP response to the AC, which would freeze the GUI until all PDPs sequentially respond or time-out.
+        // do not block the PSP response to the AC, which would freeze the GUI until all PDPs sequentially respond or
+        // time-out.
         Thread t = new Thread(new UpdatePDPThread(pdp, loggingContext));
-        if(CheckPDP.validateID(pdp.getId())){
+        if (CheckPDP.validateID(pdp.getId())) {
             t.start();
         }
     }
@@ -2636,8 +2720,9 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
 
         public UpdatePDPThread(OnapPDP pdp, ONAPLoggingContext loggingContext) {
             this.pdp = pdp;
-            if ((loggingContext != null) && (loggingContext.getRequestID() != null || loggingContext.getRequestID() == "")) {
-                    this.requestId = loggingContext.getRequestID();
+            if ((loggingContext != null) && (loggingContext.getRequestID() != null ||
+                    Objects.equals(loggingContext.getRequestID(), ""))) {
+                this.requestId = loggingContext.getRequestID();
             }
             this.loggingContext = loggingContext;
         }
@@ -2648,40 +2733,47 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             // get a new logging context for the thread
             try {
                 if (this.loggingContext == null) {
-                     loggingContext = new ONAPLoggingContext(baseLoggingContext);
+                    loggingContext = new ONAPLoggingContext(baseLoggingContext);
                 }
             } catch (Exception e) {
-                PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "XACMLPapServlet", " Failed to send property file to " + pdp.getId());
+                PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "XACMLPapServlet",
+                        " Failed to send property file to " + pdp.getId());
                 // Since this is a server-side error, it probably does not reflect a problem on the client,
                 // so do not change the PDP status.
                 return;
             }
             try {
                 loggingContext.setServiceName("PAP:PDP.putConfig");
-                // If a requestId was provided, use it, otherwise generate one; post to loggingContext to be used later when calling PDP
-                if ((requestId == null) || (requestId == "")) {
+                // If a requestId was provided, use it, otherwise generate one; post to loggingContext to be used
+                // later when calling PDP
+                if ((requestId == null) || (Objects.equals(requestId, ""))) {
                     UUID requestID = UUID.randomUUID();
                     loggingContext.setRequestID(requestID.toString());
-                    PolicyLogger.info("requestID not provided in call to XACMLPapSrvlet (UpdatePDPThread) so we generated one:  " + loggingContext.getRequestID());
+                    PolicyLogger
+                            .info("requestID not provided in call to XACMLPapSrvlet (UpdatePDPThread) so we generated" +
+                                    " one:  " +
+                                    loggingContext.getRequestID());
                 } else {
                     loggingContext.setRequestID(requestId);
-                    PolicyLogger.info("requestID was provided in call to XACMLPapSrvlet (UpdatePDPThread):  " + loggingContext.getRequestID());
+                    PolicyLogger.info("requestID was provided in call to XACMLPapSrvlet (UpdatePDPThread):  " +
+                            loggingContext.getRequestID());
                 }
                 loggingContext.transactionStarted();
                 // the Id of the PDP is its URL
                 if (LOGGER.isDebugEnabled()) {
                     LOGGER.debug("creating url for id '" + pdp.getId() + "'");
                 }
-                //TODO - currently always send both policies and pips.  Do we care enough to add code to allow sending just one or the other?
+                //TODO - currently always send both policies and pips.  Do we care enough to add code to allow
+                // sending just one or the other?
                 //TODO         (need to change "cache=", implying getting some input saying which to change)
                 URL url = new URL(pdp.getId() + "?cache=all");
                 // Open up the connection
-                connection = (HttpURLConnection)url.openConnection();
+                connection = (HttpURLConnection) url.openConnection();
                 // Setup our method and headers
                 connection.setRequestMethod("PUT");
                 // Authentication
                 String encoding = CheckPDP.getEncoding(pdp.getId());
-                if(encoding !=null){
+                if (encoding != null) {
                     connection.setRequestProperty("Authorization", "Basic " + encoding);
                 }
                 connection.setRequestProperty("Content-Type", "text/x-java-properties");
@@ -2705,13 +2797,15 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                         group.getPolicyProperties().store(os, "");
                         Properties policyLocations = new Properties();
                         for (PDPPolicy policy : group.getPolicies()) {
-                            policyLocations.put(policy.getId() + ".url", XACMLPapServlet.papURL + "?id=" + policy.getId());
+                            policyLocations
+                                    .put(policy.getId() + ".url", XACMLPapServlet.papURL + "?id=" + policy.getId());
                         }
                         policyLocations.store(os, "");
                         group.getPipConfigProperties().store(os, "");
                     }
                 } catch (Exception e) {
-                    PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "XACMLPapServlet", " Failed to send property file to " + pdp.getId());
+                    PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "XACMLPapServlet",
+                            " Failed to send property file to " + pdp.getId());
                     // Since this is a server-side error, it probably does not reflect a problem on the client,
                     // so do not change the PDP status.
                     return;
@@ -2734,27 +2828,34 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                     PolicyLogger.audit("Transaction Success. PDP is configured correctly.");
                     setPDPSummaryStatus(pdp, PDPStatus.Status.OUT_OF_SYNCH);
                 } else {
-                    LOGGER.warn("Failed: " + connection.getResponseCode() + "  message: " + connection.getResponseMessage());
+                    LOGGER.warn("Failed: " + connection.getResponseCode() + "  message: " +
+                            connection.getResponseMessage());
                     loggingContext.transactionEnded();
-                    auditLogger.warn("Failed: " + connection.getResponseCode() + "  message: " + connection.getResponseMessage());
-                    PolicyLogger.audit("Transaction Failed: " + connection.getResponseCode() + "  message: " + connection.getResponseMessage());
+                    auditLogger.warn("Failed: " + connection.getResponseCode() + "  message: " +
+                            connection.getResponseMessage());
+                    PolicyLogger.audit("Transaction Failed: " + connection.getResponseCode() + "  message: " +
+                            connection.getResponseMessage());
                     setPDPSummaryStatus(pdp, PDPStatus.Status.UNKNOWN);
                 }
             } catch (Exception e) {
                 LOGGER.debug(e);
-                PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "XACMLPapServlet", " Unable to sync config with PDP '" + pdp.getId() + "'");
+                PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "XACMLPapServlet",
+                        " Unable to sync config with PDP '" + pdp.getId() + "'");
                 loggingContext.transactionEnded();
                 PolicyLogger.audit("Transaction Failed: Unable to sync config with PDP '" + pdp.getId() + "': " + e);
                 try {
                     setPDPSummaryStatus(pdp, PDPStatus.Status.UNKNOWN);
                 } catch (PAPException e1) {
                     LOGGER.debug(e1);
-                    PolicyLogger.audit("Transaction Failed: Unable to set status of PDP " + pdp.getId() + " to UNKNOWN: " + e);
-                    PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "XACMLPapServlet", " Unable to set status of PDP '" + pdp.getId() + "' to UNKNOWN");
+                    PolicyLogger
+                            .audit("Transaction Failed: Unable to set status of PDP " + pdp.getId() + " to UNKNOWN: " +
+                                    e);
+                    PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "XACMLPapServlet",
+                            " Unable to set status of PDP '" + pdp.getId() + "' to UNKNOWN");
                 }
             } finally {
                 // cleanup the connection
-                if(connection != null){
+                if (connection != null) {
                     connection.disconnect();
                 }
                 // tell the AC to update it's status info
@@ -2783,17 +2884,19 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                 HttpURLConnection connection = null;
                 try {
                     acURL += "?PAPNotification=true";
-                    //TODO - Currently we just tell AC that "Something changed" without being specific.  Do we want to tell it which group/pdp changed?
+                    //TODO - Currently we just tell AC that "Something changed" without being specific.  Do we want
+                    // to tell it which group/pdp changed?
                     //TODO - If so, put correct parameters into the Query string here
                     acURL += "&objectType=all" + "&action=update";
                     if (LOGGER.isDebugEnabled()) {
                         LOGGER.debug("creating url for id '" + acURL + "'");
                     }
-                    //TODO - currently always send both policies and pips.  Do we care enough to add code to allow sending just one or the other?
+                    //TODO - currently always send both policies and pips.  Do we care enough to add code to allow
+                    // sending just one or the other?
                     //TODO             (need to change "cache=", implying getting some input saying which to change)
-                    URL url = new URL(acURL );
+                    URL url = new URL(acURL);
                     // Open up the connection
-                    connection = (HttpURLConnection)url.openConnection();
+                    connection = (HttpURLConnection) url.openConnection();
                     // Setup our method and headers
                     connection.setRequestMethod("PUT");
                     connection.setRequestProperty("Content-Type", "text/x-java-properties");
@@ -2812,15 +2915,17 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
                     if (connection.getResponseCode() == 204) {
                         LOGGER.info("Success. We updated correctly.");
                     } else {
-                        LOGGER.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR + "Failed: " + connection.getResponseCode() + "  message: " + connection.getResponseMessage());
+                        LOGGER.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR + "Failed: " + connection.getResponseCode() +
+                                "  message: " + connection.getResponseMessage());
                     }
 
                 } catch (Exception e) {
-                    PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "XACMLPapServlet", " Unable to sync config AC '" + acURL + "'");
+                    PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "XACMLPapServlet",
+                            " Unable to sync config AC '" + acURL + "'");
                     disconnectedACs.add(acURL);
                 } finally {
                     // cleanup the connection
-                    if(connection != null)
+                    if (connection != null)
                         connection.disconnect();
                 }
             }
@@ -2831,7 +2936,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
         }
     }
 
-    private void testService(ONAPLoggingContext loggingContext, HttpServletResponse response) throws IOException{
+    private void testService(ONAPLoggingContext loggingContext, HttpServletResponse response) throws IOException {
         LOGGER.info("Test request received");
         try {
             im.evaluateSanity();
@@ -2841,8 +2946,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             loggingContext.transactionEnded();
             PolicyLogger.audit("Transaction Failed - See Error.log");
             response.setStatus(HttpServletResponse.SC_OK);
-            return;
-        }catch (ForwardProgressException | AdministrativeStateException | StandbyStatusException e){
+        } catch (ForwardProgressException | AdministrativeStateException | StandbyStatusException e) {
             String submsg;
             if (e instanceof ForwardProgressException) {
                 submsg = " is not making forward progress.";
@@ -2858,12 +2962,11 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR + " " + message);
             loggingContext.transactionEnded();
             PolicyLogger.audit("Transaction Failed - See Error.log");
-            setResponseError(response,HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
-            return;
-        }catch (Exception e) {
+            setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
+        } catch (Exception e) {
             //A subsystem is not making progress, is locked, standby or is not responding
             String eMsg = e.getMessage();
-            if(eMsg == null){
+            if (eMsg == null) {
                 eMsg = "No Exception Message";
             }
             String message = "GET:/pap/test called and PAP " + papResourceName + " has had a subsystem failure."
@@ -2874,21 +2977,20 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
             PolicyLogger.audit("Transaction Failed - See Error.log");
             //Get the specific list of subsystems that failed
             String ssFailureList = null;
-            for(String failedSS : papDependencyGroupsFlatArray){
-                if(eMsg.contains(failedSS)){
-                    if(ssFailureList == null){
+            for (String failedSS : papDependencyGroupsFlatArray) {
+                if (eMsg.contains(failedSS)) {
+                    if (ssFailureList == null) {
                         ssFailureList = failedSS;
-                    }else{
-                        ssFailureList = ssFailureList.concat(","+failedSS);
+                    } else {
+                        ssFailureList = ssFailureList.concat("," + failedSS);
                     }
                 }
             }
-            if(ssFailureList == null){
+            if (ssFailureList == null) {
                 ssFailureList = "UnknownSubSystem";
             }
             response.addHeader("X-ONAP-SubsystemFailure", ssFailureList);
             setResponseError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, message);
-            return;
         }
     }
 
@@ -2898,29 +3000,31 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
     private boolean authorizeRequest(HttpServletRequest request) {
         String clientCredentials = request.getHeader(ENVIRONMENT_HEADER);
         // Check if the Client is Authorized.
-        if(clientCredentials!=null && clientCredentials.equalsIgnoreCase(environment)){
+        if (clientCredentials != null && clientCredentials.equalsIgnoreCase(environment)) {
             return true;
-        }else{
+        } else {
             return false;
         }
     }
 
-    private static void loadWebapps() throws PAPException{
-        if(actionHome == null || configHome == null){
+    private static void loadWebapps() throws PAPException {
+        if (actionHome == null || configHome == null) {
             Path webappsPath = Paths.get(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_WEBAPPS));
             //Sanity Check
             if (webappsPath == null) {
                 PolicyLogger.error("Invalid Webapps Path Location property : " + XACMLRestProperties.PROP_PAP_WEBAPPS);
-                throw new PAPException("Invalid Webapps Path Location property : " + XACMLRestProperties.PROP_PAP_WEBAPPS);
+                throw new PAPException(
+                        "Invalid Webapps Path Location property : " + XACMLRestProperties.PROP_PAP_WEBAPPS);
             }
-            Path webappsPathConfig = Paths.get(webappsPath.toString()+File.separator+"Config");
-            Path webappsPathAction = Paths.get(webappsPath.toString()+File.separator+"Action");
+            Path webappsPathConfig = Paths.get(webappsPath.toString() + File.separator + "Config");
+            Path webappsPathAction = Paths.get(webappsPath.toString() + File.separator + "Action");
             if (Files.notExists(webappsPathConfig)) {
                 try {
                     Files.createDirectories(webappsPathConfig);
                 } catch (IOException e) {
-                    PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet", "Failed to create config directory: "
-                            + webappsPathConfig.toAbsolutePath().toString());
+                    PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet",
+                            "Failed to create config directory: "
+                                    + webappsPathConfig.toAbsolutePath().toString());
                 }
             }
             if (Files.notExists(webappsPathAction)) {
@@ -2936,7 +3040,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
         }
     }
 
-    public static String getConfigHome(){
+    public static String getConfigHome() {
         try {
             loadWebapps();
         } catch (PAPException e) {
@@ -2946,11 +3050,11 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
         return configHome;
     }
 
-    private static void setConfigHome(){
+    private static void setConfigHome() {
         configHome = getConfigHome();
     }
 
-    public static String getActionHome(){
+    public static String getActionHome() {
         try {
             loadWebapps();
         } catch (PAPException e) {
@@ -2960,7 +3064,7 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
         return actionHome;
     }
 
-    private static void setActionHome(){
+    private static void setActionHome() {
         actionHome = getActionHome();
     }
 
@@ -2972,21 +3076,22 @@ public class XACMLPapServlet extends HttpServlet implements StdItemSetChangeList
         return ia;
     }
 
-    public static String getPDPFile(){
+    public static String getPDPFile() {
         return XACMLPapServlet.pdpFile;
     }
 
-    public static String getPersistenceUnit(){
+    public static String getPersistenceUnit() {
         return PERSISTENCE_UNIT;
     }
 
-    public static PAPPolicyEngine getPAPEngine(){
+    public static PAPPolicyEngine getPAPEngine() {
         return papEngine;
     }
 
-    public static PolicyDBDaoTransaction getDbDaoTransaction(){
+    public static PolicyDBDaoTransaction getDbDaoTransaction() {
         return policyDBDao.getNewTransaction();
     }
+
     public static String getPapDbDriver() {
         return papDbDriver;
     }
index 9f84a4e..571a820 100644 (file)
@@ -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.
@@ -30,6 +30,7 @@ import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 import org.onap.policy.common.logging.eelf.MessageCodes;
 import org.onap.policy.common.logging.eelf.PolicyLogger;
@@ -56,17 +57,17 @@ import oasis.names.tc.xacml._3_0.core.schema.wd_17.ObligationExpressionType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.ObligationExpressionsType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.RuleType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType; 
+import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType;
 
 public class ActionPolicy extends Policy {
-    
+
     /**
      * ActionPolicy Fields
      */
     private static final Logger LOGGER = FlexLogger.getLogger(ActionPolicy.class);
-    
+
     public static final String JSON_CONFIG = "JSON";
-    
+
     public static final String PDP_ACTION = "PDP";
     public static final String PEP_ACTION = "PEP";
     public static final String TYPE_ACTION = "REST";
@@ -81,46 +82,46 @@ public class ActionPolicy extends Policy {
     public static final String HEADERS_ATTRIBUTEID = "headers";
     public static final String URL_ATTRIBUTEID = "url";
     public static final String BODY_ATTRIBUTEID = "body";
-    
+
     List<String> dynamicLabelRuleAlgorithms = new LinkedList<>();
     List<String> dynamicFieldFunctionRuleAlgorithms = new LinkedList<>();
     List<String> dynamicFieldOneRuleAlgorithms = new LinkedList<>();
     List<String> dynamicFieldTwoRuleAlgorithms = new LinkedList<>();
-    
 
-    
+
     private CommonClassDao commonClassDao;
-    
+
     private static boolean isAttribute = false;
-    private synchronized static boolean getAttribute () {
+
+    private synchronized static boolean getAttribute() {
         return isAttribute;
 
     }
-    
+
     public ActionPolicy() {
         super();
     }
-    
-    public ActionPolicy(PolicyRestAdapter policyAdapter, CommonClassDao commonClassDao){
+
+    public ActionPolicy(PolicyRestAdapter policyAdapter, CommonClassDao commonClassDao) {
         this.policyAdapter = policyAdapter;
         this.commonClassDao = commonClassDao;
     }
 
     @Override
     public Map<String, String> savePolicies() throws PAPException {
-        
+
         Map<String, String> successMap = new HashMap<>();
-        if(isPolicyExists()){
+        if (isPolicyExists()) {
             successMap.put("EXISTS", "This Policy already exist on the PAP");
             return successMap;
         }
-        
-        if(!ActionPolicy.getAttribute()) {
+
+        if (!ActionPolicy.getAttribute()) {
             successMap.put("invalidAttribute", "Action Attrbute was not in the database.");
             return successMap;
         }
-        
-        if(!isPreparedToSave()){
+
+        if (!isPreparedToSave()) {
             //Prep and configure the policy for saving
             prepareToSave();
         }
@@ -128,24 +129,24 @@ public class ActionPolicy extends Policy {
         // Until here we prepared the data and here calling the method to create xml.
         Path newPolicyPath = null;
         newPolicyPath = Paths.get(policyAdapter.getNewFileName());
-        successMap = createPolicy(newPolicyPath,getCorrectPolicyDataObject() );     
-        return successMap;      
+        successMap = createPolicy(newPolicyPath, getCorrectPolicyDataObject());
+        return successMap;
     }
-    
+
     //This is the method for preparing the policy for saving.  We have broken it out
     //separately because the fully configured policy is used for multiple things
     @Override
-    public boolean prepareToSave() throws PAPException{
+    public boolean prepareToSave() throws PAPException {
 
-        if(isPreparedToSave()){
+        if (isPreparedToSave()) {
             //we have already done this
             return true;
         }
-        
+
         int version = 0;
         String policyID = policyAdapter.getPolicyID();
         version = policyAdapter.getHighestVersion();
-        
+
         // Create the Instance for pojo, PolicyType object is used in marshalling.
         if (policyAdapter.getPolicyType().equals("Action")) {
             PolicyType policyConfig = new PolicyType();
@@ -155,34 +156,36 @@ public class ActionPolicy extends Policy {
             policyConfig.setTarget(new TargetType());
             policyAdapter.setData(policyConfig);
         }
-        
+
         policyName = policyAdapter.getNewFileName();
-        
+
         if (policyAdapter.getData() != null) {
             // Action body is optional so checking value provided or not
             String comboDictValue = policyAdapter.getActionAttribute();
             String actionBody = policyAdapter.getActionBody();
             setAttribute(false);
 
-            //if actionBody is null or empty then we know the ActionAttribute in the request does not exist in the dictionary
-            if(!(actionBody==null || "".equals(actionBody))){   
+            //if actionBody is null or empty then we know the ActionAttribute in the request does not exist in the
+            // dictionary
+            if (!(actionBody == null || "".equals(actionBody))) {
                 saveActionBody(policyName, actionBody);
                 setAttribute(true);
             } else {
-                if(!getAttribute()){
-                    LOGGER.error(XACMLErrorConstants.ERROR_DATA_ISSUE + "Could not find " + comboDictValue + " in the ActionPolicyDict table.");
+                if (!getAttribute()) {
+                    LOGGER.error(XACMLErrorConstants.ERROR_DATA_ISSUE + "Could not find " + comboDictValue +
+                            " in the ActionPolicyDict table.");
                     return false;
                 }
             }
-            
+
             PolicyType actionPolicy = (PolicyType) policyAdapter.getData();
             actionPolicy.setDescription(policyAdapter.getPolicyDescription());
             actionPolicy.setRuleCombiningAlgId(policyAdapter.getRuleCombiningAlgId());
 
             AllOfType allOf = new AllOfType();
-            
+
             Map<String, String> dynamicFieldComponentAttributes = policyAdapter.getDynamicFieldConfigAttributes();
-            
+
             // If there is any dynamic field attributes create the matches here
             for (String keyField : dynamicFieldComponentAttributes.keySet()) {
                 String key = keyField;
@@ -196,21 +199,21 @@ public class ActionPolicy extends Policy {
 
             TargetType target = new TargetType();
             target.getAnyOf().add(anyOf);
-            
+
             // Adding the target to the policy element
             actionPolicy.setTarget(target);
-            
+
             RuleType rule = new RuleType();
             rule.setRuleId(policyAdapter.getRuleID());
 
             rule.setEffect(EffectType.PERMIT);
             rule.setTarget(new TargetType());
-            
+
             dynamicLabelRuleAlgorithms = policyAdapter.getDynamicRuleAlgorithmLabels();
             dynamicFieldFunctionRuleAlgorithms = policyAdapter.getDynamicRuleAlgorithmCombo();
             dynamicFieldOneRuleAlgorithms = policyAdapter.getDynamicRuleAlgorithmField1();
             dynamicFieldTwoRuleAlgorithms = policyAdapter.getDynamicRuleAlgorithmField2();
-                        
+
             // Rule attributes are optional and dynamic so check and add them to condition.
             if (dynamicLabelRuleAlgorithms != null && !dynamicLabelRuleAlgorithms.isEmpty()) {
                 boolean isCompound = false;
@@ -222,7 +225,7 @@ public class ActionPolicy extends Policy {
                     if (dynamicFieldOneRuleAlgorithms.get(index).equals(labelAttr)) {
                         ApplyType actionApply = new ApplyType();
 
-                        String selectedFunction = dynamicFieldFunctionRuleAlgorithms.get(index).toString();
+                        String selectedFunction = dynamicFieldFunctionRuleAlgorithms.get(index);
                         String value1 = dynamicFieldOneRuleAlgorithms.get(index);
                         String value2 = dynamicFieldTwoRuleAlgorithms.get(index);
                         actionApply.setFunctionId(getFunctionDefinitionId(selectedFunction));
@@ -234,7 +237,8 @@ public class ActionPolicy extends Policy {
                 }
                 // if rule algorithm not a compound
                 if (!isCompound) {
-                    condition.setExpression(new ObjectFactory().createApply(getInnerActionApply(dynamicLabelRuleAlgorithms.get(index).toString())));
+                    condition.setExpression(new ObjectFactory().createApply(getInnerActionApply(
+                            dynamicLabelRuleAlgorithms.get(index))));
                 }
                 rule.setCondition(condition);
             }
@@ -242,34 +246,35 @@ public class ActionPolicy extends Policy {
             rule.setObligationExpressions(getObligationExpressions());
             actionPolicy.getCombinerParametersOrRuleCombinerParametersOrVariableDefinition().add(rule);
             policyAdapter.setPolicyData(actionPolicy);
-        }  else {
-            PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + "Unsupported data object." + policyAdapter.getData().getClass().getCanonicalName());
-        }   
+        } else {
+            PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + "Unsupported data object." + Objects
+                    .requireNonNull(policyAdapter.getData()).getClass().getCanonicalName());
+        }
 
         setPreparedToSave(true);
         return true;
     }
-    
+
     private static synchronized void setAttribute(boolean b) {
         isAttribute = b;
     }
 
     // Saving the json Configurations file if exists at server location for action policy.
     private void saveActionBody(String policyName, String actionBodyData) {
-            if(policyName.endsWith(".xml")){
-                policyName = policyName.replace(".xml", "");
-            }
-            File file = new File(ACTION_HOME+ File.separator + policyName + ".json");
-            try(BufferedWriter bw = new BufferedWriter(new FileWriter(file.getAbsoluteFile()))) {
+        if (policyName.endsWith(".xml")) {
+            policyName = policyName.replace(".xml", "");
+        }
+        File file = new File(ACTION_HOME + File.separator + policyName + ".json");
+        try (BufferedWriter bw = new BufferedWriter(new FileWriter(file.getAbsoluteFile()))) {
             bw.write(actionBodyData);
             if (LOGGER.isInfoEnabled()) {
                 LOGGER.info("Action Body is succesfully saved at " + file.getAbsolutePath());
             }
         } catch (IOException e) {
-            LOGGER.error("Exception Occured"+e);
+            LOGGER.error("Exception Occured" + e);
         }
     }
-    
+
     // Data required for obligation part is setting here.
     private ObligationExpressionsType getObligationExpressions() {
         ObligationExpressionsType obligations = new ObligationExpressionsType();
@@ -331,7 +336,7 @@ public class ActionPolicy extends Policy {
         obligation.getAttributeAssignmentExpression().add(assignmentMethod);
 
         // Add JSON_URL Assignment:
-        String actionBody = policyAdapter.getActionBody();      
+        String actionBody = policyAdapter.getActionBody();
         if (actionBody != null) {
             AttributeAssignmentExpressionType assignmentJsonURL = new AttributeAssignmentExpressionType();
             assignmentJsonURL.setAttributeId(BODY_ATTRIBUTEID);
@@ -339,28 +344,29 @@ public class ActionPolicy extends Policy {
 
             AttributeValueType jsonURLAttributeValue = new AttributeValueType();
             jsonURLAttributeValue.setDataType(URI_DATATYPE);
-            jsonURLAttributeValue.getContent().add(CONFIG_URL + "/Action/"  + policyName + ".json");
+            jsonURLAttributeValue.getContent().add(CONFIG_URL + "/Action/" + policyName + ".json");
 
             assignmentJsonURL.setExpression(new ObjectFactory().createAttributeValue(jsonURLAttributeValue));
             obligation.getAttributeAssignmentExpression().add(assignmentJsonURL);
         }
 
         String headerVal = policyAdapter.getActionDictHeader();
-        if(headerVal != null && !headerVal.trim().isEmpty()){
+        if (headerVal != null && !headerVal.trim().isEmpty()) {
             // parse it on : to get number of headers
             String[] result = headerVal.split(":");
-            for (String eachString : result){
+            for (String eachString : result) {
                 // parse each value on =
                 String[] textFieldVals = eachString.split("=");
-                obligation.getAttributeAssignmentExpression().add(addDynamicHeaders(textFieldVals[0], textFieldVals[1]));
+                obligation.getAttributeAssignmentExpression()
+                        .add(addDynamicHeaders(textFieldVals[0], textFieldVals[1]));
             }
         }
-            
+
         obligations.getObligationExpression().add(obligation);
         return obligations;
     }
 
-    
+
     // if compound setting the inner apply here
     protected ApplyType getInnerActionApply(String value1Label) {
         ApplyType actionApply = new ApplyType();
@@ -368,7 +374,7 @@ public class ActionPolicy extends Policy {
         // check the index for the label.
         for (String labelAttr : dynamicLabelRuleAlgorithms) {
             if (labelAttr.equals(value1Label)) {
-                String value1 = dynamicFieldOneRuleAlgorithms.get(index).toString();
+                String value1 = dynamicFieldOneRuleAlgorithms.get(index);
                 // check if the row contains label again
                 for (String labelValue : dynamicLabelRuleAlgorithms) {
                     if (labelValue.equals(value1)) {
@@ -404,11 +410,15 @@ public class ActionPolicy extends Policy {
                     attributeDesignator2.setCategory(CATEGORY_RESOURCE);
 
                     // Here set actual field values
-                    attributeDesignator1.setAttributeId(value1.contains("resource:") ? value1.substring(9): value1.substring(8));
-                    attributeDesignator2.setAttributeId(value1.contains("resource:") ? value1.substring(9): value1.substring(8));
+                    attributeDesignator1
+                            .setAttributeId(value1.contains("resource:") ? value1.substring(9) : value1.substring(8));
+                    attributeDesignator2
+                            .setAttributeId(value1.contains("resource:") ? value1.substring(9) : value1.substring(8));
 
-                    innerActionApply1.getExpression().add(new ObjectFactory().createAttributeDesignator(attributeDesignator1));
-                    innerActionApply2.getExpression().add(new ObjectFactory().createAttributeDesignator(attributeDesignator2));
+                    innerActionApply1.getExpression()
+                            .add(new ObjectFactory().createAttributeDesignator(attributeDesignator1));
+                    innerActionApply2.getExpression()
+                            .add(new ObjectFactory().createAttributeDesignator(attributeDesignator2));
 
                     actionApply.getExpression().add(new ObjectFactory().createApply(innerActionApply1));
                     actionApply.getExpression().add(new ObjectFactory().createApply(innerActionApply2));
@@ -440,13 +450,16 @@ public class ActionPolicy extends Policy {
                         attributeDesignator.setAttributeId(attributeId);
                     }
                     actionConditionAttributeValue.getContent().add(attributeValue);
-                    innerActionApply.getExpression().add(new ObjectFactory().createAttributeDesignator(attributeDesignator));
+                    innerActionApply.getExpression()
+                            .add(new ObjectFactory().createAttributeDesignator(attributeDesignator));
                     // Decide the order of element based the values.
                     if (attributeId.equals(value1)) {
                         actionApply.getExpression().add(new ObjectFactory().createApply(innerActionApply));
-                        actionApply.getExpression().add(new ObjectFactory().createAttributeValue(actionConditionAttributeValue));
+                        actionApply.getExpression()
+                                .add(new ObjectFactory().createAttributeValue(actionConditionAttributeValue));
                     } else {
-                        actionApply.getExpression().add(new ObjectFactory().createAttributeValue(actionConditionAttributeValue));
+                        actionApply.getExpression()
+                                .add(new ObjectFactory().createAttributeValue(actionConditionAttributeValue));
                         actionApply.getExpression().add(new ObjectFactory().createApply(innerActionApply));
                     }
                 }
@@ -467,7 +480,7 @@ public class ActionPolicy extends Policy {
         actionApply.getExpression().add(new ObjectFactory().createApply(getInnerActionApply(value2)));
         return actionApply;
     }
-        
+
     // Adding the dynamic headers if any
     private AttributeAssignmentExpressionType addDynamicHeaders(String header, String value) {
         AttributeAssignmentExpressionType assignmentHeaders = new AttributeAssignmentExpressionType();
@@ -486,10 +499,11 @@ public class ActionPolicy extends Policy {
     public Object getCorrectPolicyDataObject() {
         return policyAdapter.getPolicyData();
     }
-    
-    public String getFunctionDefinitionId(String key){
-        FunctionDefinition object = (FunctionDefinition) commonClassDao.getDataById(FunctionDefinition.class, "short_name", key);
-        if(object != null){
+
+    public String getFunctionDefinitionId(String key) {
+        FunctionDefinition object =
+                (FunctionDefinition) commonClassDao.getDataById(FunctionDefinition.class, "short_name", key);
+        if (object != null) {
             return object.getXacmlid();
         }
         return null;
index e446c2a..8ca4dfa 100644 (file)
@@ -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.
@@ -54,7 +54,7 @@ import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.ObjectFactory;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.RuleType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType; 
+import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType;
 
 public class ClosedLoopPolicy extends Policy {
 
@@ -64,24 +64,24 @@ public class ClosedLoopPolicy extends Policy {
         super();
     }
 
-    public ClosedLoopPolicy(PolicyRestAdapter policyAdapter){
+    public ClosedLoopPolicy(PolicyRestAdapter policyAdapter) {
         this.policyAdapter = policyAdapter;
     }
 
     //save configuration of the policy based on the policyname
     private void saveConfigurations(String policyName, String jsonBody) {
 
-            if(policyName.endsWith(".xml")){
-                policyName = policyName.replace(".xml", "");
-            }
-        try (PrintWriter out = new PrintWriter(CONFIG_HOME + File.separator+ policyName +".json")){
+        if (policyName.endsWith(".xml")) {
+            policyName = policyName.replace(".xml", "");
+        }
+        try (PrintWriter out = new PrintWriter(CONFIG_HOME + File.separator + policyName + ".json")) {
             String body = jsonBody;
             //Remove the trapMaxAge in Verification Signature
             body = body.replace(",\"trapMaxAge\":null", "");
             this.policyAdapter.setJsonBody(body);
             out.println(body);
         } catch (Exception e) {
-            LOGGER.error("Exception Occured while writing Configuration Data"+e);
+            LOGGER.error("Exception Occured while writing Configuration Data" + e);
         }
     }
 
@@ -107,12 +107,12 @@ public class ClosedLoopPolicy extends Policy {
     public Map<String, String> savePolicies() throws PAPException {
 
         Map<String, String> successMap = new HashMap<>();
-        if(isPolicyExists()){
+        if (isPolicyExists()) {
             successMap.put("EXISTS", "This Policy already exist on the PAP");
             return successMap;
         }
 
-        if(!isPreparedToSave()){
+        if (!isPreparedToSave()) {
             prepareToSave();
         }
 
@@ -120,16 +120,16 @@ public class ClosedLoopPolicy extends Policy {
         Path newPolicyPath = null;
         newPolicyPath = Paths.get(policyAdapter.getNewFileName());
 
-        successMap = createPolicy(newPolicyPath,getCorrectPolicyDataObject());
+        successMap = createPolicy(newPolicyPath, getCorrectPolicyDataObject());
         return successMap;
     }
 
     //This is the method for preparing the policy for saving.  We have broken it out
     //separately because the fully configured policy is used for multiple things
     @Override
-    public boolean prepareToSave() throws PAPException{
+    public boolean prepareToSave() throws PAPException {
 
-        if(isPreparedToSave()){
+        if (isPreparedToSave()) {
             //we have already done this
             return true;
         }
@@ -166,9 +166,9 @@ public class ClosedLoopPolicy extends Policy {
 
             AllOfType allOfOne = new AllOfType();
             String fileName = policyAdapter.getNewFileName();
-            String name = fileName.substring(fileName.lastIndexOf("\\") + 1, fileName.length());
+            String name = fileName.substring(fileName.lastIndexOf("\\") + 1);
             if ((name == null) || (name.equals(""))) {
-                name = fileName.substring(fileName.lastIndexOf("/") + 1, fileName.length());
+                name = fileName.substring(fileName.lastIndexOf("/") + 1);
             }
             allOfOne.getMatch().add(createMatch("PolicyName", name));
             AllOfType allOf = new AllOfType();
@@ -215,7 +215,8 @@ public class ClosedLoopPolicy extends Policy {
             try {
                 accessURI = new URI(ACTION_ID);
             } catch (URISyntaxException e) {
-                PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, "CreateClosedLoopPolicy", "Exception creating ACCESS URI");
+                PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, "CreateClosedLoopPolicy",
+                        "Exception creating ACCESS URI");
             }
             accessAttributeDesignator.setCategory(CATEGORY_ACTION);
             accessAttributeDesignator.setDataType(STRING_DATATYPE);
@@ -234,7 +235,8 @@ public class ClosedLoopPolicy extends Policy {
             try {
                 closedURI = new URI(RESOURCE_ID);
             } catch (URISyntaxException e) {
-                PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, "CreateClosedLoopPolicy", "Exception creating closed URI");
+                PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, "CreateClosedLoopPolicy",
+                        "Exception creating closed URI");
             }
             closedAttributeDesignator.setCategory(CATEGORY_RESOURCE);
             closedAttributeDesignator.setDataType(STRING_DATATYPE);
@@ -291,7 +293,7 @@ public class ClosedLoopPolicy extends Policy {
 
         AttributeValueType AttributeValue = new AttributeValueType();
         AttributeValue.setDataType(URI_DATATYPE);
-        String content = CONFIG_URL +"/Config/" + getConfigFile(policyName);
+        String content = CONFIG_URL + "/Config/" + getConfigFile(policyName);
         System.out.println("URL value :" + content);
         AttributeValue.getContent().add(content);
         assignment2.setExpression(new ObjectFactory().createAttributeValue(AttributeValue));
@@ -306,9 +308,9 @@ public class ClosedLoopPolicy extends Policy {
         attributeValue3.setDataType(STRING_DATATYPE);
         fileName = FilenameUtils.removeExtension(fileName);
         fileName = fileName + ".xml";
-        String name = fileName.substring(fileName.lastIndexOf("\\") + 1, fileName.length());
+        String name = fileName.substring(fileName.lastIndexOf("\\") + 1);
         if ((name == null) || (name.equals(""))) {
-            name = fileName.substring(fileName.lastIndexOf("/") + 1, fileName.length());
+            name = fileName.substring(fileName.lastIndexOf("/") + 1);
         }
         attributeValue3.getContent().add(name);
         assignment3.setExpression(new ObjectFactory().createAttributeValue(attributeValue3));
@@ -388,7 +390,6 @@ public class ClosedLoopPolicy extends Policy {
         advice.getAttributeAssignmentExpression().add(assignment9);
 
 
-
         advices.getAdviceExpression().add(advice);
         return advices;
     }
index 6c66898..0cd2638 100644 (file)
@@ -8,9 +8,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.
@@ -75,20 +75,20 @@ public class ConfigPolicy extends Policy {
         super();
     }
 
-    public ConfigPolicy(PolicyRestAdapter policyAdapter){
+    public ConfigPolicy(PolicyRestAdapter policyAdapter) {
         this.policyAdapter = policyAdapter;
     }
 
     // Saving the Configurations file at server location for config policy.
     protected void saveConfigurations(String policyName) {
         String fileName = getConfigFile(policyName);
-        try(BufferedWriter bw = new BufferedWriter(new FileWriter(CONFIG_HOME + File.separator + fileName))) {
+        try (BufferedWriter bw = new BufferedWriter(new FileWriter(CONFIG_HOME + File.separator + fileName))) {
             bw.write(configBodyData);
             if (LOGGER.isDebugEnabled()) {
                 LOGGER.debug("Configuration is succesfully saved");
             }
         } catch (IOException e) {
-            LOGGER.error("Exception Occured while writing Configuration Data"+e);
+            LOGGER.error("Exception Occured while writing Configuration Data" + e);
         }
     }
 
@@ -144,7 +144,7 @@ public class ConfigPolicy extends Policy {
                     isValidForm = false;
                 }
             } else if (id.equals(PROPERTIES_CONFIG)) {
-                if (!PolicyUtils.isPropValid(configBodyData)||configBodyData.equals("")) {
+                if (!PolicyUtils.isPropValid(configBodyData) || configBodyData.equals("")) {
                     isValidForm = false;
                 }
             } else if (id.equals(OTHER_CONFIG)) {
@@ -161,12 +161,12 @@ public class ConfigPolicy extends Policy {
     public Map<String, String> savePolicies() throws PAPException {
 
         Map<String, String> successMap = new HashMap<>();
-        if(isPolicyExists()){
+        if (isPolicyExists()) {
             successMap.put("EXISTS", "This Policy already exist on the PAP");
             return successMap;
         }
 
-        if(!isPreparedToSave()){
+        if (!isPreparedToSave()) {
             //Prep and configure the policy for saving
             prepareToSave();
         }
@@ -174,16 +174,16 @@ public class ConfigPolicy extends Policy {
         // Until here we prepared the data and here calling the method to create xml.
         Path newPolicyPath = null;
         newPolicyPath = Paths.get(policyAdapter.getNewFileName());
-        successMap = createPolicy(newPolicyPath,getCorrectPolicyDataObject());
+        successMap = createPolicy(newPolicyPath, getCorrectPolicyDataObject());
         return successMap;
     }
 
     //This is the method for preparing the policy for saving.  We have broken it out
     //separately because the fully configured policy is used for multiple things
     @Override
-    public boolean prepareToSave() throws PAPException{
+    public boolean prepareToSave() throws PAPException {
 
-        if(isPreparedToSave()){
+        if (isPreparedToSave()) {
             return true;
         }
 
@@ -214,9 +214,9 @@ public class ConfigPolicy extends Policy {
             AllOfType allOfOne = new AllOfType();
 
             String fileName = policyAdapter.getNewFileName();
-            String name = fileName.substring(fileName.lastIndexOf("\\") + 1, fileName.length());
+            String name = fileName.substring(fileName.lastIndexOf("\\") + 1);
             if ((name == null) || (name.equals(""))) {
-                name = fileName.substring(fileName.lastIndexOf("/") + 1, fileName.length());
+                name = fileName.substring(fileName.lastIndexOf("/") + 1);
             }
             allOfOne.getMatch().add(createMatch("PolicyName", name));
             AllOfType allOf = new AllOfType();
@@ -269,9 +269,9 @@ public class ConfigPolicy extends Policy {
             accessMatch.setAttributeValue(accessAttributeValue);
             AttributeDesignatorType accessAttributeDesignator = new AttributeDesignatorType();
             URI accessURI = null;
-            try{
+            try {
                 accessURI = new URI(ACTION_ID);
-            }catch(URISyntaxException e){
+            } catch (URISyntaxException e) {
                 PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, "ConfigPolicy", "Exception creating ACCESS URI");
             }
             accessAttributeDesignator.setCategory(CATEGORY_ACTION);
@@ -288,9 +288,9 @@ public class ConfigPolicy extends Policy {
             configMatch.setAttributeValue(configAttributeValue);
             AttributeDesignatorType configAttributeDesignator = new AttributeDesignatorType();
             URI configURI = null;
-            try{
+            try {
                 configURI = new URI(RESOURCE_ID);
-            }catch(URISyntaxException e){
+            } catch (URISyntaxException e) {
                 PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, "ConfigPolicy", "Exception creating Config URI");
             }
             configAttributeDesignator.setCategory(CATEGORY_RESOURCE);
@@ -365,9 +365,9 @@ public class ConfigPolicy extends Policy {
 
             fileName = FilenameUtils.removeExtension(fileName);
             fileName = fileName + ".xml";
-            String name = fileName.substring(fileName.lastIndexOf("\\") + 1, fileName.length());
+            String name = fileName.substring(fileName.lastIndexOf("\\") + 1);
             if ((name == null) || (name.equals(""))) {
-                name = fileName.substring(fileName.lastIndexOf("/") + 1, fileName.length());
+                name = fileName.substring(fileName.lastIndexOf("/") + 1);
             }
             attributeValue3.getContent().add(name);
             assignment3.setExpression(new ObjectFactory().createAttributeValue(attributeValue3));
index 3d9a779..6a0c926 100644 (file)
@@ -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.
@@ -66,7 +66,7 @@ import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.ObjectFactory;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.RuleType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType; 
+import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType;
 
 public class CreateBrmsParamPolicy extends Policy {
 
@@ -84,37 +84,36 @@ public class CreateBrmsParamPolicy extends Policy {
 
     public String expandConfigBody(String ruleContents, Map<String, String> brmsParamBody) {
 
-        Map<String,String> copyMap=new HashMap<>();
+        Map<String, String> copyMap = new HashMap<>();
         copyMap.putAll(brmsParamBody);
         copyMap.put("policyName", policyName.substring(0, policyName.replace(".xml", "").lastIndexOf('.')));
         copyMap.put("policyScope", policyAdapter.getDomainDir());
-        copyMap.put("policyVersion",policyAdapter.getHighestVersion().toString());
-        copyMap.put("unique", ("p"+policyName+UUID.randomUUID().toString()).replaceAll("[^A-Za-z0-9]", ""));
+        copyMap.put("policyVersion", policyAdapter.getHighestVersion().toString());
+        copyMap.put("unique", ("p" + policyName + UUID.randomUUID().toString()).replaceAll("[^A-Za-z0-9]", ""));
 
         //Finding all the keys in the Map data-structure.
         Iterator<String> iterator = copyMap.keySet().iterator();
         Pattern p;
         Matcher m;
-        while(iterator.hasNext()) {
+        while (iterator.hasNext()) {
             //Converting the first character of the key into a lower case.
-            String input= iterator.next();
-            String output  = Character.toLowerCase(input.charAt(0)) +
+            String input = iterator.next();
+            String output = Character.toLowerCase(input.charAt(0)) +
                     (input.length() > 1 ? input.substring(1) : "");
             //Searching for a pattern in the String using the key.
-            p=Pattern.compile("\\$\\{"+output+"\\}");
-            m=p.matcher(ruleContents);
+            p = Pattern.compile("\\$\\{" + output + "\\}");
+            m = p.matcher(ruleContents);
             //Replacing the value with the inputs provided by the user in the editor.
             String finalInput = copyMap.get(input);
-            if(finalInput.contains("$")){
+            if (finalInput.contains("$")) {
                 finalInput = finalInput.replace("$", "\\$");
             }
-            ruleContents=m.replaceAll(finalInput);
+            ruleContents = m.replaceAll(finalInput);
         }
         return ruleContents;
     }
 
 
-    
     // Utility to read json data from the existing file to a string
     static String readFile(String path, Charset encoding) throws IOException {
         byte[] encoded = Files.readAllBytes(Paths.get(path));
@@ -127,13 +126,14 @@ public class CreateBrmsParamPolicy extends Policy {
             policyName = policyName.substring(0, policyName.lastIndexOf(".xml"));
         }
         try (PrintWriter out = new PrintWriter(CONFIG_HOME + File.separator + policyName + ".txt")) {
-            String expandedBody=expandConfigBody(ruleBody,policyAdapter.getBrmsParamBody());
+            String expandedBody = expandConfigBody(ruleBody, policyAdapter.getBrmsParamBody());
             out.println(expandedBody);
             policyAdapter.setJsonBody(expandedBody);
             policyAdapter.setConfigBodyData(expandedBody);
             out.close();
         } catch (Exception e) {
-            PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "CreateBrmsParamPolicy", "Exception saving configuration file");
+            PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "CreateBrmsParamPolicy",
+                    "Exception saving configuration file");
         }
     }
 
@@ -163,7 +163,7 @@ public class CreateBrmsParamPolicy extends Policy {
     public Map<String, String> savePolicies() throws PAPException {
 
         Map<String, String> successMap = new HashMap<>();
-        if(isPolicyExists()){
+        if (isPolicyExists()) {
             successMap.put("EXISTS", "This Policy already exist on the PAP");
             return successMap;
         }
@@ -175,8 +175,8 @@ public class CreateBrmsParamPolicy extends Policy {
         // xml.
         Path newPolicyPath = null;
         newPolicyPath = Paths.get(policyAdapter.getNewFileName());
-        successMap = createPolicy(newPolicyPath,getCorrectPolicyDataObject());
-        if(successMap == null){
+        successMap = createPolicy(newPolicyPath, getCorrectPolicyDataObject());
+        if (successMap == null) {
             successMap = new HashMap<>();
             PolicyLogger.error("Failed to Update the Database Dictionary Tables.");
             successMap.put("error", "DB UPDATE");
@@ -184,14 +184,14 @@ public class CreateBrmsParamPolicy extends Policy {
         return successMap;
     }
 
-    private String getValueFromDictionary(String templateName){
+    private String getValueFromDictionary(String templateName) {
         String ruleTemplate = null;
         CommonClassDaoImpl dbConnection = new CommonClassDaoImpl();
-        String queryString="from BRMSParamTemplate where param_template_name= :templateName";
+        String queryString = "from BRMSParamTemplate where param_template_name= :templateName";
         SimpleBindings params = new SimpleBindings();
         params.put("templateName", templateName);
         List<Object> result = dbConnection.getDataByQuery(queryString, params);
-        if(!result.isEmpty()){
+        if (!result.isEmpty()) {
             BRMSParamTemplate template = (BRMSParamTemplate) result.get(0);
             ruleTemplate = template.getRule();
         }
@@ -199,14 +199,14 @@ public class CreateBrmsParamPolicy extends Policy {
     }
 
     protected Map<String, String> findType(String rule) {
-        Map<String, String> mapFieldType= new HashMap<>();
-        if(rule!=null){
+        Map<String, String> mapFieldType = new HashMap<>();
+        if (rule != null) {
             try {
                 StringBuilder params = new StringBuilder();
                 Boolean flag = false;
                 Boolean comment = false;
                 String lines[] = rule.split("\n");
-                for(String line : lines){
+                for (String line : lines) {
                     if (line.isEmpty() || line.startsWith("//")) {
                         continue;
                     }
@@ -214,8 +214,8 @@ public class CreateBrmsParamPolicy extends Policy {
                         comment = true;
                         continue;
                     }
-                    if (line.contains("//") && !(line.contains("http://") || line.contains("https://"))){
-                            line = line.split("\\/\\/")[0];
+                    if (line.contains("//") && !(line.contains("http://") || line.contains("https://"))) {
+                        line = line.split("\\/\\/")[0];
                     }
                     if (line.contains("/*")) {
                         comment = true;
@@ -264,7 +264,7 @@ public class CreateBrmsParamPolicy extends Policy {
                     if (i == 0) {
                         caption = components[i];
                     }
-                    if(caption.equals("")){
+                    if (caption.equals("")) {
                         break;
                     }
                     String nextComponent = "";
@@ -286,7 +286,8 @@ public class CreateBrmsParamPolicy extends Policy {
                     }
                 }
             } catch (Exception e) {
-                PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "CreateBrmsParamPolicy", "Exception parsing file in findType");
+                PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, "CreateBrmsParamPolicy",
+                        "Exception parsing file in findType");
             }
         }
         return mapFieldType;
@@ -322,30 +323,32 @@ public class CreateBrmsParamPolicy extends Policy {
         policyName = policyAdapter.getNewFileName();
 
         if (policyAdapter.getData() != null) {
-            Map<String,String> ruleAndUIValue= policyAdapter.getBrmsParamBody();
-            String templateValue= ruleAndUIValue.get("templateName");
-            String valueFromDictionary= getValueFromDictionary(templateValue);
+            Map<String, String> ruleAndUIValue = policyAdapter.getBrmsParamBody();
+            String templateValue = ruleAndUIValue.get("templateName");
+            String valueFromDictionary = getValueFromDictionary(templateValue);
 
             StringBuilder body = new StringBuilder();
 
             try {
-                body.append("/* Autogenerated Code Please Don't change/remove this comment section. This is for the UI purpose. \n\t " +
-                        "<$%BRMSParamTemplate=" + templateValue + "%$> \n");
+                body.append(
+                        "/* Autogenerated Code Please Don't change/remove this comment section. This is for the UI " +
+                                "purpose. \n\t " +
+                                "<$%BRMSParamTemplate=" + templateValue + "%$> \n");
                 body.append("<%$Values=");
                 for (Map.Entry<String, String> entry : ruleAndUIValue.entrySet()) {
                     String uiKey = entry.getKey();
-                    if(!"templateName".equals(uiKey)) {
-                        body.append(uiKey+":-:"+entry.getValue()+":|:");
+                    if (!"templateName".equals(uiKey)) {
+                        body.append(uiKey + ":-:" + entry.getValue() + ":|:");
                     }
                 }
                 body.append("$%> \n*/ \n");
                 body.append(valueFromDictionary + "\n");
-            }
-            catch (Exception e) {
-                PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "CreateBrmsParamPolicy", "Exception saving policy");
+            } catch (Exception e) {
+                PolicyLogger
+                        .error(MessageCodes.ERROR_PROCESS_FLOW, e, "CreateBrmsParamPolicy", "Exception saving policy");
             }
 
-            saveConfigurations(policyName,body.toString());
+            saveConfigurations(policyName, body.toString());
 
             // Make sure the filename ends with an extension
             if (!policyName.endsWith(".xml")) {
@@ -361,10 +364,10 @@ public class CreateBrmsParamPolicy extends Policy {
             AllOfType allOfOne = new AllOfType();
 
             String fileName = policyAdapter.getNewFileName();
-            String name = fileName.substring(fileName.lastIndexOf("\\") + 1, fileName.length());
+            String name = fileName.substring(fileName.lastIndexOf("\\") + 1);
             if ((name == null) || (name.equals(""))) {
-                name = fileName.substring(fileName.lastIndexOf("/") + 1,
-                        fileName.length());
+                name = fileName.substring(fileName.lastIndexOf("/") + 1
+                );
             }
             allOfOne.getMatch().add(createMatch("PolicyName", name));
 
@@ -411,7 +414,8 @@ public class CreateBrmsParamPolicy extends Policy {
             try {
                 accessURI = new URI(ACTION_ID);
             } catch (URISyntaxException e) {
-                PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, "CreateBrmsParamPolicy", "Exception creating ACCESS URI");
+                PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, "CreateBrmsParamPolicy",
+                        "Exception creating ACCESS URI");
             }
             accessAttributeDesignator.setCategory(CATEGORY_ACTION);
             accessAttributeDesignator.setDataType(STRING_DATATYPE);
@@ -433,7 +437,8 @@ public class CreateBrmsParamPolicy extends Policy {
             try {
                 configURI = new URI(RESOURCE_ID);
             } catch (URISyntaxException e) {
-                PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, "CreateBrmsParamPolicy", "Exception creating Config URI");
+                PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, "CreateBrmsParamPolicy",
+                        "Exception creating Config URI");
             }
 
             configAttributeDesignator.setCategory(CATEGORY_RESOURCE);
@@ -469,7 +474,7 @@ public class CreateBrmsParamPolicy extends Policy {
 
     // Data required for Advice part is setting here.
     private AdviceExpressionsType getAdviceExpressions(int version,
-            String fileName) {
+                                                       String fileName) {
 
         //Policy Config ID Assignment
         AdviceExpressionsType advices = new AdviceExpressionsType();
@@ -497,7 +502,7 @@ public class CreateBrmsParamPolicy extends Policy {
         AttributeValueType attributeValue = new AttributeValueType();
         attributeValue.setDataType(URI_DATATYPE);
 
-        String content = CONFIG_URL + "/Config/"+ getConfigFile(policyName);
+        String content = CONFIG_URL + "/Config/" + getConfigFile(policyName);
 
         attributeValue.getContent().add(content);
         assignment2.setExpression(new ObjectFactory()
@@ -513,11 +518,11 @@ public class CreateBrmsParamPolicy extends Policy {
         attributeValue3.setDataType(STRING_DATATYPE);
         fileName = FilenameUtils.removeExtension(fileName);
         fileName = fileName + ".xml";
-        String name = fileName.substring(fileName.lastIndexOf("\\") + 1,
-                fileName.length());
+        String name = fileName.substring(fileName.lastIndexOf("\\") + 1
+        );
         if ((name == null) || (name.equals(""))) {
-            name = fileName.substring(fileName.lastIndexOf("/") + 1,
-                    fileName.length());
+            name = fileName.substring(fileName.lastIndexOf("/") + 1
+            );
         }
         attributeValue3.getContent().add(name);
         assignment3.setExpression(new ObjectFactory()
@@ -551,7 +556,7 @@ public class CreateBrmsParamPolicy extends Policy {
 
         //Config Name Assignment
         AttributeAssignmentExpressionType assignment6 = new AttributeAssignmentExpressionType();
-        assignment6.setAttributeId("matching:" +CONFIGID);
+        assignment6.setAttributeId("matching:" + CONFIGID);
         assignment6.setCategory(CATEGORY_RESOURCE);
         assignment6.setIssuer("");
         AttributeValueType configNameAttributeValue6 = new AttributeValueType();
@@ -560,30 +565,32 @@ public class CreateBrmsParamPolicy extends Policy {
         assignment6.setExpression(new ObjectFactory().createAttributeValue(configNameAttributeValue6));
         advice.getAttributeAssignmentExpression().add(assignment6);
         // Adding Controller Information. 
-        if(policyAdapter.getBrmsController()!=null){
+        if (policyAdapter.getBrmsController() != null) {
             BRMSDictionaryController brmsDicitonaryController = new BRMSDictionaryController();
             advice.getAttributeAssignmentExpression().add(
-                        createResponseAttributes("controller:"+ policyAdapter.getBrmsController(), 
-                                brmsDicitonaryController.getControllerDataByID(policyAdapter.getBrmsController()).getController()));
+                    createResponseAttributes("controller:" + policyAdapter.getBrmsController(),
+                            brmsDicitonaryController.getControllerDataByID(policyAdapter.getBrmsController())
+                                    .getController()));
         }
-        
+
         // Adding Dependencies. 
-        if(policyAdapter.getBrmsDependency()!=null){
+        if (policyAdapter.getBrmsDependency() != null) {
             BRMSDictionaryController brmsDicitonaryController = new BRMSDictionaryController();
             ArrayList<String> dependencies = new ArrayList<>();
             StringBuilder key = new StringBuilder();
-            for(String dependencyName: policyAdapter.getBrmsDependency()){
+            for (String dependencyName : policyAdapter.getBrmsDependency()) {
                 dependencies.add(brmsDicitonaryController.getDependencyDataByID(dependencyName).getDependency());
                 key.append(dependencyName + ",");
             }
             advice.getAttributeAssignmentExpression().add(
-                        createResponseAttributes("dependencies:"+key.toString(), dependencies.toString()));
+                    createResponseAttributes("dependencies:" + key.toString(), dependencies.toString()));
         }
-        
+
         // Dynamic Field Config Attributes. 
         Map<String, String> dynamicFieldConfigAttributes = policyAdapter.getDynamicFieldConfigAttributes();
         for (Entry<String, String> map : dynamicFieldConfigAttributes.entrySet()) {
-            advice.getAttributeAssignmentExpression().add(createResponseAttributes("key:"+map.getKey(), map.getValue()));
+            advice.getAttributeAssignmentExpression()
+                    .add(createResponseAttributes("key:" + map.getKey(), map.getValue()));
         }
 
         //Risk Attributes
@@ -644,7 +651,7 @@ public class CreateBrmsParamPolicy extends Policy {
         return policyAdapter.getData();
     }
 
-    private AttributeAssignmentExpressionType  createResponseAttributes(String key, String value){
+    private AttributeAssignmentExpressionType createResponseAttributes(String key, String value) {
         AttributeAssignmentExpressionType assignment7 = new AttributeAssignmentExpressionType();
         assignment7.setAttributeId(key);
         assignment7.setCategory(CATEGORY_RESOURCE);
index 7290f4c..efa28b2 100644 (file)
@@ -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.
@@ -60,6 +60,8 @@ import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType;
 
 public class CreateBrmsRawPolicy extends Policy {
 
+    private static final String EMPTY_STRING = "";
+
     public CreateBrmsRawPolicy() {
         super();
     }
@@ -73,14 +75,15 @@ public class CreateBrmsRawPolicy extends Policy {
     // Saving the Configurations file at server location for CreateBrmsRawPolicy policy.
     protected void saveConfigurations(String policyName, String jsonBody) {
 
-            if (policyName.endsWith(".xml")) {
-                policyName = policyName.substring(0,
-                            policyName.lastIndexOf(".xml"));
-            }
-        try (PrintWriter out = new PrintWriter(CONFIG_HOME + File.separator + policyName + ".txt")){
+        if (policyName.endsWith(".xml")) {
+            policyName = policyName.substring(0,
+                    policyName.lastIndexOf(".xml"));
+        }
+        try (PrintWriter out = new PrintWriter(CONFIG_HOME + File.separator + policyName + ".txt")) {
             out.println(jsonBody);
         } catch (Exception e) {
-            PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "CreateBrmsRawPolicy", "Exception saving configurations file");
+            PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "CreateBrmsRawPolicy",
+                    "Exception saving configurations file");
         }
     }
 
@@ -117,7 +120,7 @@ public class CreateBrmsRawPolicy extends Policy {
     public Map<String, String> savePolicies() throws PAPException {
 
         Map<String, String> successMap = new HashMap<>();
-        if(isPolicyExists()){
+        if (isPolicyExists()) {
             successMap.put("EXISTS", "This Policy already exist on the PAP");
             return successMap;
         }
@@ -145,7 +148,7 @@ public class CreateBrmsRawPolicy extends Policy {
     // separately because the fully configured policy is used for multiple
     // things
     @Override
-    public boolean prepareToSave() throws PAPException {
+    public boolean prepareToSave() {
 
         if (isPreparedToSave()) {
             // we have already done this
@@ -158,7 +161,7 @@ public class CreateBrmsRawPolicy extends Policy {
 
         // Create the Instance for pojo, PolicyType object is used in
         // marshalling.
-        if (policyAdapter.getPolicyType().equals("Config")) {
+        if ("Config".equals(policyAdapter.getPolicyType())) {
             PolicyType policyConfig = new PolicyType();
 
             policyConfig.setVersion(Integer.toString(version));
@@ -170,12 +173,11 @@ public class CreateBrmsRawPolicy extends Policy {
         policyName = policyAdapter.getNewFileName();
 
         if (policyAdapter.getData() != null) {
-            //String jsonBody = policyAdapter.getJsonBody();
-            String configBody=policyAdapter.getConfigBodyData();
+            String configBody = policyAdapter.getConfigBodyData();
             saveConfigurations(policyName, configBody);
 
             // Make sure the filename ends with an extension
-            if (policyName.endsWith(".xml") == false) {
+            if (!policyName.endsWith(".xml")) {
                 policyName = policyName + ".xml";
             }
 
@@ -187,10 +189,9 @@ public class CreateBrmsRawPolicy extends Policy {
 
             AllOfType allOfOne = new AllOfType();
             String fileName = policyAdapter.getNewFileName();
-            String name = fileName.substring(fileName.lastIndexOf("\\") + 1, fileName.length());
-            if ((name == null) || (name.equals(""))) {
-                name = fileName.substring(fileName.lastIndexOf("/") + 1,
-                        fileName.length());
+            String name = fileName.substring(fileName.lastIndexOf("\\") + 1);
+            if (EMPTY_STRING.equals(name)) {
+                name = fileName.substring(fileName.lastIndexOf("/") + 1);
             }
             allOfOne.getMatch().add(createMatch("PolicyName", name));
 
@@ -213,10 +214,10 @@ public class CreateBrmsRawPolicy extends Policy {
             anyOf.getAllOf().add(allOf);
 
             TargetType target = new TargetType();
-            ((TargetType) target).getAnyOf().add(anyOf);
+            target.getAnyOf().add(anyOf);
 
             // Adding the target to the policy element
-            configPolicy.setTarget((TargetType) target);
+            configPolicy.setTarget(target);
 
             RuleType rule = new RuleType();
             rule.setRuleId(policyAdapter.getRuleID());
@@ -237,7 +238,8 @@ public class CreateBrmsRawPolicy extends Policy {
             try {
                 accessURI = new URI(ACTION_ID);
             } catch (URISyntaxException e) {
-                PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, "CreateBrmsRawPolicy", "Exception creating ACCESS URI");
+                PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, "CreateBrmsRawPolicy",
+                        "Exception creating ACCESS URI");
             }
             accessAttributeDesignator.setCategory(CATEGORY_ACTION);
             accessAttributeDesignator.setDataType(STRING_DATATYPE);
@@ -259,7 +261,8 @@ public class CreateBrmsRawPolicy extends Policy {
             try {
                 configURI = new URI(RESOURCE_ID);
             } catch (URISyntaxException e) {
-                PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, "CreateBrmsRawPolicy", "Exception creating Config URI");
+                PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, "CreateBrmsRawPolicy",
+                        "Exception creating Config URI");
             }
 
             configAttributeDesignator.setCategory(CATEGORY_RESOURCE);
@@ -296,7 +299,7 @@ public class CreateBrmsRawPolicy extends Policy {
 
     // Data required for Advice part is setting here.
     private AdviceExpressionsType getAdviceExpressions(int version,
-            String fileName) {
+                                                       String fileName) {
 
         // Policy Config ID Assignment
         AdviceExpressionsType advices = new AdviceExpressionsType();
@@ -307,7 +310,7 @@ public class CreateBrmsRawPolicy extends Policy {
         AttributeAssignmentExpressionType assignment1 = new AttributeAssignmentExpressionType();
         assignment1.setAttributeId("type");
         assignment1.setCategory(CATEGORY_RESOURCE);
-        assignment1.setIssuer("");
+        assignment1.setIssuer(EMPTY_STRING);
         AttributeValueType configNameAttributeValue = new AttributeValueType();
         configNameAttributeValue.setDataType(STRING_DATATYPE);
         configNameAttributeValue.getContent().add("Configuration");
@@ -320,7 +323,7 @@ public class CreateBrmsRawPolicy extends Policy {
         AttributeAssignmentExpressionType assignment2 = new AttributeAssignmentExpressionType();
         assignment2.setAttributeId("URLID");
         assignment2.setCategory(CATEGORY_RESOURCE);
-        assignment2.setIssuer("");
+        assignment2.setIssuer(EMPTY_STRING);
         AttributeValueType AttributeValue = new AttributeValueType();
         AttributeValue.setDataType(URI_DATATYPE);
 
@@ -335,17 +338,15 @@ public class CreateBrmsRawPolicy extends Policy {
         AttributeAssignmentExpressionType assignment3 = new AttributeAssignmentExpressionType();
         assignment3.setAttributeId("PolicyName");
         assignment3.setCategory(CATEGORY_RESOURCE);
-        assignment3.setIssuer("");
+        assignment3.setIssuer(EMPTY_STRING);
         AttributeValueType attributeValue3 = new AttributeValueType();
         attributeValue3.setDataType(STRING_DATATYPE);
         fileName = FilenameUtils.removeExtension(fileName);
         fileName = fileName + ".xml";
         System.out.println(fileName);
-        String name = fileName.substring(fileName.lastIndexOf("\\") + 1,
-                fileName.length());
-        if ((name == null) || (name.equals(""))) {
-            name = fileName.substring(fileName.lastIndexOf("/") + 1,
-                    fileName.length());
+        String name = fileName.substring(fileName.lastIndexOf("\\") + 1);
+        if (EMPTY_STRING.equals(name)) {
+            name = fileName.substring(fileName.lastIndexOf("/") + 1);
         }
         System.out.println(name);
         attributeValue3.getContent().add(name);
@@ -357,7 +358,7 @@ public class CreateBrmsRawPolicy extends Policy {
         AttributeAssignmentExpressionType assignment4 = new AttributeAssignmentExpressionType();
         assignment4.setAttributeId("VersionNumber");
         assignment4.setCategory(CATEGORY_RESOURCE);
-        assignment4.setIssuer("");
+        assignment4.setIssuer(EMPTY_STRING);
         AttributeValueType configNameAttributeValue4 = new AttributeValueType();
         configNameAttributeValue4.setDataType(STRING_DATATYPE);
         configNameAttributeValue4.getContent().add(Integer.toString(version));
@@ -369,7 +370,7 @@ public class CreateBrmsRawPolicy extends Policy {
         AttributeAssignmentExpressionType assignment5 = new AttributeAssignmentExpressionType();
         assignment5.setAttributeId("matching:" + ONAPID);
         assignment5.setCategory(CATEGORY_RESOURCE);
-        assignment5.setIssuer("");
+        assignment5.setIssuer(EMPTY_STRING);
         AttributeValueType configNameAttributeValue5 = new AttributeValueType();
         configNameAttributeValue5.setDataType(STRING_DATATYPE);
         configNameAttributeValue5.getContent().add(policyAdapter.getOnapName());
@@ -382,7 +383,7 @@ public class CreateBrmsRawPolicy extends Policy {
         AttributeAssignmentExpressionType assignment6 = new AttributeAssignmentExpressionType();
         assignment6.setAttributeId("matching:" + CONFIGID);
         assignment6.setCategory(CATEGORY_RESOURCE);
-        assignment6.setIssuer("");
+        assignment6.setIssuer(EMPTY_STRING);
         AttributeValueType configNameAttributeValue6 = new AttributeValueType();
         configNameAttributeValue6.setDataType(STRING_DATATYPE);
         configNameAttributeValue6.getContent().add(policyAdapter.getConfigName());
@@ -390,37 +391,40 @@ public class CreateBrmsRawPolicy extends Policy {
         advice.getAttributeAssignmentExpression().add(assignment6);
 
         // Adding Controller Information. 
-        if(policyAdapter.getBrmsController()!=null){
+        if (policyAdapter.getBrmsController() != null) {
             BRMSDictionaryController brmsDicitonaryController = new BRMSDictionaryController();
             advice.getAttributeAssignmentExpression().add(
-                    createResponseAttributes("controller:"+ policyAdapter.getBrmsController(), 
-                                brmsDicitonaryController.getControllerDataByID(policyAdapter.getBrmsController()).getController()));
+                    createResponseAttributes("controller:" + policyAdapter.getBrmsController(),
+                            brmsDicitonaryController.getControllerDataByID(policyAdapter.getBrmsController())
+                                    .getController()));
         }
-        
+
         // Adding Dependencies. 
-        if(policyAdapter.getBrmsDependency()!=null){
+        if (policyAdapter.getBrmsDependency() != null) {
             BRMSDictionaryController brmsDicitonaryController = new BRMSDictionaryController();
             ArrayList<String> dependencies = new ArrayList<>();
             StringBuilder key = new StringBuilder();
-            for(String dependencyName: policyAdapter.getBrmsDependency()){
+            for (String dependencyName : policyAdapter.getBrmsDependency()) {
                 dependencies.add(brmsDicitonaryController.getDependencyDataByID(dependencyName).getDependency());
-                key.append(dependencyName + ",");
+                key.append(dependencyName).append(",");
             }
             advice.getAttributeAssignmentExpression().add(
-                        createResponseAttributes("dependencies:"+key.toString(), dependencies.toString()));
+                    createResponseAttributes("dependencies:" + key.toString(), dependencies.toString()));
         }
-        
+
         // Dynamic Field Config Attributes. 
         Map<String, String> dynamicFieldConfigAttributes = policyAdapter.getDynamicFieldConfigAttributes();
-        for (String keyField : dynamicFieldConfigAttributes.keySet()) {
-            advice.getAttributeAssignmentExpression().add(createResponseAttributes("key:"+keyField, dynamicFieldConfigAttributes.get(keyField)));
+        for (Map.Entry<String, String> entry : dynamicFieldConfigAttributes.entrySet()) {
+            String keyField = entry.getKey();
+            advice.getAttributeAssignmentExpression()
+                    .add(createResponseAttributes("key:" + keyField, entry.getValue()));
         }
 
         //Risk Attributes
         AttributeAssignmentExpressionType assignment8 = new AttributeAssignmentExpressionType();
         assignment8.setAttributeId("RiskType");
         assignment8.setCategory(CATEGORY_RESOURCE);
-        assignment8.setIssuer("");
+        assignment8.setIssuer(EMPTY_STRING);
 
         AttributeValueType configNameAttributeValue8 = new AttributeValueType();
         configNameAttributeValue8.setDataType(STRING_DATATYPE);
@@ -432,7 +436,7 @@ public class CreateBrmsRawPolicy extends Policy {
         AttributeAssignmentExpressionType assignment9 = new AttributeAssignmentExpressionType();
         assignment9.setAttributeId("RiskLevel");
         assignment9.setCategory(CATEGORY_RESOURCE);
-        assignment9.setIssuer("");
+        assignment9.setIssuer(EMPTY_STRING);
 
         AttributeValueType configNameAttributeValue9 = new AttributeValueType();
         configNameAttributeValue9.setDataType(STRING_DATATYPE);
@@ -444,7 +448,7 @@ public class CreateBrmsRawPolicy extends Policy {
         AttributeAssignmentExpressionType assignment10 = new AttributeAssignmentExpressionType();
         assignment10.setAttributeId("guard");
         assignment10.setCategory(CATEGORY_RESOURCE);
-        assignment10.setIssuer("");
+        assignment10.setIssuer(EMPTY_STRING);
 
         AttributeValueType configNameAttributeValue10 = new AttributeValueType();
         configNameAttributeValue10.setDataType(STRING_DATATYPE);
@@ -456,7 +460,7 @@ public class CreateBrmsRawPolicy extends Policy {
         AttributeAssignmentExpressionType assignment11 = new AttributeAssignmentExpressionType();
         assignment11.setAttributeId("TTLDate");
         assignment11.setCategory(CATEGORY_RESOURCE);
-        assignment11.setIssuer("");
+        assignment11.setIssuer(EMPTY_STRING);
 
         AttributeValueType configNameAttributeValue11 = new AttributeValueType();
         configNameAttributeValue11.setDataType(STRING_DATATYPE);
@@ -474,11 +478,11 @@ public class CreateBrmsRawPolicy extends Policy {
         return policyAdapter.getData();
     }
 
-    private AttributeAssignmentExpressionType  createResponseAttributes(String key, String value){
+    private AttributeAssignmentExpressionType createResponseAttributes(String key, String value) {
         AttributeAssignmentExpressionType assignment7 = new AttributeAssignmentExpressionType();
         assignment7.setAttributeId(key);
         assignment7.setCategory(CATEGORY_RESOURCE);
-        assignment7.setIssuer("");
+        assignment7.setIssuer(EMPTY_STRING);
         AttributeValueType configNameAttributeValue7 = new AttributeValueType();
         configNameAttributeValue7.setDataType(STRING_DATATYPE);
         configNameAttributeValue7.getContent().add(value);
index 1b786ed..cedefb0 100644 (file)
@@ -95,7 +95,7 @@ import com.att.research.xacml.api.pap.PDPPolicy;
 import com.att.research.xacml.util.XACMLProperties;
 
 public class PolicyDBDao {
-    private static final Logger logger = FlexLogger.getLogger(PolicyDBDao.class);
+    private static final Logger logger = FlexLogger.getLogger(PolicyDBDao.class);
     private List<?> otherServers;
     private EntityManagerFactory emf;
     private static PolicyDBDao currentInstance = null;
@@ -111,8 +111,10 @@ public class PolicyDBDao {
     public static final String action = "Action";
     private static final String groupIdVar = "groupId";
     private static final String deletedVar = "deleted";
-    private static final String groupEntitySelectQuery = "SELECT g FROM GroupEntity g WHERE g.groupId=:groupId AND g.deleted=:deleted";
-    private static final String pdpEntitySelectQuery = "SELECT p FROM PdpEntity p WHERE p.pdpId=:pdpId AND p.deleted=:deleted";
+    private static final String groupEntitySelectQuery =
+            "SELECT g FROM GroupEntity g WHERE g.groupId=:groupId AND g.deleted=:deleted";
+    private static final String pdpEntitySelectQuery =
+            "SELECT p FROM PdpEntity p WHERE p.pdpId=:pdpId AND p.deleted=:deleted";
     private static final String groupCannotBeFound = "The group could not be found with id ";
     private static final String foundInDBNotDeleted = " were found in the database that are not deleted";
     private static final String moreThanOnePDP = "Somehow, more than one pdp with the same id ";
@@ -135,14 +137,16 @@ public class PolicyDBDao {
     /**
      * Get an instance of a PolicyDBDao. It creates one if it does not exist.
      * Only one instance is allowed to be created per server.
+     *
      * @param emf The EntityFactoryManager to be used for database connections
      * @return The new instance of PolicyDBDao or throw exception if the given emf is null.
-     * @throws IllegalStateException if a PolicyDBDao has already been constructed. Call getPolicyDBDaoInstance() to get this.
+     * @throws IllegalStateException if a PolicyDBDao has already been constructed. Call getPolicyDBDaoInstance() to
+     * get this.
      */
-    public static PolicyDBDao getPolicyDBDaoInstance(EntityManagerFactory emf){
-        logger.debug("getPolicyDBDaoInstance(EntityManagerFactory emf) as getPolicyDBDaoInstance("+emf+") called");
-        if(currentInstance == null){
-            if(emf != null){
+    public static PolicyDBDao getPolicyDBDaoInstance(EntityManagerFactory emf) {
+        logger.debug("getPolicyDBDaoInstance(EntityManagerFactory emf) as getPolicyDBDaoInstance(" + emf + ") called");
+        if (currentInstance == null) {
+            if (emf != null) {
                 currentInstance = new PolicyDBDao(emf);
                 return currentInstance;
             }
@@ -153,100 +157,108 @@ public class PolicyDBDao {
 
     /**
      * Gets the current instance of PolicyDBDao.
+     *
      * @return The instance of PolicyDBDao or throws exception if the given instance is null.
-     * @throws IllegalStateException if a PolicyDBDao instance is null. Call createPolicyDBDaoInstance(EntityManagerFactory emf) to get this.
+     * @throws IllegalStateException if a PolicyDBDao instance is null. Call createPolicyDBDaoInstance
+     * (EntityManagerFactory emf) to get this.
      */
-    public static PolicyDBDao getPolicyDBDaoInstance(){
+    public static PolicyDBDao getPolicyDBDaoInstance() {
         logger.debug("getPolicyDBDaoInstance() as getPolicyDBDaoInstance() called");
-        if(currentInstance != null){
+        if (currentInstance != null) {
             return currentInstance;
         }
-        throw new IllegalStateException("The PolicyDBDao.currentInstance is Null.  Use getPolicyDBDao(EntityManagerFactory emf)");
+        throw new IllegalStateException(
+                "The PolicyDBDao.currentInstance is Null.  Use getPolicyDBDao(EntityManagerFactory emf)");
     }
 
-    public void setPapEngine(PAPPolicyEngine papEngine2){
+    public void setPapEngine(PAPPolicyEngine papEngine2) {
         this.papEngine = papEngine2;
     }
 
-    private PolicyDBDao(EntityManagerFactory emf){
-        logger.debug("PolicyDBDao(EntityManagerFactory emf) as PolicyDBDao("+emf+") called");
+    private PolicyDBDao(EntityManagerFactory emf) {
+        logger.debug("PolicyDBDao(EntityManagerFactory emf) as PolicyDBDao(" + emf + ") called");
         this.emf = emf;
 
         //not needed in this release
-        if(!register()){
-            PolicyLogger.error("This server's PolicyDBDao instance could not be registered and may not reveive updates");
+        if (!register()) {
+            PolicyLogger
+                    .error("This server's PolicyDBDao instance could not be registered and may not reveive updates");
         }
 
         otherServers = getRemotePolicyDBDaoList();
-        if(logger.isDebugEnabled()){
-            logger.debug("Number of remote PolicyDBDao instances: "+otherServers.size());
+        if (logger.isDebugEnabled()) {
+            logger.debug("Number of remote PolicyDBDao instances: " + otherServers.size());
         }
-        if(otherServers.isEmpty()){
+        if (otherServers.isEmpty()) {
             logger.warn("List of PolicyDBDao servers is empty or could not be retrieved");
         }
     }
 
     //not static because we are going to be using the instance's emf
     //waitTime in ms to wait for lock, or -1 to wait forever (no)
-    private void startTransactionSynced(EntityManager entityMgr,int waitTime){
+    private void startTransactionSynced(EntityManager entityMgr, int waitTime) {
         logger.debug("\n\nstartTransactionSynced(EntityManager entityMgr,int waitTime) as "
-                + "\n   startTransactionSynced("+entityMgr+","+waitTime+") called\n\n");
+                + "\n   startTransactionSynced(" + entityMgr + "," + waitTime + ") called\n\n");
         DatabaseLockEntity lock = null;
 
         entityMgr.setProperty("javax.persistence.query.timeout", waitTime);
         entityMgr.getTransaction().begin();
 
-        if(logger.isDebugEnabled()){
-            Map<String,Object> properties = entityMgr.getProperties();
+        if (logger.isDebugEnabled()) {
+            Map<String, Object> properties = entityMgr.getProperties();
             logger.debug("\n\nstartTransactionSynced():"
                     + "\n   entityManager.getProperties() = " + properties
                     + "\n\n");
         }
-        try{
-            if(logger.isDebugEnabled()){
+        try {
+            if (logger.isDebugEnabled()) {
                 logger.debug("\n\nstartTransactionSynced():"
                         + "\n   ATTEMPT to get the DB lock"
                         + "\n\n");
             }
             lock = entityMgr.find(DatabaseLockEntity.class, 1, LockModeType.PESSIMISTIC_WRITE);
-            if(logger.isDebugEnabled()){
+            if (logger.isDebugEnabled()) {
                 logger.debug("\n\nstartTransactionSynced():"
                         + "\n   GOT the DB lock"
                         + "\n\n");
             }
-        } catch(Exception e){
+        } catch (Exception e) {
             System.out.println("Could not get lock entity");
-            logger.error("Exception Occured"+e);
+            logger.error("Exception Occured" + e);
         }
-        if(lock == null){
-            throw new IllegalStateException("The lock row does not exist in the table. Please create a primary key with value = 1.");
+        if (lock == null) {
+            throw new IllegalStateException(
+                    "The lock row does not exist in the table. Please create a primary key with value = 1.");
         }
 
     }
+
     /**
      * Gets the list of other registered PolicyDBDaos from the database
+     *
      * @return List (type PolicyDBDaoEntity) of other PolicyDBDaos
      */
-    private List<?> getRemotePolicyDBDaoList(){
+    private List<?> getRemotePolicyDBDaoList() {
         logger.debug("getRemotePolicyDBDaoList() as getRemotePolicyDBDaoList() called");
         List<?> policyDBDaoEntityList = new LinkedList<>();
         EntityManager em = emf.createEntityManager();
         startTransactionSynced(em, 1000);
-        try{
+        try {
             Query getPolicyDBDaoEntityQuery = em.createNamedQuery("PolicyDBDaoEntity.findAll");
             policyDBDaoEntityList = getPolicyDBDaoEntityQuery.getResultList();
 
-        } catch(Exception e){
-            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Exception querying for other registered PolicyDBDaos");
+        } catch (Exception e) {
+            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                    "Exception querying for other registered PolicyDBDaos");
             logger.warn("List of remote PolicyDBDaos will be empty", e);
         }
-        try{
+        try {
             em.getTransaction().commit();
-        } catch(Exception e){
+        } catch (Exception e) {
             logger.warn("List of remote PolicyDBDaos will be empty", e);
-            try{
+            try {
                 em.getTransaction().rollback();
-            } catch(Exception e2){
+            } catch (Exception e2) {
                 logger.debug("List of remote PolicyDBDaos will be empty", e2);
             }
         }
@@ -254,7 +266,7 @@ public class PolicyDBDao {
         return policyDBDaoEntityList;
     }
 
-    public PolicyDBDaoTransaction getNewTransaction(){
+    public PolicyDBDaoTransaction getNewTransaction() {
         logger.debug("getNewTransaction() as getNewTransaction() called");
         return new PolicyDBDaoTransactionInstance();
     }
@@ -265,7 +277,7 @@ public class PolicyDBDao {
      * provide different transaction timeout values in ms because the audit will run longer
      * than normal transactions.
      */
-    public PolicyDBDaoTransaction getNewAuditTransaction(){
+    public PolicyDBDaoTransaction getNewAuditTransaction() {
         logger.debug("getNewAuditTransaction() as getNewAuditTransaction() called");
         //Use the standard transaction wait time in ms
         int auditWaitMs = Integer.parseInt(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_TRANS_WAIT));
@@ -277,15 +289,16 @@ public class PolicyDBDao {
 
     /**
      * Checks if two strings are equal. Null strings ARE allowed.
+     *
      * @param one A String or null to compare
      * @param two A String or null to compare
      */
-    private static boolean stringEquals(String one, String two){
-        logger.debug("stringEquals(String one, String two) as stringEquals("+one+", "+two+") called");
-        if(one == null && two == null){
+    private static boolean stringEquals(String one, String two) {
+        logger.debug("stringEquals(String one, String two) as stringEquals(" + one + ", " + two + ") called");
+        if (one == null && two == null) {
             return true;
         }
-        if(one == null || two == null){
+        if (one == null || two == null) {
             return false;
         }
         return one.equals(two);
@@ -293,34 +306,35 @@ public class PolicyDBDao {
 
     /**
      * Returns the url of this local pap server, removing the username and password, if they are present
+     *
      * @return The url of this local pap server
      */
-    private String[] getPapUrlUserPass(){
+    private String[] getPapUrlUserPass() {
         logger.debug("getPapUrl() as getPapUrl() called");
         String url = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_URL);
-        if(url == null){
+        if (url == null) {
             return null;
         }
         return splitPapUrlUserPass(url);
     }
 
-    private String[] splitPapUrlUserPass(String url){
+    private String[] splitPapUrlUserPass(String url) {
         String[] urlUserPass = new String[3];
         String[] commaSplit = url.split(",");
         urlUserPass[0] = commaSplit[0];
-        if(commaSplit.length > 2){
+        if (commaSplit.length > 2) {
             urlUserPass[1] = commaSplit[1];
             urlUserPass[2] = commaSplit[2];
         }
-        if(urlUserPass[1] == null || "".equals(urlUserPass[1])){
+        if (urlUserPass[1] == null || "".equals(urlUserPass[1])) {
             String usernamePropertyValue = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_USERID);
-            if(usernamePropertyValue != null){
+            if (usernamePropertyValue != null) {
                 urlUserPass[1] = usernamePropertyValue;
             }
         }
-        if(urlUserPass[2] == null || "".equals(urlUserPass[2])){
+        if (urlUserPass[2] == null || "".equals(urlUserPass[2])) {
             String passwordPropertyValue = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_PASS);
-            if(passwordPropertyValue != null){
+            if (passwordPropertyValue != null) {
                 urlUserPass[2] = passwordPropertyValue;
             }
         }
@@ -330,38 +344,40 @@ public class PolicyDBDao {
 
     /**
      * Register the PolicyDBDao instance in the PolicyDBDaoEntity table
+     *
      * @return Boolean, were we able to register?
      */
-    private boolean register(){
+    private boolean register() {
         logger.debug("register() as register() called");
         String[] url = getPapUrlUserPass();
         //--- check URL length
-        if(url == null || url.length<3){
+        if (url == null || url.length < 3) {
             return false;
         }
         EntityManager em = emf.createEntityManager();
-        try{
+        try {
             startTransactionSynced(em, 1000);
-        } catch(IllegalStateException e){
-            logger.debug ("\nPolicyDBDao.register() caught an IllegalStateException: \n" +e + "\n");
+        } catch (IllegalStateException e) {
+            logger.debug("\nPolicyDBDao.register() caught an IllegalStateException: \n" + e + "\n");
             DatabaseLockEntity lock;
             lock = em.find(DatabaseLockEntity.class, 1);
-            if(lock==null){
+            if (lock == null) {
                 lock = new DatabaseLockEntity();
                 em.persist(lock);
                 lock.setKey(1);
-                try{
+                try {
                     em.flush();
                     em.getTransaction().commit();
                     em.close();
-                } catch(Exception e2){
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e2, policyDBDaoVar, "COULD NOT CREATE DATABASELOCK ROW.  WILL TRY ONE MORE TIME");
+                } catch (Exception e2) {
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e2, policyDBDaoVar,
+                            "COULD NOT CREATE DATABASELOCK ROW.  WILL TRY ONE MORE TIME");
                 }
 
                 em = emf.createEntityManager();
-                try{
+                try {
                     startTransactionSynced(em, 1000);
-                } catch(Exception e3){
+                } catch (Exception e3) {
                     String msg = "DATABASE LOCKING NOT WORKING. CONCURRENCY CONTROL NOT WORKING";
                     PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e3, policyDBDaoVar, msg);
                     throw new IllegalStateException("msg" + "\n" + e3);
@@ -370,52 +386,55 @@ public class PolicyDBDao {
         }
         logger.debug("\nPolicyDBDao.register. Database locking and concurrency control is initialized\n");
         PolicyDBDaoEntity foundPolicyDBDaoEntity = em.find(PolicyDBDaoEntity.class, url[0]);
-        Query getPolicyDBDaoEntityQuery = em.createQuery("SELECT e FROM PolicyDBDaoEntity e WHERE e.policyDBDaoUrl=:url");
+        Query getPolicyDBDaoEntityQuery =
+                em.createQuery("SELECT e FROM PolicyDBDaoEntity e WHERE e.policyDBDaoUrl=:url");
         getPolicyDBDaoEntityQuery.setParameter("url", url[0]);
         // encrypt the password
         String txt = null;
-        try{
+        try {
             txt = CryptoUtils.encryptTxt(url[2].getBytes(StandardCharsets.UTF_8));
-        } catch(Exception e){
+        } catch (Exception e) {
             logger.debug(e);
             PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Could not encrypt PAP password");
         }
-        if(foundPolicyDBDaoEntity == null){
+        if (foundPolicyDBDaoEntity == null) {
             PolicyDBDaoEntity newPolicyDBDaoEntity = new PolicyDBDaoEntity();
             em.persist(newPolicyDBDaoEntity);
             newPolicyDBDaoEntity.setPolicyDBDaoUrl(url[0]);
-            newPolicyDBDaoEntity.setDescription("PAP server at "+url[0]);
+            newPolicyDBDaoEntity.setDescription("PAP server at " + url[0]);
             newPolicyDBDaoEntity.setUsername(url[1]);
             newPolicyDBDaoEntity.setPassword(txt);
-            try{
+            try {
                 em.getTransaction().commit();
-            } catch(Exception e){
+            } catch (Exception e) {
                 logger.debug(e);
-                try{
+                try {
                     em.getTransaction().rollback();
-                } catch(Exception e2){
+                } catch (Exception e2) {
                     logger.debug(e2);
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e2, policyDBDaoVar, "Could not add new PolicyDBDao to the database");
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e2, policyDBDaoVar,
+                            "Could not add new PolicyDBDao to the database");
                 }
             }
         } else {
             //just want to update in order to change modified date
-            if(url[1] != null && !stringEquals(url[1], foundPolicyDBDaoEntity.getUsername())){
+            if (url[1] != null && !stringEquals(url[1], foundPolicyDBDaoEntity.getUsername())) {
                 foundPolicyDBDaoEntity.setUsername(url[1]);
             }
-            if(txt != null && !stringEquals(txt, foundPolicyDBDaoEntity.getPassword())){
+            if (txt != null && !stringEquals(txt, foundPolicyDBDaoEntity.getPassword())) {
                 foundPolicyDBDaoEntity.setPassword(txt);
             }
             foundPolicyDBDaoEntity.preUpdate();
-            try{
+            try {
                 em.getTransaction().commit();
-            } catch(Exception e){
+            } catch (Exception e) {
                 logger.debug(e);
-                try{
+                try {
                     em.getTransaction().rollback();
-                } catch(Exception e2){
+                } catch (Exception e2) {
                     logger.debug(e2);
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e2, policyDBDaoVar, "Could not update PolicyDBDao in the database");
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e2, policyDBDaoVar,
+                            "Could not update PolicyDBDao in the database");
                 }
             }
         }
@@ -425,62 +444,66 @@ public class PolicyDBDao {
     }
 
     private class NotifyOtherThread implements Runnable {
-        public NotifyOtherThread(Object obj, long entityId, String entityType, String newGroupId){
+        public NotifyOtherThread(Object obj, long entityId, String entityType, String newGroupId) {
             this.obj = obj;
             this.entityId = entityId;
             this.entityType = entityType;
             this.newGroupId = newGroupId;
         }
+
         private Object obj;
         private long entityId;
         private String entityType;
         private String newGroupId;
+
         @Override
-        public void run(){
+        public void run() {
             //naming of 'o' is for backwards compatibility with the rest of the function
-            PolicyDBDaoEntity dbdEntity = (PolicyDBDaoEntity)obj;
+            PolicyDBDaoEntity dbdEntity = (PolicyDBDaoEntity) obj;
             String o = dbdEntity.getPolicyDBDaoUrl();
             String username = dbdEntity.getUsername();
             String txt;
-            try{
+            try {
                 txt = new String(CryptoUtils.decryptTxt(dbdEntity.getPassword()), StandardCharsets.UTF_8);
-            } catch(Exception e){
+            } catch (Exception e) {
                 logger.debug(e);
                 //if we can't decrypt, might as well try it anyway
                 txt = dbdEntity.getPassword();
             }
             Base64.Encoder encoder = Base64.getEncoder();
-            String encoding = encoder.encodeToString((username+":"+txt).getBytes(StandardCharsets.UTF_8));
+            String encoding = encoder.encodeToString((username + ":" + txt).getBytes(StandardCharsets.UTF_8));
             HttpURLConnection connection = null;
             UUID requestID = UUID.randomUUID();
             URL url;
             String papUrl;
             try {
                 String[] papUrlUserPass = getPapUrlUserPass();
-                if(papUrlUserPass == null ){
+                if (papUrlUserPass == null) {
                     papUrl = "undefined";
                 } else {
                     papUrl = papUrlUserPass[0];
                 }
-                logger.debug("We are going to try to notify "+o);
+                logger.debug("We are going to try to notify " + o);
                 //is this our own url?
                 String ourUrl = o;
-                try{
-                    ourUrl = splitPapUrlUserPass((String)o)[0];
-                }catch(Exception e){
+                try {
+                    ourUrl = splitPapUrlUserPass((String) o)[0];
+                } catch (Exception e) {
                     logger.debug(e);
                 }
-                if(o == null){
+                if (o == null) {
                     o = "undefined";
                 }
-                if(papUrl.equals(ourUrl)){
-                    logger.debug(o+" is our url, skipping notify");
+                if (papUrl.equals(ourUrl)) {
+                    logger.debug(o + " is our url, skipping notify");
                     return;
                 }
-                if(newGroupId == null){
-                    url = new URL(o+"?policydbdaourl="+papUrl+"&entityid="+entityId+"&entitytype="+entityType);
+                if (newGroupId == null) {
+                    url = new URL(o + "?policydbdaourl=" + papUrl + "&entityid=" + entityId + "&entitytype=" +
+                            entityType);
                 } else {
-                    url = new URL(o+"?policydbdaourl="+papUrl+"&entityid="+entityId+"&entitytype="+entityType+"&extradata="+newGroupId);
+                    url = new URL(o + "?policydbdaourl=" + papUrl + "&entityid=" + entityId + "&entitytype=" +
+                            entityType + "&extradata=" + newGroupId);
                 }
             } catch (MalformedURLException e) {
                 logger.warn("Caught MalformedURLException on: new URL()", e);
@@ -490,11 +513,11 @@ public class PolicyDBDao {
             // Open up the connection
             //
             logger.info("PolicyDBDao: NotifyOtherThread: notifying other PAPs of an update");
-            logger.info("Connecting with url: "+url);
+            logger.info("Connecting with url: " + url);
             try {
-                connection = (HttpURLConnection)url.openConnection();
+                connection = (HttpURLConnection) url.openConnection();
             } catch (Exception e) {
-                logger.warn("Caught exception on: url.openConnection()",e);
+                logger.warn("Caught exception on: url.openConnection()", e);
                 return;
             }
             //
@@ -504,7 +527,7 @@ public class PolicyDBDao {
                 connection.setRequestMethod("PUT");
             } catch (ProtocolException e) {
                 //why would this error ever occur?
-                logger.warn("Caught ProtocolException on connection.setRequestMethod(\"PUT\");",e);
+                logger.warn("Caught ProtocolException on connection.setRequestMethod(\"PUT\");", e);
                 return;
             }
             connection.setRequestProperty("Authorization", "Basic " + encoding);
@@ -512,9 +535,10 @@ public class PolicyDBDao {
             connection.setRequestProperty("Content-Type", "text/x-java-properties");
             connection.setRequestProperty("requestID", requestID.toString());
             int readTimeout;
-            try{
-                readTimeout = Integer.parseInt(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_NOTIFY_TIMEOUT));
-            } catch(Exception e){
+            try {
+                readTimeout =
+                        Integer.parseInt(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_NOTIFY_TIMEOUT));
+            } catch (Exception e) {
                 logger.error("xacml.rest.pap.notify.timeoutms property not set, using a default.", e);
                 readTimeout = 10000;
             }
@@ -534,14 +558,15 @@ public class PolicyDBDao {
             try {
                 connection.connect();
             } catch (Exception e) {
-                logger.warn("Caught exception on: connection.connect()",e);
+                logger.warn("Caught exception on: connection.connect()", e);
                 return;
             }
             try {
                 if (connection.getResponseCode() == 200) {
                     logger.info("PolicyDBDao: NotifyOtherThread received response 200 from pap server on notify");
                 } else {
-                    logger.warn("PolicyDBDao: NotifyOtherThread connection response code not 200, received: "+connection.getResponseCode());
+                    logger.warn("PolicyDBDao: NotifyOtherThread connection response code not 200, received: " +
+                            connection.getResponseCode());
                 }
             } catch (Exception e) {
                 logger.warn("Caught Exception on: connection.getResponseCode() ", e);
@@ -556,7 +581,7 @@ public class PolicyDBDao {
 
         DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
         String description = "";
-        try{
+        try {
             DocumentBuilder db = dbf.newDocumentBuilder();
             Document document = db.parse(source);
 
@@ -564,8 +589,8 @@ public class PolicyDBDao {
             XPath xpath = xpathFactory.newXPath();
 
             description = xpath.evaluate(expression, document);
-        }catch(Exception e){
-            logger.error("Exception Occured while evaluating path"+e);
+        } catch (Exception e) {
+            logger.error("Exception Occured while evaluating path" + e);
         }
         return description;
     }
@@ -573,70 +598,79 @@ public class PolicyDBDao {
     private static final String POLICY_NOTIFICATION = "policy";
     private static final String PDP_NOTIFICATION = "pdp";
     private static final String GROUP_NOTIFICATION = "group";
-    public void handleIncomingHttpNotification(String url, String entityId, String entityType, String extraData, XACMLPapServlet xacmlPapServlet){
-        logger.info("DBDao url: " + url + " has reported an update on "+entityType+" entity "+entityId);
+
+    public void handleIncomingHttpNotification(String url, String entityId, String entityType, String extraData,
+                                               XACMLPapServlet xacmlPapServlet) {
+        logger.info("DBDao url: " + url + " has reported an update on " + entityType + " entity " + entityId);
         PolicyDBDaoTransaction transaction = this.getNewTransaction();
         //although its named retries, this is the total number of tries
         int retries;
-        try{
-            retries = Integer.parseInt(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_INCOMINGNOTIFICATION_TRIES));
-        } catch(Exception e){
-            logger.error("xacml.rest.pap.incomingnotification.tries property not set, using a default of 3."+e);
+        try {
+            retries = Integer.parseInt(
+                    XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_INCOMINGNOTIFICATION_TRIES));
+        } catch (Exception e) {
+            logger.error("xacml.rest.pap.incomingnotification.tries property not set, using a default of 3." + e);
             retries = 3;
         }
         //if someone sets it to some dumb value, we need to make sure it will try at least once
-        if(retries < 1){
+        if (retries < 1) {
             retries = 1;
         }
         int pauseBetweenRetries = 1000;
-        switch(entityType){
+        switch (entityType) {
 
             case POLICY_NOTIFICATION:
-                for(int i=0; i<retries;i++){
-                    try{
+                for (int i = 0; i < retries; i++) {
+                    try {
                         handleIncomingPolicyChange(entityId);
                         break;
-                    } catch(Exception e){
+                    } catch (Exception e) {
                         logger.debug(e);
-                        PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught exception on handleIncomingPolicyChange("+url+", "+entityId+", "+extraData+")");
+                        PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                                "Caught exception on handleIncomingPolicyChange(" + url + ", " + entityId + ", " +
+                                        extraData + ")");
                     }
-                    try{
+                    try {
                         Thread.sleep(pauseBetweenRetries);
-                    }catch(InterruptedException ie){
+                    } catch (InterruptedException ie) {
                         Thread.currentThread().interrupt();
                         break;
                     }
                 }
                 break;
             case PDP_NOTIFICATION:
-                for(int i=0; i<retries;i++){
-                    try{
+                for (int i = 0; i < retries; i++) {
+                    try {
                         handleIncomingPdpChange(entityId, transaction);
                         break;
-                    } catch(Exception e){
+                    } catch (Exception e) {
                         logger.debug(e);
-                        PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught exception on handleIncomingPdpChange("+url+", "+entityId+", "+transaction+")");
+                        PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                                "Caught exception on handleIncomingPdpChange(" + url + ", " + entityId + ", " +
+                                        transaction + ")");
                     }
-                    try{
+                    try {
                         Thread.sleep(pauseBetweenRetries);
-                    }catch(InterruptedException ie){
+                    } catch (InterruptedException ie) {
                         Thread.currentThread().interrupt();
                         break;
                     }
                 }
                 break;
             case GROUP_NOTIFICATION:
-                for(int i=0; i<retries;i++){
-                    try{
+                for (int i = 0; i < retries; i++) {
+                    try {
                         handleIncomingGroupChange(entityId, extraData, transaction);
                         break;
-                    }catch(Exception e){
+                    } catch (Exception e) {
                         logger.debug(e);
-                        PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught exception on handleIncomingGroupChange("+url+", "+entityId+", "+extraData+", "+transaction+", "+xacmlPapServlet+")");
+                        PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                                "Caught exception on handleIncomingGroupChange(" + url + ", " + entityId + ", " +
+                                        extraData + ", " + transaction + ", " + xacmlPapServlet + ")");
                     }
-                    try{
+                    try {
                         Thread.sleep(pauseBetweenRetries);
-                    }catch(InterruptedException ie){
+                    } catch (InterruptedException ie) {
                         Thread.currentThread().interrupt();
                         break;
                     }
@@ -647,21 +681,23 @@ public class PolicyDBDao {
         transaction.rollbackTransaction();
     }
 
-    private void handleIncomingGroupChange(String groupId, String extraData,PolicyDBDaoTransaction transaction) throws PAPException, PolicyDBException{
+    private void handleIncomingGroupChange(String groupId, String extraData, PolicyDBDaoTransaction transaction)
+            throws PAPException, PolicyDBException {
         GroupEntity groupRecord = null;
         long groupIdLong = -1;
-        try{
+        try {
             groupIdLong = Long.parseLong(groupId);
-        } catch(NumberFormatException e){
-            throw new IllegalArgumentException("groupId "+groupId+" cannot be parsed into a long");
+        } catch (NumberFormatException e) {
+            throw new IllegalArgumentException("groupId " + groupId + " cannot be parsed into a long");
         }
-        try{
+        try {
             groupRecord = transaction.getGroup(groupIdLong);
-        } catch(Exception e){
-            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception trying to get pdp group record with transaction.getGroup("+groupIdLong+");");
-            throw new PAPException("Could not get local group "+groupIdLong);
+        } catch (Exception e) {
+            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                    "Caught Exception trying to get pdp group record with transaction.getGroup(" + groupIdLong + ");");
+            throw new PAPException("Could not get local group " + groupIdLong);
         }
-        if(groupRecord == null){
+        if (groupRecord == null) {
             throw new PersistenceException("The group record returned is null");
         }
         //compare to local fs
@@ -670,139 +706,164 @@ public class PolicyDBDao {
         try {
             localGroup = papEngine.getGroup(groupRecord.getGroupId());
         } catch (Exception e) {
-            logger.warn("Caught PAPException trying to get local pdp group with papEngine.getGroup("+groupId+");",e);
+            logger.warn("Caught PAPException trying to get local pdp group with papEngine.getGroup(" + groupId + ");",
+                    e);
         }
-        if(localGroup == null && extraData != null){
+        if (localGroup == null && extraData != null) {
             //here we can try to load an old group id from the extraData
-            try{
+            try {
                 localGroup = papEngine.getGroup(extraData);
-            }catch(Exception e){
-                logger.warn("Caught PAPException trying to get local pdp group with papEngine.getGroup("+extraData+");",e);
+            } catch (Exception e) {
+                logger.warn(
+                        "Caught PAPException trying to get local pdp group with papEngine.getGroup(" + extraData + ");",
+                        e);
             }
         }
-        if(localGroup != null && groupRecord.isDeleted()){
+        if (localGroup != null && groupRecord.isDeleted()) {
             OnapPDPGroup newLocalGroup = null;
-            if(extraData != null){
+            if (extraData != null) {
                 try {
                     newLocalGroup = papEngine.getGroup(extraData);
                 } catch (PAPException e) {
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught PAPException trying to get new pdp group with papEngine.getGroup("+extraData+");");
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught PAPException trying to get new pdp group with papEngine.getGroup(" + extraData +
+                                    ");");
                 }
             }
             try {
                 papEngine.removeGroup(localGroup, newLocalGroup);
             } catch (NullPointerException | PAPException e) {
-                PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught PAPException trying to get remove pdp group with papEngine.removeGroup("+localGroup+", "+newLocalGroup+");");
-                throw new PAPException("Could not remove group "+groupId);
+                PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                        "Caught PAPException trying to get remove pdp group with papEngine.removeGroup(" + localGroup +
+                                ", " + newLocalGroup + ");");
+                throw new PAPException("Could not remove group " + groupId);
             }
-        }
-        else if(localGroup == null){
+        } else if (localGroup == null) {
             //creating a new group
             try {
                 papEngine.newGroup(groupRecord.getgroupName(), groupRecord.getDescription());
             } catch (NullPointerException | PAPException e) {
-                PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught PAPException trying to create pdp group with papEngine.newGroup(groupRecord.getgroupName(), groupRecord.getDescription());");
-                throw new PAPException("Could not create group "+groupRecord);
+                PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                        "Caught PAPException trying to create pdp group with papEngine.newGroup(groupRecord" +
+                                ".getgroupName(), groupRecord.getDescription());");
+                throw new PAPException("Could not create group " + groupRecord);
             }
             try {
                 localGroup = papEngine.getGroup(groupRecord.getGroupId());
             } catch (PAPException e1) {
-                PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e1, policyDBDaoVar, "Caught PAPException trying to get pdp group we just created with papEngine.getGroup(groupRecord.getGroupId());\nAny PDPs or policies in the new group may not have been added");
+                PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e1, policyDBDaoVar,
+                        "Caught PAPException trying to get pdp group we just created with papEngine.getGroup" +
+                                "(groupRecord.getGroupId());\nAny PDPs or policies in the new group may not have been added");
                 return;
             }
             //add possible pdps to group
             List<?> pdpsInGroup = transaction.getPdpsInGroup(Long.parseLong(groupRecord.getGroupId()));
-            for(Object pdpO : pdpsInGroup){
-                PdpEntity pdp = (PdpEntity)pdpO;
+            for (Object pdpO : pdpsInGroup) {
+                PdpEntity pdp = (PdpEntity) pdpO;
                 try {
-                    papEngine.newPDP(pdp.getPdpId(), localGroup, pdp.getPdpName(), pdp.getDescription(), pdp.getJmxPort());
+                    papEngine.newPDP(pdp.getPdpId(), localGroup, pdp.getPdpName(), pdp.getDescription(),
+                            pdp.getJmxPort());
                 } catch (NullPointerException | PAPException e) {
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught PAPException trying to get create pdp with papEngine.newPDP(pdp.getPdpId(), localGroup, pdp.getPdpName(), pdp.getDescription(), pdp.getJmxPort());");
-                    throw new PAPException("Could not create pdp "+pdp);
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught PAPException trying to get create pdp with papEngine.newPDP(pdp.getPdpId(), " +
+                                    "localGroup, pdp.getPdpName(), pdp.getDescription(), pdp.getJmxPort());");
+                    throw new PAPException("Could not create pdp " + pdp);
                 }
             }
             //add possible policies to group (filesystem only, apparently)
         } else {
-            if(!(localGroup instanceof StdPDPGroup)){
+            if (!(localGroup instanceof StdPDPGroup)) {
                 throw new PAPException("group is not a StdPDPGroup");
             }
             //clone the object
             //because it will be comparing the new group to its own version
-            StdPDPGroup localGroupClone = new StdPDPGroup(localGroup.getId(),localGroup.isDefaultGroup(),localGroup.getName(),localGroup.getDescription(),((StdPDPGroup)localGroup).getDirectory());
+            StdPDPGroup localGroupClone =
+                    new StdPDPGroup(localGroup.getId(), localGroup.isDefaultGroup(), localGroup.getName(),
+                            localGroup.getDescription(), ((StdPDPGroup) localGroup).getDirectory());
             localGroupClone.setOnapPdps(localGroup.getOnapPdps());
             localGroupClone.setPipConfigs(localGroup.getPipConfigs());
             localGroupClone.setStatus(localGroup.getStatus());
             //we are updating a group or adding a policy or changing default
             //set default if it should be
-            if(!localGroupClone.isDefaultGroup() && groupRecord.isDefaultGroup()){
+            if (!localGroupClone.isDefaultGroup() && groupRecord.isDefaultGroup()) {
                 try {
                     papEngine.setDefaultGroup(localGroup);
                     return;
                 } catch (PAPException e) {
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught PAPException trying to set default group with papEngine.SetDefaultGroup("+localGroupClone+");");
-                    throw new PAPException("Could not set default group to "+localGroupClone);
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught PAPException trying to set default group with papEngine.SetDefaultGroup(" +
+                                    localGroupClone + ");");
+                    throw new PAPException("Could not set default group to " + localGroupClone);
                 }
             }
             boolean needToUpdate = false;
-            if(updateGroupPoliciesInFileSystem(localGroupClone,localGroup, groupRecord, transaction)){
+            if (updateGroupPoliciesInFileSystem(localGroupClone, localGroup, groupRecord, transaction)) {
                 needToUpdate = true;
             }
-            if(!stringEquals(localGroupClone.getId(),groupRecord.getGroupId()) || !stringEquals(localGroupClone.getName(),groupRecord.getgroupName())){
+            if (!stringEquals(localGroupClone.getId(), groupRecord.getGroupId()) ||
+                    !stringEquals(localGroupClone.getName(), groupRecord.getgroupName())) {
                 //changing ids
                 //we do not want to change the id, the papEngine will do this for us, it needs to know the old id
                 localGroupClone.setName(groupRecord.getgroupName());
                 needToUpdate = true;
             }
-            if(!stringEquals(localGroupClone.getDescription(),groupRecord.getDescription())){
+            if (!stringEquals(localGroupClone.getDescription(), groupRecord.getDescription())) {
                 localGroupClone.setDescription(groupRecord.getDescription());
                 needToUpdate = true;
             }
-            if(needToUpdate){
+            if (needToUpdate) {
                 try {
                     papEngine.updateGroup(localGroupClone);
                 } catch (PAPException e) {
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught PAPException trying to update group with papEngine.updateGroup("+localGroupClone+");");
-                    throw new PAPException("Could not update group "+localGroupClone);
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught PAPException trying to update group with papEngine.updateGroup(" + localGroupClone +
+                                    ");");
+                    throw new PAPException("Could not update group " + localGroupClone);
                 }
             }
         }
     }
 
-    //this will also handle removes, since incoming pdpGroup has no policies internally, we are just going to add them all in from the db
-    private boolean updateGroupPoliciesInFileSystem(OnapPDPGroup pdpGroup,OnapPDPGroup oldPdpGroup, GroupEntity groupRecord, PolicyDBDaoTransaction transaction) throws PAPException, PolicyDBException{
-        if(!(pdpGroup instanceof StdPDPGroup)){
+    //this will also handle removes, since incoming pdpGroup has no policies internally, we are just going to add
+    // them all in from the db
+    private boolean updateGroupPoliciesInFileSystem(OnapPDPGroup pdpGroup, OnapPDPGroup oldPdpGroup,
+                                                    GroupEntity groupRecord, PolicyDBDaoTransaction transaction)
+            throws PAPException, PolicyDBException {
+        if (!(pdpGroup instanceof StdPDPGroup)) {
             throw new PAPException("group is not a StdPDPGroup");
         }
-        StdPDPGroup group = (StdPDPGroup)pdpGroup;
+        StdPDPGroup group = (StdPDPGroup) pdpGroup;
         //this must always be true since we don't explicitly know when a delete is occuring
         boolean didUpdate = true;
-        HashMap<String,PDPPolicy> currentPolicySet = new HashMap<>(oldPdpGroup.getPolicies().size());
+        HashMap<String, PDPPolicy> currentPolicySet = new HashMap<>(oldPdpGroup.getPolicies().size());
         HashSet<PDPPolicy> newPolicySet = new HashSet<>();
-        for(PDPPolicy pdpPolicy : oldPdpGroup.getPolicies()){
+        for (PDPPolicy pdpPolicy : oldPdpGroup.getPolicies()) {
             currentPolicySet.put(pdpPolicy.getId(), pdpPolicy);
         }
-        for(PolicyEntity policy : groupRecord.getPolicies()){
+        for (PolicyEntity policy : groupRecord.getPolicies()) {
             String pdpPolicyName = getPdpPolicyName(policy.getPolicyName(), policy.getScope());
-            if(group.getPolicy(pdpPolicyName) == null){
+            if (group.getPolicy(pdpPolicyName) == null) {
                 didUpdate = true;
-                if(currentPolicySet.containsKey(pdpPolicyName)){
+                if (currentPolicySet.containsKey(pdpPolicyName)) {
                     newPolicySet.add(currentPolicySet.get(pdpPolicyName));
-                } else{
-                    logger.info("PolicyDBDao: Adding the new policy to the PDP group after notification: " + pdpPolicyName);
+                } else {
+                    logger.info(
+                            "PolicyDBDao: Adding the new policy to the PDP group after notification: " + pdpPolicyName);
                     InputStream policyStream = new ByteArrayInputStream(policy.getPolicyData().getBytes());
-                    group.copyPolicyToFile(pdpPolicyName,policyStream);
-                    ((StdPDPPolicy)(group.getPolicy(pdpPolicyName))).setName(removeExtensionAndVersionFromPolicyName(pdpPolicyName));
+                    group.copyPolicyToFile(pdpPolicyName, policyStream);
+                    ((StdPDPPolicy) (group.getPolicy(pdpPolicyName)))
+                            .setName(removeExtensionAndVersionFromPolicyName(pdpPolicyName));
                     try {
                         policyStream.close();
                     } catch (IOException e) {
                         didUpdate = false;
-                        PolicyLogger.error(e.getMessage() +e);
+                        PolicyLogger.error(e.getMessage() + e);
                     }
                 }
             }
         }
         logger.info("PolicyDBDao: Adding updated policies to group after notification.");
-        if(didUpdate){
+        if (didUpdate) {
             newPolicySet.addAll(group.getPolicies());
             group.setPolicies(newPolicySet);
         }
@@ -813,47 +874,55 @@ public class PolicyDBDao {
      *  This method is called during all pushPolicy transactions and makes sure the file system
      *  group is in sync with the database groupentity
      */
-    private StdPDPGroup synchronizeGroupPoliciesInFileSystem(StdPDPGroup pdpGroup, GroupEntity groupentity) throws PAPException, PolicyDBException{
+    private StdPDPGroup synchronizeGroupPoliciesInFileSystem(StdPDPGroup pdpGroup, GroupEntity groupentity)
+            throws PAPException, PolicyDBException {
 
-        HashMap<String,PDPPolicy> currentPolicyMap = new HashMap<>();
+        HashMap<String, PDPPolicy> currentPolicyMap = new HashMap<>();
         HashSet<String> newPolicyIdSet = new HashSet<>();
         HashSet<PDPPolicy> newPolicySet = new HashSet<>();
 
-        for(PDPPolicy pdpPolicy : pdpGroup.getPolicies()){
+        for (PDPPolicy pdpPolicy : pdpGroup.getPolicies()) {
             currentPolicyMap.put(pdpPolicy.getId(), pdpPolicy);
         }
 
-        for(PolicyEntity policy : groupentity.getPolicies()){
+        for (PolicyEntity policy : groupentity.getPolicies()) {
             String pdpPolicyId = getPdpPolicyName(policy.getPolicyName(), policy.getScope());
             newPolicyIdSet.add(pdpPolicyId);
 
-            if(currentPolicyMap.containsKey(pdpPolicyId)){
+            if (currentPolicyMap.containsKey(pdpPolicyId)) {
                 newPolicySet.add(currentPolicyMap.get(pdpPolicyId));
             } else {
                 //convert PolicyEntity object to PDPPolicy
                 String name = pdpPolicyId.replace(".xml", "");
                 name = name.substring(0, name.lastIndexOf('.'));
                 InputStream policyStream = new ByteArrayInputStream(policy.getPolicyData().getBytes());
-                pdpGroup.copyPolicyToFile(pdpPolicyId,name,policyStream);
+                pdpGroup.copyPolicyToFile(pdpPolicyId, name, policyStream);
                 URI location = Paths.get(pdpGroup.getDirectory().toAbsolutePath().toString(), pdpPolicyId).toUri();
                 StdPDPPolicy newPolicy = null;
                 try {
-                    newPolicy = new StdPDPPolicy(pdpPolicyId, true, removeExtensionAndVersionFromPolicyName(pdpPolicyId),location);
+                    newPolicy =
+                            new StdPDPPolicy(pdpPolicyId, true, removeExtensionAndVersionFromPolicyName(pdpPolicyId),
+                                    location);
                     newPolicySet.add(newPolicy);
                 } catch (Exception e) {
                     logger.debug(e);
-                    PolicyLogger.error("PolicyDBDao: Exception occurred while creating the StdPDPPolicy newPolicy object " + e.getMessage());
+                    PolicyLogger
+                            .error("PolicyDBDao: Exception occurred while creating the StdPDPPolicy newPolicy object " +
+                                    e.getMessage());
                 }
             }
         }
 
-        for(String id : currentPolicyMap.keySet()) {
-            if(!newPolicyIdSet.contains(id)){
+        for (String id : currentPolicyMap.keySet()) {
+            if (!newPolicyIdSet.contains(id)) {
                 try {
                     Files.delete(Paths.get(currentPolicyMap.get(id).getLocation()));
                 } catch (Exception e) {
                     logger.debug(e);
-                    PolicyLogger.error("PolicyDBDao: Exception occurred while attempting to delete the old version of the policy file from the group. " + e.getMessage());
+                    PolicyLogger
+                            .error("PolicyDBDao: Exception occurred while attempting to delete the old version of the" +
+                                    " policy file from the group. " +
+                                    e.getMessage());
                 }
             }
         }
@@ -864,139 +933,156 @@ public class PolicyDBDao {
         return pdpGroup;
     }
 
-    private String removeExtensionAndVersionFromPolicyName(String originalPolicyName) throws PolicyDBException{
+    private String removeExtensionAndVersionFromPolicyName(String originalPolicyName) throws PolicyDBException {
         return getPolicyNameAndVersionFromPolicyFileName(originalPolicyName)[0];
     }
 
     /**
      * Splits apart the policy name and version from a policy file path
+     *
      * @param originalPolicyName: a policy file name ex: Config_policy.2.xml
      * @return An array [0]: The policy name, [1]: the policy version, as a string
      */
-    private String[] getPolicyNameAndVersionFromPolicyFileName(String originalPolicyName) throws PolicyDBException{
+    private String[] getPolicyNameAndVersionFromPolicyFileName(String originalPolicyName) throws PolicyDBException {
         String policyName = originalPolicyName;
         String[] nameAndVersion = new String[2];
-        try{
+        try {
             policyName = removeFileExtension(policyName);
-            nameAndVersion[0] = policyName.substring(0,policyName.lastIndexOf('.'));
-            if(isNullOrEmpty(nameAndVersion[0])){
+            nameAndVersion[0] = policyName.substring(0, policyName.lastIndexOf('.'));
+            if (isNullOrEmpty(nameAndVersion[0])) {
                 throw new PolicyDBException();
             }
-        } catch(Exception e){
+        } catch (Exception e) {
             nameAndVersion[0] = originalPolicyName;
             logger.debug(e);
         }
-        try{
-            nameAndVersion[1] = policyName.substring(policyName.lastIndexOf('.')+1);
-            if(isNullOrEmpty(nameAndVersion[1])){
+        try {
+            nameAndVersion[1] = policyName.substring(policyName.lastIndexOf('.') + 1);
+            if (isNullOrEmpty(nameAndVersion[1])) {
                 throw new PolicyDBException();
             }
-        } catch(Exception e){
+        } catch (Exception e) {
             nameAndVersion[1] = "1";
             logger.debug(e);
         }
         return nameAndVersion;
     }
 
-    private void handleIncomingPdpChange(String pdpId, PolicyDBDaoTransaction transaction) throws PAPException{
+    private void handleIncomingPdpChange(String pdpId, PolicyDBDaoTransaction transaction) throws PAPException {
         //get pdp
         long pdpIdLong = -1;
-        try{
+        try {
             pdpIdLong = Long.parseLong(pdpId);
-        }catch(NumberFormatException e){
-            throw new IllegalArgumentException("pdpId "+pdpId+" cannot be parsed into a long");
+        } catch (NumberFormatException e) {
+            throw new IllegalArgumentException("pdpId " + pdpId + " cannot be parsed into a long");
         }
         PdpEntity pdpRecord = null;
-        try{
+        try {
             pdpRecord = transaction.getPdp(pdpIdLong);
-        }catch(Exception e){
-            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception trying to get pdp record with transaction.getPdp("+pdpIdLong+");");
-            throw new PAPException("Could not get local pdp "+pdpIdLong);
+        } catch (Exception e) {
+            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                    "Caught Exception trying to get pdp record with transaction.getPdp(" + pdpIdLong + ");");
+            throw new PAPException("Could not get local pdp " + pdpIdLong);
         }
-        if(pdpRecord == null){
+        if (pdpRecord == null) {
             throw new PersistenceException("The pdpRecord returned is null");
         }
         PDP localPdp = null;
         try {
             localPdp = papEngine.getPDP(pdpRecord.getPdpId());
         } catch (PAPException e) {
-            logger.warn("Caught PAPException trying to get local pdp  with papEngine.getPDP("+pdpId+");",e);
+            logger.warn("Caught PAPException trying to get local pdp  with papEngine.getPDP(" + pdpId + ");", e);
         }
-        if(localPdp != null && pdpRecord.isDeleted()){
+        if (localPdp != null && pdpRecord.isDeleted()) {
             try {
                 papEngine.removePDP((OnapPDP) localPdp);
             } catch (PAPException e) {
-                PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught PAPException trying to get remove pdp with papEngine.removePDP("+localPdp+");");
-                throw new PAPException("Could not remove pdp "+pdpId);
+                PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                        "Caught PAPException trying to get remove pdp with papEngine.removePDP(" + localPdp + ");");
+                throw new PAPException("Could not remove pdp " + pdpId);
             }
-        }
-        else if(localPdp == null){
+        } else if (localPdp == null) {
             //add new pdp
             //get group
             OnapPDPGroup localGroup = null;
             try {
                 localGroup = papEngine.getGroup(pdpRecord.getGroup().getGroupId());
             } catch (PAPException e1) {
-                PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e1, policyDBDaoVar, "Caught PAPException trying to get local group to add pdp to with papEngine.getGroup(pdpRecord.getGroup().getGroupId());");
+                PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e1, policyDBDaoVar,
+                        "Caught PAPException trying to get local group to add pdp to with papEngine.getGroup" +
+                                "(pdpRecord.getGroup().getGroupId());");
                 throw new PAPException("Could not get local group");
             }
             try {
-                papEngine.newPDP(pdpRecord.getPdpId(), localGroup, pdpRecord.getPdpName(), pdpRecord.getDescription(), pdpRecord.getJmxPort());
+                papEngine.newPDP(pdpRecord.getPdpId(), localGroup, pdpRecord.getPdpName(), pdpRecord.getDescription(),
+                        pdpRecord.getJmxPort());
             } catch (NullPointerException | PAPException e) {
-                PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught PAPException trying to create pdp with papEngine.newPDP("+pdpRecord.getPdpId()+", "+localGroup+", "+pdpRecord.getPdpName()+", "+pdpRecord.getDescription()+", "+pdpRecord.getJmxPort()+");");
-                throw new PAPException("Could not create pdp "+pdpRecord);
+                PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                        "Caught PAPException trying to create pdp with papEngine.newPDP(" + pdpRecord.getPdpId() +
+                                ", " + localGroup + ", " + pdpRecord.getPdpName() + ", " + pdpRecord.getDescription() +
+                                ", " + pdpRecord.getJmxPort() + ");");
+                throw new PAPException("Could not create pdp " + pdpRecord);
             }
         } else {
             boolean needToUpdate = false;
-            if(!stringEquals(localPdp.getId(),pdpRecord.getPdpId()) || !stringEquals(localPdp.getName(),pdpRecord.getPdpName())){
+            if (!stringEquals(localPdp.getId(), pdpRecord.getPdpId()) ||
+                    !stringEquals(localPdp.getName(), pdpRecord.getPdpName())) {
                 //again, we don't want to change the id, the papEngine will do this
                 localPdp.setName(pdpRecord.getPdpName());
                 needToUpdate = true;
             }
-            if(!stringEquals(localPdp.getDescription(),pdpRecord.getDescription())){
+            if (!stringEquals(localPdp.getDescription(), pdpRecord.getDescription())) {
                 localPdp.setDescription(pdpRecord.getDescription());
                 needToUpdate = true;
             }
             String localPdpGroupId = null;
-            try{
+            try {
                 localPdpGroupId = papEngine.getPDPGroup((OnapPDP) localPdp).getId();
-            } catch(PAPException e){
+            } catch (PAPException e) {
                 //could be null or something, just warn at this point
-                logger.warn("Caught PAPException trying to get id of local group that pdp is in with localPdpGroupId = papEngine.getPDPGroup(localPdp).getId();",e);
+                logger.warn(
+                        "Caught PAPException trying to get id of local group that pdp is in with localPdpGroupId = " +
+                                "papEngine.getPDPGroup(localPdp).getId();",
+                        e);
             }
-            if(!stringEquals(localPdpGroupId,pdpRecord.getGroup().getGroupId())){
+            if (!stringEquals(localPdpGroupId, pdpRecord.getGroup().getGroupId())) {
                 OnapPDPGroup newPdpGroup = null;
-                try{
+                try {
                     newPdpGroup = papEngine.getGroup(pdpRecord.getGroup().getGroupId());
-                }catch(PAPException e){
+                } catch (PAPException e) {
                     //ok, now we have an issue. Time to stop things
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught PAPException trying to get id of local group to move pdp to with papEngine.getGroup(pdpRecord.getGroup().getGroupId());");
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught PAPException trying to get id of local group to move pdp to with papEngine" +
+                                    ".getGroup(pdpRecord.getGroup().getGroupId());");
                     throw new PAPException("Could not get local group");
                 }
-                try{
+                try {
                     papEngine.movePDP((OnapPDP) localPdp, newPdpGroup);
-                }catch(PAPException e){
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught PAPException trying to move pdp with papEngine.movePDP(localPdp, newPdpGroup);");
-                    throw new PAPException("Could not move pdp "+localPdp);
+                } catch (PAPException e) {
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught PAPException trying to move pdp with papEngine.movePDP(localPdp, newPdpGroup);");
+                    throw new PAPException("Could not move pdp " + localPdp);
                 }
             }
-            if(((PdpEntity) localPdp).getJmxPort() != pdpRecord.getJmxPort()){
+            if (((PdpEntity) localPdp).getJmxPort() != pdpRecord.getJmxPort()) {
                 ((PdpEntity) localPdp).setJmxPort(pdpRecord.getJmxPort());
                 needToUpdate = true;
             }
-            if(needToUpdate){
+            if (needToUpdate) {
                 try {
                     papEngine.updatePDP((OnapPDP) localPdp);
                 } catch (PAPException e) {
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught PAPException trying to update pdp with papEngine.updatePdp("+localPdp+");");
-                    throw new PAPException("Could not update pdp "+localPdp);
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught PAPException trying to update pdp with papEngine.updatePdp(" + localPdp + ");");
+                    throw new PAPException("Could not update pdp " + localPdp);
                 }
             }
         }
         //compare to local situation
         //call command to update
     }
-    private void handleIncomingPolicyChange(String policyId){
+
+    private void handleIncomingPolicyChange(String policyId) {
         String policyName = null;
         EntityManager em = emf.createEntityManager();
         Query getPolicyEntityQuery = em.createNamedQuery("PolicyEntity.FindById");
@@ -1005,38 +1091,39 @@ public class PolicyDBDao {
         @SuppressWarnings("unchecked")
         List<PolicyEntity> policies = getPolicyEntityQuery.getResultList();
         PolicyEntity policy = null;
-        if (!policies.isEmpty()){
+        if (!policies.isEmpty()) {
             policy = policies.get(0);
         }
         String action = "unknown action";
         try {
-            if(policy != null){
+            if (policy != null) {
                 policyName = policy.getPolicyName();
                 logger.info("Deleting old Policy Config File for " + policy.getPolicyName());
                 action = "delete";
                 Path subFile = null;
 
-                if (policy.getConfigurationData()!= null){
+                if (policy.getConfigurationData() != null) {
                     subFile = getPolicySubFile(policy.getConfigurationData().getConfigurationName(), config);
-                }else if(policy.getActionBodyEntity()!= null){
+                } else if (policy.getActionBodyEntity() != null) {
                     subFile = getPolicySubFile(policy.getActionBodyEntity().getActionBodyName(), action);
                 }
 
-                if(subFile != null){
+                if (subFile != null) {
                     Files.deleteIfExists(subFile);
                 }
-                if (policy.getConfigurationData()!= null){
+                if (policy.getConfigurationData() != null) {
                     writePolicySubFile(policy, config);
-                }else if(policy.getActionBodyEntity()!= null){
+                } else if (policy.getActionBodyEntity() != null) {
                     writePolicySubFile(policy, action);
                 }
             }
         } catch (IOException e1) {
-            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e1, policyDBDaoVar, "Error occurred while performing [" + action + "] of Policy File: " + policyName);
+            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e1, policyDBDaoVar,
+                    "Error occurred while performing [" + action + "] of Policy File: " + policyName);
         }
     }
 
-    private String getPdpPolicyName(String name, String scope){
+    private String getPdpPolicyName(String name, String scope) {
         String finalName = "";
         finalName += scope;
         finalName += ".";
@@ -1044,11 +1131,12 @@ public class PolicyDBDao {
         finalName += ".xml";
         return finalName;
     }
-    private String removeFileExtension(String fileName){
+
+    private String removeFileExtension(String fileName) {
         return fileName.substring(0, fileName.lastIndexOf('.'));
     }
 
-    private Path getPolicySubFile(String inputFileName, String subFileType){
+    private Path getPolicySubFile(String inputFileName, String subFileType) {
         String filename = inputFileName;
         logger.info("getPolicySubFile(" + filename + ", " + subFileType + ")");
         Path filePath = Paths.get(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_WEBAPPS), subFileType);
@@ -1056,14 +1144,14 @@ public class PolicyDBDao {
 
         filename = FilenameUtils.removeExtension(filename);
 
-        for(File tmpFile : filePath.toFile().listFiles()){
-            if (FilenameUtils.removeExtension(tmpFile.getName()).equals(filename)){
+        for (File tmpFile : filePath.toFile().listFiles()) {
+            if (FilenameUtils.removeExtension(tmpFile.getName()).equals(filename)) {
                 file = tmpFile;
             }
         }
 
         Path finalPath = null;
-        if (file!= null){
+        if (file != null) {
             finalPath = Paths.get(file.getAbsolutePath());
         }
 
@@ -1071,12 +1159,13 @@ public class PolicyDBDao {
         return finalPath;
     }
 
-    private boolean writePolicySubFile(PolicyEntity policy, String policyType){
-        logger.info("writePolicySubFile with policyName[" + policy.getPolicyName() + "] and policyType[" + policyType + "]");
+    private boolean writePolicySubFile(PolicyEntity policy, String policyType) {
+        logger.info("writePolicySubFile with policyName[" + policy.getPolicyName() + "] and policyType[" + policyType +
+                "]");
         String type = null;
         String subTypeName = null;
         String subTypeBody = null;
-        if (config.equalsIgnoreCase(policyType)){
+        if (config.equalsIgnoreCase(policyType)) {
             type = config;
             subTypeName = FilenameUtils.removeExtension(policy.getConfigurationData().getConfigurationName());
             subTypeBody = policy.getConfigurationData().getConfigBody();
@@ -1097,47 +1186,48 @@ public class PolicyDBDao {
                     subTypeName = subTypeName + ".txt";
                 }
             }
-        }else if (action.equalsIgnoreCase(policyType)){
+        } else if (action.equalsIgnoreCase(policyType)) {
             type = action;
             subTypeName = policy.getActionBodyEntity().getActionBodyName();
             subTypeBody = policy.getActionBodyEntity().getActionBody();
         }
         Path filePath = Paths.get(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_WEBAPPS).toString(), type);
 
-        if(subTypeBody == null){
+        if (subTypeBody == null) {
             subTypeBody = "";
         }
         boolean success = false;
         try {
             Files.deleteIfExists(Paths.get(filePath.toString(), subTypeName));
-            File file = Paths.get(filePath.toString(),subTypeName).toFile();
+            File file = Paths.get(filePath.toString(), subTypeName).toFile();
             boolean value = file.createNewFile();
-            logger.debug("New file created successfully"+value);
-            try(FileWriter fileWriter = new FileWriter(file, false)){
+            logger.debug("New file created successfully" + value);
+            try (FileWriter fileWriter = new FileWriter(file, false)) {
                 // false to overwrite
                 fileWriter.write(subTypeBody);
                 fileWriter.close();
                 success = true;
             }
         } catch (Exception e) {
-            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Exception occured while creating Configuration File for Policy : " + policy.getPolicyName());
+            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                    "Exception occured while creating Configuration File for Policy : " + policy.getPolicyName());
         }
         return success;
     }
 
-    public void auditLocalDatabase(PAPPolicyEngine papEngine2){
+    public void auditLocalDatabase(PAPPolicyEngine papEngine2) {
         logger.debug("PolicyDBDao.auditLocalDatabase() is called");
-        try{
+        try {
             deleteAllGroupTables();
             auditGroups(papEngine2);
-        } catch(Exception e){
+        } catch (Exception e) {
             PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "auditLocalDatabase() error");
-            logger.error("Exception Occured"+e);
+            logger.error("Exception Occured" + e);
         }
     }
 
 
-    public StdPDPGroup auditLocalFileSystem(StdPDPGroup group){
+    public StdPDPGroup auditLocalFileSystem(StdPDPGroup group) {
 
         logger.info("Starting Local File System group audit");
         EntityManager em = emf.createEntityManager();
@@ -1149,8 +1239,8 @@ public class PolicyDBDao {
             groupQuery.setParameter(groupIdVar, group.getId());
             groupQuery.setParameter(deletedVar, false);
             List<?> groupQueryList = groupQuery.getResultList();
-            if(groupQueryList!=null && !groupQueryList.isEmpty()){
-                GroupEntity dbgroup = (GroupEntity)groupQueryList.get(0);
+            if (groupQueryList != null && !groupQueryList.isEmpty()) {
+                GroupEntity dbgroup = (GroupEntity) groupQueryList.get(0);
                 updatedGroup = synchronizeGroupPoliciesInFileSystem(group, dbgroup);
                 logger.info("Group was updated during file system audit: " + updatedGroup.toString());
             }
@@ -1158,8 +1248,9 @@ public class PolicyDBDao {
             logger.error(e);
         } catch (Exception e) {
             logger.error(e);
-            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception trying to check if group exists groupQuery.getResultList()");
-            throw new PersistenceException("Query failed trying to check if group "+group.getId()+" exists");
+            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                    "Caught Exception trying to check if group exists groupQuery.getResultList()");
+            throw new PersistenceException("Query failed trying to check if group " + group.getId() + " exists");
         }
 
         em.getTransaction().commit();
@@ -1169,7 +1260,7 @@ public class PolicyDBDao {
 
     }
 
-    public void deleteAllGroupTables(){
+    public void deleteAllGroupTables() {
         logger.debug("PolicyDBDao.deleteAllGroupTables() called");
         EntityManager em = emf.createEntityManager();
         em.getTransaction().begin();
@@ -1185,18 +1276,18 @@ public class PolicyDBDao {
     }
 
     @SuppressWarnings("unchecked")
-    public void auditGroups(PAPPolicyEngine papEngine2){
+    public void auditGroups(PAPPolicyEngine papEngine2) {
         logger.debug("PolicyDBDao.auditGroups() called");
 
         EntityManager em = emf.createEntityManager();
         em.getTransaction().begin();
         final String AUDIT_STR = "Audit";
-        try{
+        try {
 
             Set<OnapPDPGroup> groups = papEngine2.getOnapPDPGroups();
 
-            for (OnapPDPGroup grp : groups){
-                try{
+            for (OnapPDPGroup grp : groups) {
+                try {
                     GroupEntity groupEntity = new GroupEntity();
                     em.persist(groupEntity);
                     groupEntity.setGroupName(grp.getName());
@@ -1205,9 +1296,9 @@ public class PolicyDBDao {
                     groupEntity.setCreatedBy(AUDIT_STR);
                     groupEntity.setGroupId(createNewPDPGroupId(grp.getId()));
                     groupEntity.setModifiedBy(AUDIT_STR);
-                    Set<OnapPDP> pdps =  grp.getOnapPdps();
+                    Set<OnapPDP> pdps = grp.getOnapPdps();
 
-                    for(OnapPDP pdp : pdps){
+                    for (OnapPDP pdp : pdps) {
                         PdpEntity pdpEntity = new PdpEntity();
                         em.persist(pdpEntity);
                         pdpEntity.setGroup(groupEntity);
@@ -1221,11 +1312,12 @@ public class PolicyDBDao {
 
                     Set<PDPPolicy> policies = grp.getPolicies();
 
-                    for(PDPPolicy policy : policies){
-                        try{
+                    for (PDPPolicy policy : policies) {
+                        try {
                             String[] stringArray = getNameScopeAndVersionFromPdpPolicy(policy.getId());
-                            if(stringArray == null) {
-                                throw new IllegalArgumentException("Invalid input - policyID must contain name, scope and version");
+                            if (stringArray == null) {
+                                throw new IllegalArgumentException(
+                                        "Invalid input - policyID must contain name, scope and version");
                             }
                             List<PolicyEntity> policyEntityList;
                             Query getPolicyEntitiesQuery = em.createNamedQuery("PolicyEntity.findByNameAndScope");
@@ -1234,21 +1326,23 @@ public class PolicyDBDao {
 
                             policyEntityList = getPolicyEntitiesQuery.getResultList();
                             PolicyEntity policyEntity = null;
-                            if(!policyEntityList.isEmpty()){
+                            if (!policyEntityList.isEmpty()) {
                                 policyEntity = policyEntityList.get(0);
                             }
-                            if(policyEntity != null){
+                            if (policyEntity != null) {
                                 groupEntity.addPolicyToGroup(policyEntity);
                             }
-                        }catch(Exception e2){
-                            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e2, policyDBDaoVar, "Exception auditGroups inner catch");
+                        } catch (Exception e2) {
+                            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e2, policyDBDaoVar,
+                                    "Exception auditGroups inner catch");
                         }
                     }
-                }catch(Exception e1){
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e1, policyDBDaoVar, "Exception auditGroups middle catch");
+                } catch (Exception e1) {
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e1, policyDBDaoVar,
+                            "Exception auditGroups middle catch");
                 }
             }
-        }catch(Exception e){
+        } catch (Exception e) {
             em.getTransaction().rollback();
             PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Exception auditGroups outer catch");
             em.close();
@@ -1260,18 +1354,21 @@ public class PolicyDBDao {
 
     }
 
-    private String getConfigFile(String filename, PolicyRestAdapter policy){
-        if(policy == null){
-            return getConfigFile(filename, (String)null);
+    private String getConfigFile(String filename, PolicyRestAdapter policy) {
+        if (policy == null) {
+            return getConfigFile(filename, (String) null);
         }
         return getConfigFile(filename, policy.getConfigType());
     }
+
     //copied from ConfigPolicy.java and modified
     // Here we are adding the extension for the configurations file based on the
     // config type selection for saving.
     private String getConfigFile(String inputFilename, String configType) {
         String filename = inputFilename;
-        logger.debug("getConfigFile(String filename, String scope, String configType) as getConfigFile("+filename+", "+configType+") called");
+        logger.debug(
+                "getConfigFile(String filename, String scope, String configType) as getConfigFile(" + filename + ", " +
+                        configType + ") called");
         filename = FilenameUtils.removeExtension(filename);
         String id = configType;
 
@@ -1292,20 +1389,20 @@ public class PolicyDBDao {
         return filename;
     }
 
-    private String[] getNameScopeAndVersionFromPdpPolicy(String fileName){
+    private String[] getNameScopeAndVersionFromPdpPolicy(String fileName) {
         String[] splitByDots = fileName.split("\\.");
-        if(splitByDots.length < 3){
+        if (splitByDots.length < 3) {
             return null;
         }
-        String policyName = splitByDots[splitByDots.length-3];
-        String version = splitByDots[splitByDots.length-2];
+        String policyName = splitByDots[splitByDots.length - 3];
+        String version = splitByDots[splitByDots.length - 2];
         //policy names now include version
         String scope = "";
-        for(int i=0;i<splitByDots.length-3;i++){
+        for (int i = 0; i < splitByDots.length - 3; i++) {
             scope += ".".concat(splitByDots[i]);
         }
         //remove the first dot
-        if(scope.length() > 0){
+        if (scope.length() > 0) {
             scope = scope.substring(1);
         }
         String[] returnArray = new String[3];
@@ -1338,12 +1435,13 @@ public class PolicyDBDao {
 
     /**
      * Checks if any of the given strings are empty or null
+     *
      * @param strings One or more Strings (or nulls) to check if they are null or empty
      * @return true if one or more of the given strings are empty or null
      */
-    public static boolean isNullOrEmpty(String... strings){
-        for(String s : strings){
-            if(s == null || "".equals(s)){
+    public static boolean isNullOrEmpty(String... strings) {
+        for (String s : strings) {
+            if (s == null || "".equals(s)) {
                 return true;
             }
         }
@@ -1361,15 +1459,16 @@ public class PolicyDBDao {
         private boolean operationRun = false;
         private final Thread transactionTimer;
 
-        private PolicyDBDaoTransactionInstance(){
+        private PolicyDBDaoTransactionInstance() {
             //call the constructor with arguments
             this(Integer.parseInt(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_TRANS_TIMEOUT)),
                     Integer.parseInt(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_TRANS_WAIT)));
         }
+
         //timeout is how long the transaction can sit before rolling back
         //wait time is how long to wait for the transaction to start before throwing an exception
-        private PolicyDBDaoTransactionInstance(int transactionTimeout, int transactionWaitTime){
-            if(logger.isDebugEnabled()){
+        private PolicyDBDaoTransactionInstance(int transactionTimeout, int transactionWaitTime) {
+            if (logger.isDebugEnabled()) {
                 logger.debug("\n\nPolicyDBDaoTransactionInstance() as PolicyDBDaoTransactionInstance() called:"
                         + "\n   transactionTimeout = " + transactionTimeout
                         + "\n   transactionWaitTime = " + transactionWaitTime + "\n\n");
@@ -1379,24 +1478,27 @@ public class PolicyDBDao {
             groupId = -1;
             pdpId = -1;
             newGroupId = null;
-            synchronized(emLock){
-                try{
-                    startTransactionSynced(this.em,transactionWaitTime);
-                } catch(Exception e){
+            synchronized (emLock) {
+                try {
+                    startTransactionSynced(this.em, transactionWaitTime);
+                } catch (Exception e) {
                     logger.debug(e);
-                    throw new PersistenceException("Could not lock transaction within "+transactionWaitTime+" milliseconds");
+                    throw new PersistenceException(
+                            "Could not lock transaction within " + transactionWaitTime + " milliseconds");
                 }
             }
             class TransactionTimer implements Runnable {
 
                 private int sleepTime;
-                public TransactionTimer(int timeout){
+
+                public TransactionTimer(int timeout) {
                     this.sleepTime = timeout;
                 }
+
                 @Override
                 public void run() {
-                    if(logger.isDebugEnabled()){
-                        Date date= new java.util.Date();
+                    if (logger.isDebugEnabled()) {
+                        Date date = new java.util.Date();
                         logger.debug("\n\nTransactionTimer.run() - SLEEPING: "
                                 + "\n   sleepTime (ms) = " + sleepTime
                                 + "\n   TimeStamp = " + date.getTime()
@@ -1406,8 +1508,8 @@ public class PolicyDBDao {
                         Thread.sleep(sleepTime);
                     } catch (InterruptedException e) {
                         //probably, the transaction was completed, the last thing we want to do is roll back
-                        if(logger.isDebugEnabled()){
-                            Date date= new java.util.Date();
+                        if (logger.isDebugEnabled()) {
+                            Date date = new java.util.Date();
                             logger.debug("\n\nTransactionTimer.run() - WAKE Interrupt: "
                                     + "\n   TimeStamp = " + date.getTime()
                                     + "\n\n");
@@ -1415,8 +1517,8 @@ public class PolicyDBDao {
                         Thread.currentThread().interrupt();
                         return;
                     }
-                    if(logger.isDebugEnabled()){
-                        Date date= new java.util.Date();
+                    if (logger.isDebugEnabled()) {
+                        Date date = new java.util.Date();
                         logger.debug("\n\nTransactionTimer.run() - WAKE Timeout: "
                                 + "\n   TimeStamp = " + date.getTime()
                                 + "\n\n");
@@ -1426,88 +1528,101 @@ public class PolicyDBDao {
 
             }
 
-            transactionTimer = new Thread(new TransactionTimer(transactionTimeout),"transactionTimerThread");
+            transactionTimer = new Thread(new TransactionTimer(transactionTimeout), "transactionTimerThread");
             transactionTimer.start();
 
 
         }
 
-        private void checkBeforeOperationRun(){
+        private void checkBeforeOperationRun() {
             checkBeforeOperationRun(false);
         }
-        private void checkBeforeOperationRun(boolean justCheckOpen){
-            if(!isTransactionOpen()){
+
+        private void checkBeforeOperationRun(boolean justCheckOpen) {
+            if (!isTransactionOpen()) {
                 PolicyLogger.error("There is no transaction currently open");
                 throw new IllegalStateException("There is no transaction currently open");
             }
-            if(operationRun && !justCheckOpen){
-                PolicyLogger.error("An operation has already been performed and the current transaction should be committed");
-                throw new IllegalStateException("An operation has already been performed and the current transaction should be committed");
+            if (operationRun && !justCheckOpen) {
+                PolicyLogger
+                        .error("An operation has already been performed and the current transaction should be " +
+                                "committed");
+                throw new IllegalStateException(
+                        "An operation has already been performed and the current transaction should be committed");
             }
             operationRun = true;
         }
+
         @Override
         public void commitTransaction() {
-            synchronized(emLock){
+            synchronized (emLock) {
                 logger.debug("commitTransaction() as commitTransaction() called");
-                if(!isTransactionOpen()){
+                if (!isTransactionOpen()) {
                     logger.warn("There is no open transaction to commit");
-                    try{
+                    try {
                         em.close();
-                    } catch(Exception e){
-                        logger.error("Exception Occured"+e);
+                    } catch (Exception e) {
+                        logger.error("Exception Occured" + e);
                     }
                     return;
                 }
-                try{
+                try {
                     em.getTransaction().commit();
-                } catch(RollbackException e){
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught RollbackException on em.getTransaction().commit()");
-                    throw new PersistenceException("The commit failed. Message:\n"+e.getMessage());
+                } catch (RollbackException e) {
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught RollbackException on em.getTransaction().commit()");
+                    throw new PersistenceException("The commit failed. Message:\n" + e.getMessage());
                 }
                 em.close();
                 // need to revisit
-                if(policyId >= 0){
-                    if(newGroupId != null){
-                        try{
-                            notifyOthers(policyId,POLICY_NOTIFICATION,newGroupId);
-                        } catch(Exception e){
-                            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception on notifyOthers("+policyId+","+POLICY_NOTIFICATION+","+newGroupId+")");
+                if (policyId >= 0) {
+                    if (newGroupId != null) {
+                        try {
+                            notifyOthers(policyId, POLICY_NOTIFICATION, newGroupId);
+                        } catch (Exception e) {
+                            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                                    "Caught Exception on notifyOthers(" + policyId + "," + POLICY_NOTIFICATION + "," +
+                                            newGroupId + ")");
                         }
                     } else {
-                        try{
-                            notifyOthers(policyId,POLICY_NOTIFICATION);
-                        } catch(Exception e){
-                            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception on notifyOthers("+policyId+","+POLICY_NOTIFICATION+")");
+                        try {
+                            notifyOthers(policyId, POLICY_NOTIFICATION);
+                        } catch (Exception e) {
+                            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                                    "Caught Exception on notifyOthers(" + policyId + "," + POLICY_NOTIFICATION + ")");
                         }
                     }
                 }
-                if(groupId >= 0){
+                if (groupId >= 0) {
                     //we don't want commit to fail just because this does
-                    if(newGroupId != null){
-                        try{
-                            notifyOthers(groupId,GROUP_NOTIFICATION,newGroupId);
-                        } catch(Exception e){
-                            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception on notifyOthers("+groupId+","+GROUP_NOTIFICATION+","+newGroupId+")");
+                    if (newGroupId != null) {
+                        try {
+                            notifyOthers(groupId, GROUP_NOTIFICATION, newGroupId);
+                        } catch (Exception e) {
+                            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                                    "Caught Exception on notifyOthers(" + groupId + "," + GROUP_NOTIFICATION + "," +
+                                            newGroupId + ")");
                         }
                     } else {
-                        try{
-                            notifyOthers(groupId,GROUP_NOTIFICATION);
-                        } catch(Exception e){
-                            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception on notifyOthers("+groupId+","+GROUP_NOTIFICATION+")");
+                        try {
+                            notifyOthers(groupId, GROUP_NOTIFICATION);
+                        } catch (Exception e) {
+                            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                                    "Caught Exception on notifyOthers(" + groupId + "," + GROUP_NOTIFICATION + ")");
                         }
                     }
                 }
-                if(pdpId >= 0){
+                if (pdpId >= 0) {
                     //we don't want commit to fail just because this does
-                    try{
-                        notifyOthers(pdpId,PDP_NOTIFICATION);
-                    } catch(Exception e){
-                        PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception on notifyOthers("+pdpId+","+PDP_NOTIFICATION+")");
+                    try {
+                        notifyOthers(pdpId, PDP_NOTIFICATION);
+                    } catch (Exception e) {
+                        PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                                "Caught Exception on notifyOthers(" + pdpId + "," + PDP_NOTIFICATION + ")");
                     }
                 }
             }
-            if(transactionTimer != null){
+            if (transactionTimer != null) {
                 transactionTimer.interrupt();
             }
         }
@@ -1515,201 +1630,230 @@ public class PolicyDBDao {
         @Override
         public void rollbackTransaction() {
             logger.debug("rollbackTransaction() as rollbackTransaction() called");
-            synchronized(emLock){
-                if(isTransactionOpen()){
+            synchronized (emLock) {
+                if (isTransactionOpen()) {
 
-                    try{
+                    try {
                         em.getTransaction().rollback();
-                    } catch(Exception e){
-                        PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Could not rollback transaction");
+                    } catch (Exception e) {
+                        PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                                "Could not rollback transaction");
                     }
-                    try{
+                    try {
                         em.close();
-                    }catch(Exception e){
-                        PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Could not close EntityManager");
+                    } catch (Exception e) {
+                        PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                                "Could not close EntityManager");
                     }
 
                 } else {
-                    try{
+                    try {
                         em.close();
-                    }catch(Exception e){
+                    } catch (Exception e) {
                         logger.warn("Could not close already closed transaction", e);
                     }
                 }
 
             }
-            if(transactionTimer != null){
+            if (transactionTimer != null) {
                 transactionTimer.interrupt();
             }
         }
 
-        private void createPolicy(PolicyRestAdapter policy, String username, String policyScope, String inputPolicyName, String policyDataString) {
+        private void createPolicy(PolicyRestAdapter policy, String username, String policyScope, String inputPolicyName,
+                                  String policyDataString) {
             String policyName = inputPolicyName;
-            logger.debug("createPolicy(PolicyRestAdapter policy, String username, String policyScope, String policyName, String policyDataString) as createPolicy("+policy+", "+username+", "+policyScope+", "+policyName+", "+policyDataString+") called");
-            synchronized(emLock){
+            logger.debug(
+                    "createPolicy(PolicyRestAdapter policy, String username, String policyScope, String policyName, " +
+                            "String policyDataString) as createPolicy(" +
+                            policy + ", " + username + ", " + policyScope + ", " + policyName + ", " +
+                            policyDataString + ") called");
+            synchronized (emLock) {
                 checkBeforeOperationRun();
                 String configName = policyName;
-                if(policyName.contains("Config_")){
+                if (policyName.contains("Config_")) {
                     policyName = policyName.replace(".Config_", ":Config_");
-                }else if(policyName.contains("Action_")){
+                } else if (policyName.contains("Action_")) {
                     policyName = policyName.replace(".Action_", ":Action_");
-                }else if(policyName.contains("Decision_")){
+                } else if (policyName.contains("Decision_")) {
                     policyName = policyName.replace(".Decision_", ":Decision_");
                 }
                 policyName = policyName.split(":")[1];
-                Query createPolicyQuery = em.createQuery("SELECT p FROM PolicyEntity p WHERE p.scope=:scope AND p.policyName=:policyName");
+                Query createPolicyQuery = em.createQuery(
+                        "SELECT p FROM PolicyEntity p WHERE p.scope=:scope AND p.policyName=:policyName");
                 createPolicyQuery.setParameter(scope, policyScope);
                 createPolicyQuery.setParameter("policyName", policyName);
                 List<?> createPolicyQueryList = createPolicyQuery.getResultList();
                 PolicyEntity newPolicyEntity;
                 boolean update;
-                if(createPolicyQueryList.isEmpty()){
+                if (createPolicyQueryList.isEmpty()) {
                     newPolicyEntity = new PolicyEntity();
                     update = false;
-                } else if(createPolicyQueryList.size() > 1){
-                    PolicyLogger.error("Somehow, more than one policy with the same scope, name, and deleted status were found in the database");
-                    throw new PersistenceException("Somehow, more than one policy with the same scope, name, and deleted status were found in the database");
+                } else if (createPolicyQueryList.size() > 1) {
+                    PolicyLogger
+                            .error("Somehow, more than one policy with the same scope, name, and deleted status were " +
+                                    "found in the database");
+                    throw new PersistenceException(
+                            "Somehow, more than one policy with the same scope, name, and deleted status were found " +
+                                    "in the database");
                 } else {
-                    newPolicyEntity = (PolicyEntity)createPolicyQueryList.get(0);
+                    newPolicyEntity = (PolicyEntity) createPolicyQueryList.get(0);
                     update = true;
                 }
 
                 ActionBodyEntity newActionBodyEntity = null;
-                if(policy.getPolicyType().equals(action)){
+                if (policy.getPolicyType().equals(action)) {
                     boolean abupdate = false;
-                    if(newPolicyEntity.getActionBodyEntity() == null){
+                    if (newPolicyEntity.getActionBodyEntity() == null) {
                         newActionBodyEntity = new ActionBodyEntity();
-                    }else{
-                        newActionBodyEntity = em.find(ActionBodyEntity.class, newPolicyEntity.getActionBodyEntity().getActionBodyId());
+                    } else {
+                        newActionBodyEntity = em.find(ActionBodyEntity.class,
+                                newPolicyEntity.getActionBodyEntity().getActionBodyId());
                         abupdate = true;
                     }
 
-                    if(newActionBodyEntity != null){
-                        if(!abupdate){
+                    if (newActionBodyEntity != null) {
+                        if (!abupdate) {
                             em.persist(newActionBodyEntity);
                         }
                         //build the file path
                         //trim the .xml off the end
                         String policyNameClean = FilenameUtils.removeExtension(configName);
-                        String actionBodyName =  policyNameClean + ".json";
+                        String actionBodyName = policyNameClean + ".json";
 
                         //get the action body
                         String actionBodyString = policy.getActionBody();
-                        if(actionBodyString == null){
+                        if (actionBodyString == null) {
                             actionBodyString = "{}";
                         }
                         newActionBodyEntity.setActionBody(actionBodyString);
                         newActionBodyEntity.setActionBodyName(actionBodyName);
                         newActionBodyEntity.setModifiedBy("PolicyDBDao.createPolicy()");
                         newActionBodyEntity.setDeleted(false);
-                        if(!abupdate){
+                        if (!abupdate) {
                             newActionBodyEntity.setCreatedBy("PolicyDBDao.createPolicy()");
                         }
-                        if(logger.isDebugEnabled()){
+                        if (logger.isDebugEnabled()) {
                             logger.debug("\nPolicyDBDao.createPolicy"
-                                    + "\n   newActionBodyEntity.getActionBody() = " + newActionBodyEntity.getActionBody()
-                                    + "\n   newActionBodyEntity.getActionBodyName() = " + newActionBodyEntity.getActionBodyName()
-                                    + "\n   newActionBodyEntity.getModifiedBy() = " + newActionBodyEntity.getModifiedBy()
+                                    + "\n   newActionBodyEntity.getActionBody() = " +
+                                    newActionBodyEntity.getActionBody()
+                                    + "\n   newActionBodyEntity.getActionBodyName() = " +
+                                    newActionBodyEntity.getActionBodyName()
+                                    + "\n   newActionBodyEntity.getModifiedBy() = " +
+                                    newActionBodyEntity.getModifiedBy()
                                     + "\n   newActionBodyEntity.getCreatedBy() = " + newActionBodyEntity.getCreatedBy()
                                     + "\n   newActionBodyEntity.isDeleted() = " + newActionBodyEntity.isDeleted()
                                     + "\n   FLUSHING to DB");
                         }
                         //push the actionBodyEntity to the DB
                         em.flush();
-                    }else{
+                    } else {
                         //newActionBodyEntity == null
                         //We have a actionBody in the policy but we found no actionBody in the DB
                         String msg = "\n\nPolicyDBDao.createPolicy - Incoming Action policy had an "
                                 + "actionBody, but it could not be found in the DB for update."
                                 + "\n  policyScope = " + policyScope
                                 + "\n  policyName = " + policyName + "\n\n";
-                        PolicyLogger.error("PolicyDBDao.createPolicy - Incoming Action policy had an actionBody, but it could not be found in the DB for update: policyName = " + policyName);
+                        PolicyLogger
+                                .error("PolicyDBDao.createPolicy - Incoming Action policy had an actionBody, but it " +
+                                        "could not be found in the DB for update: policyName = " +
+                                        policyName);
                         throw new IllegalArgumentException(msg);
                     }
                 }
 
                 ConfigurationDataEntity newConfigurationDataEntity;
-                if(policy.getPolicyType().equals(config)){
+                if (policy.getPolicyType().equals(config)) {
                     boolean configUpdate;
-                    if(newPolicyEntity.getConfigurationData() == null){
+                    if (newPolicyEntity.getConfigurationData() == null) {
                         newConfigurationDataEntity = new ConfigurationDataEntity();
                         configUpdate = false;
                     } else {
-                        newConfigurationDataEntity = em.find(ConfigurationDataEntity.class, newPolicyEntity.getConfigurationData().getConfigurationDataId());
+                        newConfigurationDataEntity = em.find(ConfigurationDataEntity.class,
+                                newPolicyEntity.getConfigurationData().getConfigurationDataId());
                         configUpdate = true;
                     }
 
-                    if(newConfigurationDataEntity != null){
-                        if(!configUpdate){
+                    if (newConfigurationDataEntity != null) {
+                        if (!configUpdate) {
                             em.persist(newConfigurationDataEntity);
                         }
-                        if(!stringEquals(newConfigurationDataEntity.getConfigurationName(),getConfigFile(configName,policy))){
-                            newConfigurationDataEntity.setConfigurationName(getConfigFile(configName,policy));
+                        if (!stringEquals(newConfigurationDataEntity.getConfigurationName(),
+                                getConfigFile(configName, policy))) {
+                            newConfigurationDataEntity.setConfigurationName(getConfigFile(configName, policy));
                         }
-                        if(newConfigurationDataEntity.getConfigType() == null || !newConfigurationDataEntity.getConfigType().equals(policy.getConfigType())){
+                        if (newConfigurationDataEntity.getConfigType() == null ||
+                                !newConfigurationDataEntity.getConfigType().equals(policy.getConfigType())) {
                             newConfigurationDataEntity.setConfigType(policy.getConfigType());
                         }
-                        if(!configUpdate){
+                        if (!configUpdate) {
                             newConfigurationDataEntity.setCreatedBy(username);
                         }
-                        if(newConfigurationDataEntity.getModifiedBy() == null || !newConfigurationDataEntity.getModifiedBy().equals(username)){
+                        if (newConfigurationDataEntity.getModifiedBy() == null ||
+                                !newConfigurationDataEntity.getModifiedBy().equals(username)) {
                             newConfigurationDataEntity.setModifiedBy(username);
                         }
-                        if(newConfigurationDataEntity.getDescription() == null || !newConfigurationDataEntity.getDescription().equals("")){
+                        if (newConfigurationDataEntity.getDescription() == null ||
+                                !newConfigurationDataEntity.getDescription().equals("")) {
                             newConfigurationDataEntity.setDescription("");
                         }
-                        if(newConfigurationDataEntity.getConfigBody() == null || newConfigurationDataEntity.getConfigBody().isEmpty() ||
-                                (!newConfigurationDataEntity.getConfigBody().equals(policy.getConfigBodyData()))){
+                        if (newConfigurationDataEntity.getConfigBody() == null ||
+                                newConfigurationDataEntity.getConfigBody().isEmpty() ||
+                                (!newConfigurationDataEntity.getConfigBody().equals(policy.getConfigBodyData()))) {
                             //hopefully one of these won't be null
-                            if(policy.getConfigBodyData() == null || policy.getConfigBodyData().isEmpty()){
+                            if (policy.getConfigBodyData() == null || policy.getConfigBodyData().isEmpty()) {
                                 newConfigurationDataEntity.setConfigBody(policy.getJsonBody());
-                            }else{
+                            } else {
                                 newConfigurationDataEntity.setConfigBody(policy.getConfigBodyData());
                             }
                         }
-                        if(newConfigurationDataEntity.isDeleted()){
+                        if (newConfigurationDataEntity.isDeleted()) {
                             newConfigurationDataEntity.setDeleted(false);
                         }
 
                         em.flush();
-                    }else{
-                        //We have a configurationData body in the policy but we found no configurationData body in the DB
+                    } else {
+                        //We have a configurationData body in the policy but we found no configurationData body in
+                        // the DB
                         String msg = "\n\nPolicyDBDao.createPolicy - Incoming Config policy had a "
                                 + "configurationData body, but it could not be found in the DB for update."
                                 + "\n  policyScope = " + policyScope
                                 + "\n  policyName = " + policyName + "\n\n";
-                        PolicyLogger.error("PolicyDBDao.createPolicy - Incoming Config policy had a configurationData body, but it could not be found in the DB for update: policyName = " + policyName);
+                        PolicyLogger
+                                .error("PolicyDBDao.createPolicy - Incoming Config policy had a configurationData " +
+                                        "body, but it could not be found in the DB for update: policyName = " +
+                                        policyName);
                         throw new IllegalArgumentException(msg);
                     }
 
                 } else {
                     newConfigurationDataEntity = null;
                 }
-                if(!update){
+                if (!update) {
                     em.persist(newPolicyEntity);
                 }
 
                 policyId = newPolicyEntity.getPolicyId();
 
-                if(!stringEquals(newPolicyEntity.getPolicyName(),policyName)){
+                if (!stringEquals(newPolicyEntity.getPolicyName(), policyName)) {
                     newPolicyEntity.setPolicyName(policyName);
                 }
-                if(!stringEquals(newPolicyEntity.getCreatedBy(),username)){
+                if (!stringEquals(newPolicyEntity.getCreatedBy(), username)) {
                     newPolicyEntity.setCreatedBy(username);
                 }
-                if(!stringEquals(newPolicyEntity.getDescription(),policy.getPolicyDescription())){
+                if (!stringEquals(newPolicyEntity.getDescription(), policy.getPolicyDescription())) {
                     newPolicyEntity.setDescription(policy.getPolicyDescription());
                 }
-                if(!stringEquals(newPolicyEntity.getModifiedBy(),username)){
+                if (!stringEquals(newPolicyEntity.getModifiedBy(), username)) {
                     newPolicyEntity.setModifiedBy(username);
                 }
-                if(!stringEquals(newPolicyEntity.getPolicyData(),policyDataString)){
+                if (!stringEquals(newPolicyEntity.getPolicyData(), policyDataString)) {
                     newPolicyEntity.setPolicyData(policyDataString);
                 }
-                if(!stringEquals(newPolicyEntity.getScope(),policyScope)){
+                if (!stringEquals(newPolicyEntity.getScope(), policyScope)) {
                     newPolicyEntity.setScope(policyScope);
                 }
-                if(newPolicyEntity.isDeleted() == true){
+                if (newPolicyEntity.isDeleted() == true) {
                     newPolicyEntity.setDeleted(false);
                 }
                 newPolicyEntity.setConfigurationData(newConfigurationDataEntity);
@@ -1718,120 +1862,128 @@ public class PolicyDBDao {
                 em.flush();
                 this.policyId = newPolicyEntity.getPolicyId();
             }
-            return;
         }
 
         @SuppressWarnings("unused")
-        public PolicyEntity getPolicy(int policyID){
-            return getPolicy(policyID,null,null);
+        public PolicyEntity getPolicy(int policyID) {
+            return getPolicy(policyID, null, null);
         }
-        public PolicyEntity getPolicy(String policyName,String scope){
-            return getPolicy(-1,policyName,scope);
+
+        public PolicyEntity getPolicy(String policyName, String scope) {
+            return getPolicy(-1, policyName, scope);
         }
-        private PolicyEntity getPolicy(int policyID, String policyName,String scope){
-            logger.debug("getPolicy(int policyId, String policyName) as getPolicy("+policyID+","+policyName+") called");
-            if(policyID < 0 && isNullOrEmpty(policyName,scope)){
-                throw new IllegalArgumentException("policyID must be at least 0 or policyName must be not null or blank");
+
+        private PolicyEntity getPolicy(int policyID, String policyName, String scope) {
+            logger.debug("getPolicy(int policyId, String policyName) as getPolicy(" + policyID + "," + policyName +
+                    ") called");
+            if (policyID < 0 && isNullOrEmpty(policyName, scope)) {
+                throw new IllegalArgumentException(
+                        "policyID must be at least 0 or policyName must be not null or blank");
             }
 
-            synchronized(emLock){
+            synchronized (emLock) {
                 checkBeforeOperationRun(true);
                 //check if group exists
                 String policyId;
                 Query policyQuery;
-                if(!isNullOrEmpty(policyName,scope)){
+                if (!isNullOrEmpty(policyName, scope)) {
                     policyId = policyName;
-                    policyQuery = em.createQuery("SELECT p FROM PolicyEntity p WHERE p.policyName=:name AND p.scope=:scope");
+                    policyQuery =
+                            em.createQuery("SELECT p FROM PolicyEntity p WHERE p.policyName=:name AND p.scope=:scope");
                     policyQuery.setParameter("name", policyId);
                     policyQuery.setParameter("scope", scope);
-                } else{
+                } else {
                     policyId = String.valueOf(policyID);
                     policyQuery = em.createNamedQuery("PolicyEntity.FindById");
                     policyQuery.setParameter("id", policyId);
                 }
                 List<?> policyQueryList;
-                try{
+                try {
                     policyQueryList = policyQuery.getResultList();
-                }catch(Exception e){
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception trying to get policy with policyQuery.getResultList()");
-                    throw new PersistenceException("Query failed trying to get policy "+policyId);
+                } catch (Exception e) {
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught Exception trying to get policy with policyQuery.getResultList()");
+                    throw new PersistenceException("Query failed trying to get policy " + policyId);
                 }
-                if(policyQueryList.isEmpty()){
-                    PolicyLogger.error("Policy does not exist with id "+policyId);
-                    throw new PersistenceException("Group policy is being added to does not exist with id "+policyId);
-                } else if(policyQueryList.size() > 1){
-                    PolicyLogger.error(duplicatePolicyId+policyId+foundInDB);
-                    throw new PersistenceException(duplicatePolicyId+policyId+foundInDB);
+                if (policyQueryList.isEmpty()) {
+                    PolicyLogger.error("Policy does not exist with id " + policyId);
+                    throw new PersistenceException("Group policy is being added to does not exist with id " + policyId);
+                } else if (policyQueryList.size() > 1) {
+                    PolicyLogger.error(duplicatePolicyId + policyId + foundInDB);
+                    throw new PersistenceException(duplicatePolicyId + policyId + foundInDB);
                 }
-                return (PolicyEntity)policyQueryList.get(0);
+                return (PolicyEntity) policyQueryList.get(0);
             }
         }
 
         @Override
-        public GroupEntity getGroup(long groupKey){
-            logger.debug("getGroup(int groupKey) as getGroup("+groupKey+") called");
-            if(groupKey < 0){
+        public GroupEntity getGroup(long groupKey) {
+            logger.debug("getGroup(int groupKey) as getGroup(" + groupKey + ") called");
+            if (groupKey < 0) {
                 throw new IllegalArgumentException("groupKey must be at least 0");
             }
-            synchronized(emLock){
+            synchronized (emLock) {
                 checkBeforeOperationRun(true);
                 //check if group exists
                 Query groupQuery = em.createQuery("SELECT g FROM GroupEntity g WHERE g.groupKey=:groupKey");
                 groupQuery.setParameter("groupKey", groupKey);
                 List<?> groupQueryList;
-                try{
+                try {
                     groupQueryList = groupQuery.getResultList();
-                }catch(Exception e){
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception trying to get group with groupQuery.getResultList()");
-                    throw new PersistenceException(queryFailedToGetGroup+groupKey);
+                } catch (Exception e) {
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught Exception trying to get group with groupQuery.getResultList()");
+                    throw new PersistenceException(queryFailedToGetGroup + groupKey);
                 }
-                if(groupQueryList.isEmpty()){
-                    PolicyLogger.error("Group does not exist with groupKey "+groupKey);
-                    throw new PersistenceException("Group does not exist with groupKey "+groupKey);
-                } else if(groupQueryList.size() > 1){
-                    PolicyLogger.error("Somehow, more than one group with the groupKey "+groupKey+foundInDB);
-                    throw new PersistenceException("Somehow, more than one group with the groupKey "+groupKey+foundInDB);
+                if (groupQueryList.isEmpty()) {
+                    PolicyLogger.error("Group does not exist with groupKey " + groupKey);
+                    throw new PersistenceException("Group does not exist with groupKey " + groupKey);
+                } else if (groupQueryList.size() > 1) {
+                    PolicyLogger.error("Somehow, more than one group with the groupKey " + groupKey + foundInDB);
+                    throw new PersistenceException(
+                            "Somehow, more than one group with the groupKey " + groupKey + foundInDB);
                 }
-                return (GroupEntity)groupQueryList.get(0);
+                return (GroupEntity) groupQueryList.get(0);
             }
         }
 
         @Override
-        public GroupEntity getGroup(String groupId){
-            logger.debug("getGroup(String groupId) as getGroup("+groupId+") called");
-            if(isNullOrEmpty(groupId)){
+        public GroupEntity getGroup(String groupId) {
+            logger.debug("getGroup(String groupId) as getGroup(" + groupId + ") called");
+            if (isNullOrEmpty(groupId)) {
                 throw new IllegalArgumentException("groupId must not be null or empty");
             }
-            synchronized(emLock){
+            synchronized (emLock) {
                 checkBeforeOperationRun(true);
                 //check if group exists
                 Query groupQuery = em.createQuery("SELECT g FROM GroupEntity g WHERE g.groupId=:groupId");
                 groupQuery.setParameter(groupIdVar, groupId);
                 List<?> groupQueryList;
-                try{
+                try {
                     groupQueryList = groupQuery.getResultList();
-                }catch(Exception e){
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception trying to get group with groupQuery.getResultList()");
-                    throw new PersistenceException(queryFailedToGetGroup+groupId);
+                } catch (Exception e) {
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught Exception trying to get group with groupQuery.getResultList()");
+                    throw new PersistenceException(queryFailedToGetGroup + groupId);
                 }
-                if(groupQueryList.isEmpty()){
-                    PolicyLogger.error("Group does not exist with id "+groupId);
-                    throw new PersistenceException("Group does not exist with id "+groupId);
-                } else if(groupQueryList.size() > 1){
-                    PolicyLogger.error(duplicateGroupId +groupId+foundInDB);
-                    throw new PersistenceException(duplicateGroupId+groupId+foundInDB);
+                if (groupQueryList.isEmpty()) {
+                    PolicyLogger.error("Group does not exist with id " + groupId);
+                    throw new PersistenceException("Group does not exist with id " + groupId);
+                } else if (groupQueryList.size() > 1) {
+                    PolicyLogger.error(duplicateGroupId + groupId + foundInDB);
+                    throw new PersistenceException(duplicateGroupId + groupId + foundInDB);
                 }
-                return (GroupEntity)groupQueryList.get(0);
+                return (GroupEntity) groupQueryList.get(0);
             }
         }
 
         @Override
-        public List<?> getPdpsInGroup(long groupKey){
-            logger.debug("getPdpsInGroup(int groupKey) as getPdpsInGroup("+groupKey+") called");
-            if(groupKey < 0){
+        public List<?> getPdpsInGroup(long groupKey) {
+            logger.debug("getPdpsInGroup(int groupKey) as getPdpsInGroup(" + groupKey + ") called");
+            if (groupKey < 0) {
                 throw new IllegalArgumentException("groupId must not be < 0");
             }
-            synchronized(emLock){
+            synchronized (emLock) {
                 checkBeforeOperationRun(true);
                 Query pdpsQuery = em.createQuery("SELECT p FROM PdpEntity p WHERE p.groupEntity=:group");
                 pdpsQuery.setParameter("group", getGroup(groupKey));
@@ -1840,103 +1992,114 @@ public class PolicyDBDao {
         }
 
         @Override
-        public PdpEntity getPdp(long pdpKey){
-            logger.debug("getPdp(int pdpKey) as getPdp("+pdpKey+") called");
-            if(pdpKey < 0){
+        public PdpEntity getPdp(long pdpKey) {
+            logger.debug("getPdp(int pdpKey) as getPdp(" + pdpKey + ") called");
+            if (pdpKey < 0) {
                 throw new IllegalArgumentException("pdpKey must be at least 0");
             }
-            synchronized(emLock){
+            synchronized (emLock) {
                 checkBeforeOperationRun(true);
                 //check if group exists
                 Query pdpQuery = em.createQuery("SELECT p FROM PdpEntity p WHERE p.pdpKey=:pdpKey");
                 pdpQuery.setParameter("pdpKey", pdpKey);
                 List<?> pdpQueryList;
-                try{
+                try {
                     pdpQueryList = pdpQuery.getResultList();
-                }catch(Exception e){
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception trying to get pdp with pdpQuery.getResultList()");
-                    throw new PersistenceException("Query failed trying to get pdp "+pdpKey);
+                } catch (Exception e) {
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught Exception trying to get pdp with pdpQuery.getResultList()");
+                    throw new PersistenceException("Query failed trying to get pdp " + pdpKey);
                 }
-                if(pdpQueryList.isEmpty()){
-                    PolicyLogger.error("Pdp does not exist with pdpKey "+pdpKey);
-                    throw new PersistenceException("Pdp does not exist with pdpKey "+pdpKey);
-                } else if(pdpQueryList.size() > 1){
-                    PolicyLogger.error("Somehow, more than one pdp with the pdpKey "+pdpKey+foundInDB);
-                    throw new PersistenceException("Somehow, more than one pdp with the pdpKey "+pdpKey+foundInDB);
+                if (pdpQueryList.isEmpty()) {
+                    PolicyLogger.error("Pdp does not exist with pdpKey " + pdpKey);
+                    throw new PersistenceException("Pdp does not exist with pdpKey " + pdpKey);
+                } else if (pdpQueryList.size() > 1) {
+                    PolicyLogger.error("Somehow, more than one pdp with the pdpKey " + pdpKey + foundInDB);
+                    throw new PersistenceException("Somehow, more than one pdp with the pdpKey " + pdpKey + foundInDB);
                 }
-                return (PdpEntity)pdpQueryList.get(0);
+                return (PdpEntity) pdpQueryList.get(0);
             }
         }
 
         @Override
         public boolean isTransactionOpen() {
             logger.debug("isTransactionOpen() as isTransactionOpen() called");
-            synchronized(emLock){
+            synchronized (emLock) {
                 return em.isOpen() && em.getTransaction().isActive();
             }
         }
 
-        private String processConfigPath(String inputConfigPath){
+        private String processConfigPath(String inputConfigPath) {
             String configPath = inputConfigPath;
             String webappsPath = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_WEBAPPS);
-            if(webappsPath == null){
+            if (webappsPath == null) {
                 logger.error("Webapps property does not exist");
                 throw new IllegalArgumentException("Webapps property does not exist");
             }
             configPath = configPath.replace("$URL", webappsPath);
             //make sure the correct slashes are in
-            try{
+            try {
                 configPath = Paths.get(configPath).toString();
-            } catch(InvalidPathException e){
-                logger.error("Invalid config path: "+configPath, e);
-                throw new IllegalArgumentException("Invalid config path: "+configPath);
+            } catch (InvalidPathException e) {
+                logger.error("Invalid config path: " + configPath, e);
+                throw new IllegalArgumentException("Invalid config path: " + configPath);
             }
             return configPath;
         }
 
-        private String readConfigFile(String configPath){
+        private String readConfigFile(String configPath) {
             String configDataString = null;
-            try(InputStream configContentStream = new FileInputStream(configPath);) {
+            try (InputStream configContentStream = new FileInputStream(configPath);) {
                 configDataString = IOUtils.toString(configContentStream);
             } catch (FileNotFoundException e) {
-                logger.error("Caught FileNotFoundException on new FileInputStream("+configPath+")",e);
+                logger.error("Caught FileNotFoundException on new FileInputStream(" + configPath + ")", e);
                 throw new IllegalArgumentException("The config file path does not exist");
-            } catch(IOException e2){
-                logger.error("Caught IOException on newIOUtils.toString(configContentStream)",e2);
+            } catch (IOException e2) {
+                logger.error("Caught IOException on newIOUtils.toString(configContentStream)", e2);
                 throw new IllegalArgumentException("The config file path cannot be read");
             }
-            if(configDataString == null){
+            if (configDataString == null) {
                 throw new IllegalArgumentException("The config file path cannot be read");
             }
             return configDataString;
         }
 
         @Override
-        public void createPolicy(Policy policy, String username){
+        public void createPolicy(Policy policy, String username) {
 
-            try{
-                logger.debug("createPolicy(PolicyRestAdapter policy, String username) as createPolicy("+policy+","+username+") called");
+            try {
+                logger.debug("createPolicy(PolicyRestAdapter policy, String username) as createPolicy(" + policy + "," +
+                        username + ") called");
                 String policyScope = policy.policyAdapter.getDomainDir().replace(File.separator, ".");
                 //Does not need to be XACMLPolicyWriterWithPapNotify since it is already in the PAP
                 //and this transaction is intercepted up stream.
 
-                String policyDataString = getPolicyDataString((PolicyType)policy.getCorrectPolicyDataObject());
-                if(isJunit){
+                String policyDataString = getPolicyDataString((PolicyType) policy.getCorrectPolicyDataObject());
+                if (isJunit) {
                     //Using parentPath object to set policy data.
                     policyDataString = policy.policyAdapter.getParentPath();
                 }
                 String configPath = "";
                 if (policy.policyAdapter.getPolicyType().equalsIgnoreCase(config)) {
-                    configPath = evaluateXPath("/Policy/Rule/AdviceExpressions/AdviceExpression[contains(@AdviceId,'ID')]/AttributeAssignmentExpression[@AttributeId='URLID']/AttributeValue/text()", policyDataString);
+                    configPath = evaluateXPath(
+                            "/Policy/Rule/AdviceExpressions/AdviceExpression[contains(@AdviceId,'ID')" +
+                                    "]/AttributeAssignmentExpression[@AttributeId='URLID']/AttributeValue/text()",
+                            policyDataString);
                 } else if (policy.policyAdapter.getPolicyType().equalsIgnoreCase(action)) {
-                    configPath = evaluateXPath("/Policy/Rule/ObligationExpressions/ObligationExpression[contains(@ObligationId, " +policy.policyAdapter.getActionAttribute()+ ")]/AttributeAssignmentExpression[@AttributeId='body']/AttributeValue/text()", policyDataString);
+                    configPath = evaluateXPath(
+                            "/Policy/Rule/ObligationExpressions/ObligationExpression[contains(@ObligationId, " +
+                                    policy.policyAdapter.getActionAttribute() +
+                                    ")]/AttributeAssignmentExpression[@AttributeId='body']/AttributeValue/text()",
+                            policyDataString);
                 }
 
                 String prefix = null;
                 if (policy.policyAdapter.getPolicyType().equalsIgnoreCase(config)) {
 
-                    prefix = configPath.substring(configPath.indexOf(policyScope+".")+policyScope.concat(".").length(), configPath.lastIndexOf(policy.policyAdapter.getPolicyName()));
-                    if(isNullOrEmpty(policy.policyAdapter.getConfigBodyData())){
+                    prefix = configPath
+                            .substring(configPath.indexOf(policyScope + ".") + policyScope.concat(".").length(),
+                                    configPath.lastIndexOf(policy.policyAdapter.getPolicyName()));
+                    if (isNullOrEmpty(policy.policyAdapter.getConfigBodyData())) {
                         policy.policyAdapter.setConfigBodyData(getConfigData(configPath));
                     }
                 } else if (action.equalsIgnoreCase(policy.policyAdapter.getPolicyType())) {
@@ -1945,55 +2108,57 @@ public class PolicyDBDao {
                     prefix = "Decision_";
                 }
 
-                if(!(policy.policyAdapter.getData() instanceof PolicyType)){
+                if (!(policy.policyAdapter.getData() instanceof PolicyType)) {
                     PolicyLogger.error("The data field is not an instance of PolicyType");
                     throw new IllegalArgumentException("The data field is not an instance of PolicyType");
                 }
-                String finalName = policyScope + "." + prefix+policy.policyAdapter.getPolicyName()+"."+((PolicyType)policy.policyAdapter.getData()).getVersion()+".xml";
-                if(policy.policyAdapter.getConfigType() == null || "".equals(policy.policyAdapter.getConfigType())){
+                String finalName = policyScope + "." + prefix + policy.policyAdapter.getPolicyName() + "." +
+                        ((PolicyType) policy.policyAdapter.getData()).getVersion() + ".xml";
+                if (policy.policyAdapter.getConfigType() == null || "".equals(policy.policyAdapter.getConfigType())) {
                     //get the config file extension
                     String ext = "";
                     if (configPath != null && !"".equalsIgnoreCase(configPath)) {
-                        ext = configPath.substring(configPath.lastIndexOf('.'), configPath.length());;
+                        ext = configPath.substring(configPath.lastIndexOf('.'), configPath.length());
+                        ;
                     }
 
-                    if(ext.contains("txt")){
+                    if (ext.contains("txt")) {
                         policy.policyAdapter.setConfigType(OTHER_CONFIG);
-                    } else if(ext.contains("json")){
+                    } else if (ext.contains("json")) {
                         policy.policyAdapter.setConfigType(JSON_CONFIG);
-                    } else if(ext.contains("xml")){
+                    } else if (ext.contains("xml")) {
                         policy.policyAdapter.setConfigType(XML_CONFIG);
-                    } else if(ext.contains("properties")){
+                    } else if (ext.contains("properties")) {
                         policy.policyAdapter.setConfigType(PROPERTIES_CONFIG);
                     } else {
-                        if (policy.policyAdapter.getPolicyType().equalsIgnoreCase(action)){
+                        if (policy.policyAdapter.getPolicyType().equalsIgnoreCase(action)) {
                             policy.policyAdapter.setConfigType(JSON_CONFIG);
                         }
                     }
                 }
-                createPolicy(policy.policyAdapter, username, policyScope,finalName,policyDataString);
+                createPolicy(policy.policyAdapter, username, policyScope, finalName, policyDataString);
             } catch (Exception e) {
-                logger.error("Could not create policy for "+policy,e);
+                logger.error("Could not create policy for " + policy, e);
                 throw e;
             }
         }
 
         private String getConfigData(String configPath) {
             String configData = "";
-            try{
+            try {
                 configData = getConfigPath(configPath);
-            }catch(Exception e){
-                logger.error("Could not read config body data for "+configPath,e);
+            } catch (Exception e) {
+                logger.error("Could not read config body data for " + configPath, e);
             }
             return configData;
         }
 
         private String getConfigPath(String configPath) {
-            try{
+            try {
                 String newConfigPath = processConfigPath(configPath);
                 return readConfigFile(newConfigPath);
-            } catch(IllegalArgumentException e2){
-                logger.error("Could not process config path: "+configPath,e2);
+            } catch (IllegalArgumentException e2) {
+                logger.error("Could not process config path: " + configPath, e2);
             }
             return "";
         }
@@ -2002,21 +2167,22 @@ public class PolicyDBDao {
             try (InputStream policyXmlStream = XACMLPolicyWriter.getXmlAsInputStream(policyType)) {
                 return IOUtils.toString(policyXmlStream, StandardCharsets.UTF_8);
             } catch (IOException e) {
-                PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught IOException on IOUtils.toString(policyXmlStream)");
+                PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                        "Caught IOException on IOUtils.toString(policyXmlStream)");
                 throw new IllegalArgumentException("Cannot parse the policy xml from the PolicyRestAdapter.", e);
             }
         }
 
         @Override
-        public void close(){
-            synchronized(emLock){
-                if(em.isOpen()){
-                    if(em.getTransaction().isActive()){
+        public void close() {
+            synchronized (emLock) {
+                if (em.isOpen()) {
+                    if (em.getTransaction().isActive()) {
                         em.getTransaction().rollback();
                     }
                     em.close();
                 }
-                if(transactionTimer != null){
+                if (transactionTimer != null) {
                     transactionTimer.interrupt();
                 }
             }
@@ -2025,29 +2191,31 @@ public class PolicyDBDao {
         @Override
         public void createGroup(String groupId, String groupName, String inputGroupDescription, String username) {
             String groupDescription = inputGroupDescription;
-            logger.debug("deletePolicy(String policyToDeletes) as createGroup("+groupId+", "+groupName+", "+groupDescription+") called");
-            if(isNullOrEmpty(groupId, groupName, username)){
+            logger.debug("deletePolicy(String policyToDeletes) as createGroup(" + groupId + ", " + groupName + ", " +
+                    groupDescription + ") called");
+            if (isNullOrEmpty(groupId, groupName, username)) {
                 throw new IllegalArgumentException("groupId, groupName, and username must not be null or empty");
             }
-            if(groupDescription == null){
+            if (groupDescription == null) {
                 groupDescription = "";
             }
 
-            synchronized(emLock){
+            synchronized (emLock) {
                 checkBeforeOperationRun();
                 Query checkGroupQuery = em.createQuery(groupEntitySelectQuery);
                 checkGroupQuery.setParameter(groupIdVar, groupId);
                 checkGroupQuery.setParameter(deletedVar, false);
                 List<?> checkGroupQueryList;
-                try{
+                try {
                     checkGroupQueryList = checkGroupQuery.getResultList();
-                } catch(Exception e){
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception on checkGroupQuery.getResultList()");
+                } catch (Exception e) {
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught Exception on checkGroupQuery.getResultList()");
                     throw new PersistenceException(queryFailedToCheckExisting);
                 }
-                if(!checkGroupQueryList.isEmpty()){
-                    PolicyLogger.error("The group being added already exists with id "+groupId);
-                    throw new PersistenceException("The group being added already exists with id "+groupId);
+                if (!checkGroupQueryList.isEmpty()) {
+                    PolicyLogger.error("The group being added already exists with id " + groupId);
+                    throw new PersistenceException("The group being added already exists with id " + groupId);
                 }
                 GroupEntity newGroup = new GroupEntity();
                 em.persist(newGroup);
@@ -2063,39 +2231,42 @@ public class PolicyDBDao {
         }
 
         @Override
-        public void updateGroup(OnapPDPGroup group, String username){
-            logger.info("PolicyDBDao: updateGroup(PDPGroup group) as updateGroup("+group+","+username+") called");
-            if(group == null){
+        public void updateGroup(OnapPDPGroup group, String username) {
+            logger.info(
+                    "PolicyDBDao: updateGroup(PDPGroup group) as updateGroup(" + group + "," + username + ") called");
+            if (group == null) {
                 throw new IllegalArgumentException("PDPGroup group must not be null");
             }
-            if(isNullOrEmpty(group.getId(), username)){
+            if (isNullOrEmpty(group.getId(), username)) {
                 throw new IllegalArgumentException("group.getId() and username must not be null or empty");
             }
 
-            synchronized(emLock){
+            synchronized (emLock) {
                 checkBeforeOperationRun();
                 Query getGroupQuery = em.createQuery(groupEntitySelectQuery);
                 getGroupQuery.setParameter(groupIdVar, group.getId());
                 getGroupQuery.setParameter(deletedVar, false);
                 List<?> getGroupQueryList;
-                try{
+                try {
                     getGroupQueryList = getGroupQuery.getResultList();
-                } catch(Exception e){
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception on getGroupQuery.getResultList()");
-                    throw new PersistenceException(queryFailedToGetGroup+group.getId()+" for editing");
-                }
-                if(getGroupQueryList.isEmpty()){
-                    PolicyLogger.error("The group cannot be found to update with id "+group.getId());
-                    throw new PersistenceException("The group cannot be found to update with id "+group.getId());
-                } else if(getGroupQueryList.size() > 1){
-                    PolicyLogger.error(duplicateGroupId+group.getId()+deletedStatusFound);
-                    throw new PersistenceException(duplicateGroupId+group.getId()+deletedStatusFound);
-                }
-                GroupEntity groupToUpdateInDB = (GroupEntity)getGroupQueryList.get(0);
-                if(!stringEquals(groupToUpdateInDB.getModifiedBy(), username)){
+                } catch (Exception e) {
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught Exception on getGroupQuery.getResultList()");
+                    throw new PersistenceException(queryFailedToGetGroup + group.getId() + " for editing");
+                }
+                if (getGroupQueryList.isEmpty()) {
+                    PolicyLogger.error("The group cannot be found to update with id " + group.getId());
+                    throw new PersistenceException("The group cannot be found to update with id " + group.getId());
+                } else if (getGroupQueryList.size() > 1) {
+                    PolicyLogger.error(duplicateGroupId + group.getId() + deletedStatusFound);
+                    throw new PersistenceException(duplicateGroupId + group.getId() + deletedStatusFound);
+                }
+                GroupEntity groupToUpdateInDB = (GroupEntity) getGroupQueryList.get(0);
+                if (!stringEquals(groupToUpdateInDB.getModifiedBy(), username)) {
                     groupToUpdateInDB.setModifiedBy(username);
                 }
-                if(group.getDescription() != null && !stringEquals(group.getDescription(),groupToUpdateInDB.getDescription())){
+                if (group.getDescription() != null &&
+                        !stringEquals(group.getDescription(), groupToUpdateInDB.getDescription())) {
                     groupToUpdateInDB.setDescription(group.getDescription());
                 }
                 //let's find out what policies have been deleted
@@ -2103,41 +2274,43 @@ public class PolicyDBDao {
                 try {
                     oldGroup = (StdPDPGroup) papEngine.getGroup(group.getId());
                 } catch (PAPException e1) {
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e1, policyDBDaoVar, "We cannot get the group from the papEngine to delete policies");
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e1, policyDBDaoVar,
+                            "We cannot get the group from the papEngine to delete policies");
                 }
-                if(oldGroup == null){
+                if (oldGroup == null) {
                     PolicyLogger.error("We cannot get the group from the papEngine to delete policies");
                 } else {
                     Set<String> newPolicySet = new HashSet<>(group.getPolicies().size());
                     //a multiple of n runtime is faster than n^2, so I am using a hashset to do the comparison
-                    for(PDPPolicy pol: group.getPolicies()){
+                    for (PDPPolicy pol : group.getPolicies()) {
                         newPolicySet.add(pol.getId());
                     }
-                    for(PDPPolicy pol : oldGroup.getPolicies()){
+                    for (PDPPolicy pol : oldGroup.getPolicies()) {
                         //should be fast since getPolicies uses a HashSet in StdPDPGroup
-                        if(!newPolicySet.contains(pol.getId())){
+                        if (!newPolicySet.contains(pol.getId())) {
                             String[] scopeAndName = getNameScopeAndVersionFromPdpPolicy(pol.getId());
                             deletePolicyInScope(username, groupToUpdateInDB, pol, scopeAndName);
                         }
                     }
                 }
 
-                if(group.getName() != null && !stringEquals(group.getName(),groupToUpdateInDB.getgroupName())){
+                if (group.getName() != null && !stringEquals(group.getName(), groupToUpdateInDB.getgroupName())) {
                     //we need to check if the new id exists in the database
                     String newGroupId = createNewPDPGroupId(group.getName());
                     Query checkGroupQuery = em.createQuery(groupEntitySelectQuery);
                     checkGroupQuery.setParameter(groupIdVar, newGroupId);
                     checkGroupQuery.setParameter(deletedVar, false);
                     List<?> checkGroupQueryList;
-                    try{
+                    try {
                         checkGroupQueryList = checkGroupQuery.getResultList();
-                    } catch(Exception e){
-                        PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception on checkGroupQuery.getResultList()");
+                    } catch (Exception e) {
+                        PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                                "Caught Exception on checkGroupQuery.getResultList()");
                         throw new PersistenceException(queryFailedToCheckExisting);
                     }
-                    if(!checkGroupQueryList.isEmpty()){
-                        PolicyLogger.error("The new group name already exists, group id "+newGroupId);
-                        throw new PersistenceException("The new group name already exists, group id "+newGroupId);
+                    if (!checkGroupQueryList.isEmpty()) {
+                        PolicyLogger.error("The new group name already exists, group id " + newGroupId);
+                        throw new PersistenceException("The new group name already exists, group id " + newGroupId);
                     }
                     groupToUpdateInDB.setGroupId(newGroupId);
                     groupToUpdateInDB.setGroupName(group.getName());
@@ -2148,13 +2321,14 @@ public class PolicyDBDao {
             }
         }
 
-        private void deletePolicyInScope(String username, GroupEntity groupToUpdateInDB, PDPPolicy pol, String[] scopeAndName) {
+        private void deletePolicyInScope(String username, GroupEntity groupToUpdateInDB, PDPPolicy pol,
+                                         String[] scopeAndName) {
             PolicyEntity policyToDelete;
             if (scopeAndName == null) {
                 return;
             }
-            try{
-                policyToDelete = getPolicy(scopeAndName[0],scopeAndName[1]);
+            try {
+                policyToDelete = getPolicy(scopeAndName[0], scopeAndName[1]);
                 if ("XACMLPapServlet.doDelete".equals(username)) {
                     Iterator<PolicyEntity> dbPolicyIt = groupToUpdateInDB.getPolicies().iterator();
                     String policyName = getPolicyNameAndVersionFromPolicyFileName(policyToDelete.getPolicyName())[0];
@@ -2162,50 +2336,60 @@ public class PolicyDBDao {
                     logger.info("PolicyDBDao: delete policy from GroupEntity");
                     deletePolicyFromGroupEntity(groupToUpdateInDB, policyToDelete, dbPolicyIt, policyName);
                 }
-            }catch(Exception e){
-                PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Could not get policy to remove: "+pol.getId());
-                throw new PersistenceException("Could not get policy to remove: "+pol.getId());
+            } catch (Exception e) {
+                PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                        "Could not get policy to remove: " + pol.getId());
+                throw new PersistenceException("Could not get policy to remove: " + pol.getId());
             }
         }
 
-        private void deletePolicyFromGroupEntity(GroupEntity groupToUpdateInDB, PolicyEntity policyToDelete, Iterator<PolicyEntity> dbPolicyIt, String policyName) {
-            try{
-                while(dbPolicyIt.hasNext()){
+        private void deletePolicyFromGroupEntity(GroupEntity groupToUpdateInDB, PolicyEntity policyToDelete,
+                                                 Iterator<PolicyEntity> dbPolicyIt, String policyName) {
+            try {
+                while (dbPolicyIt.hasNext()) {
                     PolicyEntity dbpolicy = dbPolicyIt.next();
-                    if(policyToDelete.getScope().equals(dbpolicy.getScope()) &&
+                    if (policyToDelete.getScope().equals(dbpolicy.getScope()) &&
                             getPolicyNameAndVersionFromPolicyFileName(dbpolicy.getPolicyName())[0].equals(policyName)) {
                         dbPolicyIt.remove();
 
                         logger.info("PolicyDBDao: deleting policy from the existing group:\n "
-                                + "policyName is " + policyToDelete.getScope()+"."+policyToDelete.getPolicyName() + "\n"
+                                + "policyName is " + policyToDelete.getScope() + "." + policyToDelete.getPolicyName() +
+                                "\n"
                                 + "group is " + groupToUpdateInDB.getGroupId());
                     }
                 }
-            }catch(Exception e){
+            } catch (Exception e) {
                 logger.debug(e);
-                PolicyLogger.error("Could not delete policy with name: "+ policyToDelete.getScope()+"."+policyToDelete.getPolicyName()+"\n ID: "+ policyToDelete.getPolicyId());
+                PolicyLogger.error("Could not delete policy with name: " + policyToDelete.getScope() + "." +
+                        policyToDelete.getPolicyName() + "\n ID: " + policyToDelete.getPolicyId());
             }
         }
 
         @Override
-        public void addPdpToGroup(String pdpID, String groupID, String pdpName, String pdpDescription, int pdpJmxPort, String username) {
-            logger.debug("addPdpToGroup(String pdpID, String groupID, String pdpName, String pdpDescription, int pdpJmxPort, String username) as addPdpToGroup("+pdpID+", "+groupID+", "+pdpName+", "+pdpDescription+", "+pdpJmxPort+", "+username+") called");
-            if(isNullOrEmpty(pdpID, groupID,pdpName,username)){
+        public void addPdpToGroup(String pdpID, String groupID, String pdpName, String pdpDescription, int pdpJmxPort,
+                                  String username) {
+            logger.debug(
+                    "addPdpToGroup(String pdpID, String groupID, String pdpName, String pdpDescription, int " +
+                            "pdpJmxPort, String username) as addPdpToGroup(" +
+                            pdpID + ", " + groupID + ", " + pdpName + ", " + pdpDescription + ", " + pdpJmxPort + ", " +
+                            username + ") called");
+            if (isNullOrEmpty(pdpID, groupID, pdpName, username)) {
                 throw new IllegalArgumentException("pdpID, groupID, pdpName, and username must not be null or empty");
             }
-            synchronized(emLock){
+            synchronized (emLock) {
                 checkBeforeOperationRun();
                 Query checkGroupQuery = em.createQuery(groupEntitySelectQuery);
                 checkGroupQuery.setParameter(groupIdVar, groupID);
                 checkGroupQuery.setParameter(deletedVar, false);
                 List<?> checkGroupQueryList;
-                try{
+                try {
                     checkGroupQueryList = checkGroupQuery.getResultList();
-                } catch(Exception e){
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception trying to check for existing group on checkGroupQuery.getResultList()");
+                } catch (Exception e) {
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught Exception trying to check for existing group on checkGroupQuery.getResultList()");
                     throw new PersistenceException(queryFailedToCheckExisting);
                 }
-                if(checkGroupQueryList.size() != 1){
+                if (checkGroupQueryList.size() != 1) {
                     PolicyLogger.error("The group does not exist");
                     throw new PersistenceException("The group does not exist");
                 }
@@ -2213,16 +2397,18 @@ public class PolicyDBDao {
                 checkDuplicateQuery.setParameter(pdpIdVariable, pdpID);
                 checkDuplicateQuery.setParameter(deletedVar, false);
                 List<?> checkDuplicateList;
-                try{
+                try {
                     checkDuplicateList = checkDuplicateQuery.getResultList();
-                } catch(Exception e){
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception trying to check for duplicate PDP "+pdpID+" on checkDuplicateQuery.getResultList()");
-                    throw new PersistenceException("Query failed trying to check for duplicate PDP "+pdpID);
+                } catch (Exception e) {
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught Exception trying to check for duplicate PDP " + pdpID +
+                                    " on checkDuplicateQuery.getResultList()");
+                    throw new PersistenceException("Query failed trying to check for duplicate PDP " + pdpID);
                 }
                 PdpEntity newPdp;
-                if(!checkDuplicateList.isEmpty()){
-                    logger.warn("PDP already exists with id "+pdpID);
-                    newPdp = (PdpEntity)checkDuplicateList.get(0);
+                if (!checkDuplicateList.isEmpty()) {
+                    logger.warn("PDP already exists with id " + pdpID);
+                    newPdp = (PdpEntity) checkDuplicateList.get(0);
                 } else {
                     newPdp = new PdpEntity();
                     em.persist(newPdp);
@@ -2231,7 +2417,7 @@ public class PolicyDBDao {
                 newPdp.setCreatedBy(username);
                 newPdp.setDeleted(false);
                 newPdp.setDescription(pdpDescription);
-                newPdp.setGroup((GroupEntity)checkGroupQueryList.get(0));
+                newPdp.setGroup((GroupEntity) checkGroupQueryList.get(0));
                 newPdp.setJmxPort(pdpJmxPort);
                 newPdp.setModifiedBy(username);
                 newPdp.setPdpId(pdpID);
@@ -2244,45 +2430,46 @@ public class PolicyDBDao {
 
 
         @Override
-        public void updatePdp(OnapPDP pdp, String username){
-            logger.debug("updatePdp(PDP pdp, String username) as updatePdp("+pdp+","+username+") called");
-            if(pdp == null){
+        public void updatePdp(OnapPDP pdp, String username) {
+            logger.debug("updatePdp(PDP pdp, String username) as updatePdp(" + pdp + "," + username + ") called");
+            if (pdp == null) {
                 throw new IllegalArgumentException("PDP pdp must not be null");
             }
-            if(isNullOrEmpty(pdp.getId(),username)){
+            if (isNullOrEmpty(pdp.getId(), username)) {
                 throw new IllegalArgumentException("pdp.getId() and username must not be null or empty");
             }
 
-            synchronized(emLock){
+            synchronized (emLock) {
                 checkBeforeOperationRun();
                 Query getPdpQuery = em.createQuery(pdpEntitySelectQuery);
                 getPdpQuery.setParameter(pdpIdVariable, pdp.getId());
                 getPdpQuery.setParameter(deletedVar, false);
                 List<?> getPdpQueryList;
-                try{
+                try {
                     getPdpQueryList = getPdpQuery.getResultList();
-                } catch(Exception e){
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception on getPdpQuery.getResultList()");
-                    throw new PersistenceException("Query failed trying to get PDP "+pdp.getId());
-                }
-                if(getPdpQueryList.isEmpty()){
-                    PolicyLogger.error("The pdp cannot be found to update with id "+pdp.getId());
-                    throw new PersistenceException("The pdp cannot be found to update with id "+pdp.getId());
-                } else if(getPdpQueryList.size() > 1){
-                    PolicyLogger.error(moreThanOnePDP+pdp.getId()+deletedStatusFound);
-                    throw new PersistenceException(moreThanOnePDP+pdp.getId()+deletedStatusFound);
-                }
-                PdpEntity pdpToUpdate = (PdpEntity)getPdpQueryList.get(0);
-                if(!stringEquals(pdpToUpdate.getModifiedBy(), username)){
+                } catch (Exception e) {
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught Exception on getPdpQuery.getResultList()");
+                    throw new PersistenceException("Query failed trying to get PDP " + pdp.getId());
+                }
+                if (getPdpQueryList.isEmpty()) {
+                    PolicyLogger.error("The pdp cannot be found to update with id " + pdp.getId());
+                    throw new PersistenceException("The pdp cannot be found to update with id " + pdp.getId());
+                } else if (getPdpQueryList.size() > 1) {
+                    PolicyLogger.error(moreThanOnePDP + pdp.getId() + deletedStatusFound);
+                    throw new PersistenceException(moreThanOnePDP + pdp.getId() + deletedStatusFound);
+                }
+                PdpEntity pdpToUpdate = (PdpEntity) getPdpQueryList.get(0);
+                if (!stringEquals(pdpToUpdate.getModifiedBy(), username)) {
                     pdpToUpdate.setModifiedBy(username);
                 }
-                if(pdp.getDescription() != null && !stringEquals(pdp.getDescription(),pdpToUpdate.getDescription())){
+                if (pdp.getDescription() != null && !stringEquals(pdp.getDescription(), pdpToUpdate.getDescription())) {
                     pdpToUpdate.setDescription(pdp.getDescription());
                 }
-                if(pdp.getName() != null && !stringEquals(pdp.getName(),pdpToUpdate.getPdpName())){
+                if (pdp.getName() != null && !stringEquals(pdp.getName(), pdpToUpdate.getPdpName())) {
                     pdpToUpdate.setPdpName(pdp.getName());
                 }
-                if(pdp.getJmxPort() != null && !pdp.getJmxPort().equals(pdpToUpdate.getJmxPort())){
+                if (pdp.getJmxPort() != null && !pdp.getJmxPort().equals(pdpToUpdate.getJmxPort())) {
                     pdpToUpdate.setJmxPort(pdp.getJmxPort());
                 }
 
@@ -2292,34 +2479,37 @@ public class PolicyDBDao {
         }
 
         @Override
-        public void movePdp(OnapPDP pdp, OnapPDPGroup group, String username){
-            logger.debug("movePdp(PDP pdp, PDPGroup group, String username) as movePdp("+pdp+","+group+","+username+") called");
-            if(pdp == null || group == null){
+        public void movePdp(OnapPDP pdp, OnapPDPGroup group, String username) {
+            logger.debug("movePdp(PDP pdp, PDPGroup group, String username) as movePdp(" + pdp + "," + group + "," +
+                    username + ") called");
+            if (pdp == null || group == null) {
                 throw new IllegalArgumentException("PDP pdp and PDPGroup group must not be null");
             }
-            if(isNullOrEmpty(username,pdp.getId(),group.getId())){
-                throw new IllegalArgumentException("pdp.getId(), group.getId(), and username must not be null or empty");
+            if (isNullOrEmpty(username, pdp.getId(), group.getId())) {
+                throw new IllegalArgumentException(
+                        "pdp.getId(), group.getId(), and username must not be null or empty");
             }
 
-            synchronized(emLock){
+            synchronized (emLock) {
                 checkBeforeOperationRun();
                 //check if pdp exists
                 Query getPdpQuery = em.createQuery(pdpEntitySelectQuery);
                 getPdpQuery.setParameter(pdpIdVariable, pdp.getId());
                 getPdpQuery.setParameter(deletedVar, false);
                 List<?> getPdpQueryList;
-                try{
+                try {
                     getPdpQueryList = getPdpQuery.getResultList();
-                } catch(Exception e){
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception on getPdpQuery.getResultList()");
-                    throw new PersistenceException("Query failed trying to get pdp to move with id "+pdp.getId());
+                } catch (Exception e) {
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught Exception on getPdpQuery.getResultList()");
+                    throw new PersistenceException("Query failed trying to get pdp to move with id " + pdp.getId());
                 }
-                if(getPdpQueryList.isEmpty()){
-                    PolicyLogger.error("The pdp cannot be found to move with id "+pdp.getId());
-                    throw new PersistenceException("The pdp cannot be found to move with id "+pdp.getId());
-                } else if(getPdpQueryList.size() > 1){
-                    PolicyLogger.error(moreThanOnePDP+pdp.getId()+deletedStatusFound);
-                    throw new PersistenceException(moreThanOnePDP+pdp.getId()+deletedStatusFound);
+                if (getPdpQueryList.isEmpty()) {
+                    PolicyLogger.error("The pdp cannot be found to move with id " + pdp.getId());
+                    throw new PersistenceException("The pdp cannot be found to move with id " + pdp.getId());
+                } else if (getPdpQueryList.size() > 1) {
+                    PolicyLogger.error(moreThanOnePDP + pdp.getId() + deletedStatusFound);
+                    throw new PersistenceException(moreThanOnePDP + pdp.getId() + deletedStatusFound);
                 }
 
                 //check if new group exists
@@ -2327,20 +2517,21 @@ public class PolicyDBDao {
                 checkGroupQuery.setParameter(groupIdVar, group.getId());
                 checkGroupQuery.setParameter(deletedVar, false);
                 List<?> checkGroupQueryList;
-                try{
+                try {
                     checkGroupQueryList = checkGroupQuery.getResultList();
-                } catch(Exception e){
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception trying to get group on checkGroupQuery.getResultList()");
-                    throw new PersistenceException("Query failed trying to get new group "+group.getId());
+                } catch (Exception e) {
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught Exception trying to get group on checkGroupQuery.getResultList()");
+                    throw new PersistenceException("Query failed trying to get new group " + group.getId());
                 }
-                if(checkGroupQueryList.size() != 1){
-                    PolicyLogger.error("The group "+group.getId()+" does not exist");
-                    throw new PersistenceException("The group "+group.getId()+" does not exist");
+                if (checkGroupQueryList.size() != 1) {
+                    PolicyLogger.error("The group " + group.getId() + " does not exist");
+                    throw new PersistenceException("The group " + group.getId() + " does not exist");
                 }
-                GroupEntity groupToMoveInto = (GroupEntity)checkGroupQueryList.get(0);
-                PdpEntity pdpToUpdate = (PdpEntity)getPdpQueryList.get(0);
+                GroupEntity groupToMoveInto = (GroupEntity) checkGroupQueryList.get(0);
+                PdpEntity pdpToUpdate = (PdpEntity) getPdpQueryList.get(0);
                 pdpToUpdate.setGroup(groupToMoveInto);
-                if(!stringEquals(pdpToUpdate.getModifiedBy(), username)){
+                if (!stringEquals(pdpToUpdate.getModifiedBy(), username)) {
                     pdpToUpdate.setModifiedBy(username);
                 }
 
@@ -2350,51 +2541,56 @@ public class PolicyDBDao {
         }
 
         @Override
-        public void changeDefaultGroup(OnapPDPGroup group, String username){
-            logger.debug("changeDefaultGroup(PDPGroup group, String username) as changeDefaultGroup("+group+","+username+") called");
-            if(group == null){
+        public void changeDefaultGroup(OnapPDPGroup group, String username) {
+            logger.debug("changeDefaultGroup(PDPGroup group, String username) as changeDefaultGroup(" + group + "," +
+                    username + ") called");
+            if (group == null) {
                 throw new IllegalArgumentException("PDPGroup group must not be null");
             }
-            if(isNullOrEmpty(group.getId(),username)){
+            if (isNullOrEmpty(group.getId(), username)) {
                 throw new IllegalArgumentException("group.getId() and username must not be null or empty");
             }
 
-            synchronized(emLock){
+            synchronized (emLock) {
                 checkBeforeOperationRun();
                 Query getGroupQuery = em.createQuery(groupEntitySelectQuery);
                 getGroupQuery.setParameter(groupIdVar, group.getId());
                 getGroupQuery.setParameter(deletedVar, false);
                 List<?> getGroupQueryList;
-                try{
+                try {
                     getGroupQueryList = getGroupQuery.getResultList();
-                } catch(Exception e){
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception on getGroupQuery.getResultList()");
-                    throw new PersistenceException(queryFailedToGetGroup+group.getId());
-                }
-                if(getGroupQueryList.isEmpty()){
-                    PolicyLogger.error("The group cannot be found to set default with id "+group.getId());
-                    throw new PersistenceException("The group cannot be found to set default with id "+group.getId());
-                } else if(getGroupQueryList.size() > 1){
-                    PolicyLogger.error(duplicateGroupId+group.getId()+deletedStatusFound);
-                    throw new PersistenceException(duplicateGroupId+group.getId()+deletedStatusFound);
-                }
-                GroupEntity newDefaultGroup = (GroupEntity)getGroupQueryList.get(0);
+                } catch (Exception e) {
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught Exception on getGroupQuery.getResultList()");
+                    throw new PersistenceException(queryFailedToGetGroup + group.getId());
+                }
+                if (getGroupQueryList.isEmpty()) {
+                    PolicyLogger.error("The group cannot be found to set default with id " + group.getId());
+                    throw new PersistenceException("The group cannot be found to set default with id " + group.getId());
+                } else if (getGroupQueryList.size() > 1) {
+                    PolicyLogger.error(duplicateGroupId + group.getId() + deletedStatusFound);
+                    throw new PersistenceException(duplicateGroupId + group.getId() + deletedStatusFound);
+                }
+                GroupEntity newDefaultGroup = (GroupEntity) getGroupQueryList.get(0);
                 newDefaultGroup.setDefaultGroup(true);
-                if(!stringEquals(newDefaultGroup.getModifiedBy(), username)){
+                if (!stringEquals(newDefaultGroup.getModifiedBy(), username)) {
                     newDefaultGroup.setModifiedBy(username);
                 }
 
                 em.flush();
                 this.groupId = newDefaultGroup.getGroupKey();
-                Query setAllGroupsNotDefault = em.createQuery("UPDATE GroupEntity g SET g.defaultGroup=:defaultGroup WHERE g.deleted=:deleted AND g.groupKey<>:groupKey");
+                Query setAllGroupsNotDefault = em.createQuery(
+                        "UPDATE GroupEntity g SET g.defaultGroup=:defaultGroup WHERE g.deleted=:deleted AND g" +
+                                ".groupKey<>:groupKey");
                 //not going to set modified by for all groups
                 setAllGroupsNotDefault.setParameter("defaultGroup", false);
                 setAllGroupsNotDefault.setParameter(deletedVar, false);
                 setAllGroupsNotDefault.setParameter("groupKey", newDefaultGroup.getGroupKey());
-                try{
+                try {
                     logger.info("set " + setAllGroupsNotDefault.executeUpdate() + " groups as not default");
-                } catch(Exception e){
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception on setAllGroupsNotDefault.executeUpdate()");
+                } catch (Exception e) {
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught Exception on setAllGroupsNotDefault.executeUpdate()");
                     throw new PersistenceException("Could not set all other groups default to false");
                 }
                 em.flush();
@@ -2403,94 +2599,107 @@ public class PolicyDBDao {
 
 
         @Override
-        public void deleteGroup(OnapPDPGroup group, OnapPDPGroup moveToGroup, String username) throws PolicyDBException {
-            logger.debug("deleteGroup(PDPGroup group, PDPGroup moveToGroup, String username) as deleteGroup("+group+", "+moveToGroup+","+username+") called");
-            if(group == null){
+        public void deleteGroup(OnapPDPGroup group, OnapPDPGroup moveToGroup, String username)
+                throws PolicyDBException {
+            logger.debug("deleteGroup(PDPGroup group, PDPGroup moveToGroup, String username) as deleteGroup(" + group +
+                    ", " + moveToGroup + "," + username + ") called");
+            if (group == null) {
                 throw new IllegalArgumentException("PDPGroup group cannot be null");
             }
-            if(isNullOrEmpty(username,group.getId())){
+            if (isNullOrEmpty(username, group.getId())) {
                 throw new IllegalArgumentException("group.getId() and and username must not be null or empty");
             }
 
-            if(group.isDefaultGroup()){
-                PolicyLogger.error("The default group "+group.getId()+" was attempted to be deleted. It cannot be.");
+            if (group.isDefaultGroup()) {
+                PolicyLogger
+                        .error("The default group " + group.getId() + " was attempted to be deleted. It cannot be.");
                 throw new PolicyDBException("You cannot delete the default group.");
             }
-            synchronized(emLock){
+            synchronized (emLock) {
                 checkBeforeOperationRun();
                 Query deleteGroupQuery = em.createQuery(groupEntitySelectQuery);
                 deleteGroupQuery.setParameter(groupIdVar, group.getId());
                 deleteGroupQuery.setParameter(deletedVar, false);
                 List<?> deleteGroupQueryList;
-                try{
+                try {
                     deleteGroupQueryList = deleteGroupQuery.getResultList();
-                } catch(Exception e){
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception trying to check if group exists deleteGroupQuery.getResultList()");
+                } catch (Exception e) {
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught Exception trying to check if group exists deleteGroupQuery.getResultList()");
                     throw new PersistenceException("Query failed trying to check if group exists");
                 }
-                if(deleteGroupQueryList.isEmpty()){
+                if (deleteGroupQueryList.isEmpty()) {
                     logger.warn(groupCannotBeFound + group.getId());
                     return;
-                } else if(deleteGroupQueryList.size() > 1){
-                    PolicyLogger.error(duplicateGroupId+group.getId()+foundInDBNotDeleted);
-                    throw new PersistenceException(duplicateGroupId+group.getId()+foundInDBNotDeleted);
+                } else if (deleteGroupQueryList.size() > 1) {
+                    PolicyLogger.error(duplicateGroupId + group.getId() + foundInDBNotDeleted);
+                    throw new PersistenceException(duplicateGroupId + group.getId() + foundInDBNotDeleted);
                 }
 
-                Query pdpsInGroupQuery = em.createQuery("SELECT p FROM PdpEntity p WHERE p.groupEntity=:group and p.deleted=:deleted");
-                pdpsInGroupQuery.setParameter("group", ((GroupEntity)deleteGroupQueryList.get(0)));
+                Query pdpsInGroupQuery =
+                        em.createQuery("SELECT p FROM PdpEntity p WHERE p.groupEntity=:group and p.deleted=:deleted");
+                pdpsInGroupQuery.setParameter("group", ((GroupEntity) deleteGroupQueryList.get(0)));
                 pdpsInGroupQuery.setParameter(deletedVar, false);
                 List<?> pdpsInGroupList;
-                try{
+                try {
                     pdpsInGroupList = pdpsInGroupQuery.getResultList();
-                } catch(Exception e){
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception trying to get PDPs in group on pdpsInGroupQuery.getResultList()");
+                } catch (Exception e) {
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught Exception trying to get PDPs in group on pdpsInGroupQuery.getResultList()");
                     throw new PersistenceException("Query failed trying to get PDPs in group");
                 }
-                if(!pdpsInGroupList.isEmpty()){
-                    if(moveToGroup != null){
-                        Query checkMoveToGroupQuery = em.createQuery("SELECT o FROM GroupEntity o WHERE o.groupId=:groupId AND o.deleted=:deleted");
+                if (!pdpsInGroupList.isEmpty()) {
+                    if (moveToGroup != null) {
+                        Query checkMoveToGroupQuery = em.createQuery(
+                                "SELECT o FROM GroupEntity o WHERE o.groupId=:groupId AND o.deleted=:deleted");
                         checkMoveToGroupQuery.setParameter(groupIdVar, moveToGroup.getId());
                         checkMoveToGroupQuery.setParameter(deletedVar, false);
                         List<?> checkMoveToGroupList;
-                        try{
+                        try {
                             checkMoveToGroupList = checkMoveToGroupQuery.getResultList();
-                        } catch(Exception e){
-                            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception trying to check if group exists checkMoveToGroupQuery.getResultList()");
+                        } catch (Exception e) {
+                            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                                    "Caught Exception trying to check if group exists checkMoveToGroupQuery" +
+                                            ".getResultList()");
                             throw new PersistenceException("Query failed trying to check if group exists");
                         }
-                        if(checkMoveToGroupList.isEmpty()){
+                        if (checkMoveToGroupList.isEmpty()) {
                             PolicyLogger.error(groupCannotBeFound + moveToGroup.getId());
                             throw new PersistenceException(groupCannotBeFound + moveToGroup.getId());
-                        } else if(checkMoveToGroupList.size() > 1){
-                            PolicyLogger.error(duplicateGroupId+moveToGroup.getId()+foundInDBNotDeleted);
-                            throw new PersistenceException(duplicateGroupId+moveToGroup.getId()+foundInDBNotDeleted);
+                        } else if (checkMoveToGroupList.size() > 1) {
+                            PolicyLogger.error(duplicateGroupId + moveToGroup.getId() + foundInDBNotDeleted);
+                            throw new PersistenceException(
+                                    duplicateGroupId + moveToGroup.getId() + foundInDBNotDeleted);
                         } else {
-                            GroupEntity newGroup = (GroupEntity)checkMoveToGroupList.get(0);
-                            for(Object pdpObject : pdpsInGroupList){
-                                PdpEntity pdp = (PdpEntity)pdpObject;
+                            GroupEntity newGroup = (GroupEntity) checkMoveToGroupList.get(0);
+                            for (Object pdpObject : pdpsInGroupList) {
+                                PdpEntity pdp = (PdpEntity) pdpObject;
                                 pdp.setGroup(newGroup);
-                                if(!stringEquals(pdp.getModifiedBy(),username)){
+                                if (!stringEquals(pdp.getModifiedBy(), username)) {
                                     pdp.setModifiedBy(username);
                                 }
-                                try{
+                                try {
                                     em.flush();
                                     this.newGroupId = newGroup.getGroupId();
-                                } catch(PersistenceException e){
-                                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught PersistenceException trying to set pdp group to null on em.flush()");
+                                } catch (PersistenceException e) {
+                                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                                            "Caught PersistenceException trying to set pdp group to null on em.flush" +
+                                                    "()");
                                     throw new PersistenceException("Query failed trying to set pdp group to ");
                                 }
                             }
                         }
                     } else {
-                        PolicyLogger.error("Group "+group.getId()+" is trying to be delted with PDPs. No group was provided to move them to");
+                        PolicyLogger.error("Group " + group.getId() +
+                                " is trying to be delted with PDPs. No group was provided to move them to");
                         throw new PolicyDBException("Group has PDPs. Must provide a group for them to move to");
                     }
                 }
 
                 //delete group here
-                GroupEntity groupToDelete = (GroupEntity)deleteGroupQueryList.get(0);
+                GroupEntity groupToDelete = (GroupEntity) deleteGroupQueryList.get(0);
                 groupToDelete.setDeleted(true);
-                if(!stringEquals(groupToDelete.getModifiedBy(), username)){
+                if (!stringEquals(groupToDelete.getModifiedBy(), username)) {
                     groupToDelete.setModifiedBy(username);
                 }
                 em.flush();
@@ -2500,74 +2709,86 @@ public class PolicyDBDao {
 
         @Override
         public StdPDPGroup addPolicyToGroup(String groupID, String policyID, String username) throws PolicyDBException {
-            logger.info("PolicyDBDao: addPolicyToGroup(String groupID, String policyID, String username) as addPolicyToGroup("+groupID+", "+policyID+","+username+") called");
-            if(isNullOrEmpty(groupID, policyID, username)){
+            logger.info(
+                    "PolicyDBDao: addPolicyToGroup(String groupID, String policyID, String username) as " +
+                            "addPolicyToGroup(" +
+                            groupID + ", " + policyID + "," + username + ") called");
+            if (isNullOrEmpty(groupID, policyID, username)) {
                 throw new IllegalArgumentException("groupID, policyID, and username must not be null or empty");
             }
-            synchronized(emLock){
+            synchronized (emLock) {
                 checkBeforeOperationRun();
                 //check if group exists
                 Query groupQuery = em.createQuery(groupEntitySelectQuery);
                 groupQuery.setParameter(groupIdVar, groupID);
                 groupQuery.setParameter(deletedVar, false);
                 List<?> groupQueryList;
-                try{
+                try {
                     groupQueryList = groupQuery.getResultList();
-                }catch(Exception e){
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception trying to check if group exists groupQuery.getResultList()");
-                    throw new PersistenceException("Query failed trying to check if group "+groupID+" exists");
+                } catch (Exception e) {
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught Exception trying to check if group exists groupQuery.getResultList()");
+                    throw new PersistenceException("Query failed trying to check if group " + groupID + " exists");
                 }
-                if(groupQueryList.isEmpty()){
-                    PolicyLogger.error("Group policy is being added to does not exist with id "+groupID);
-                    throw new PersistenceException("Group policy is being added to does not exist with id "+groupID);
-                } else if(groupQueryList.size() > 1){
-                    PolicyLogger.error(duplicateGroupId+groupID+foundInDBNotDeleted);
-                    throw new PersistenceException(duplicateGroupId+groupID+foundInDBNotDeleted);
+                if (groupQueryList.isEmpty()) {
+                    PolicyLogger.error("Group policy is being added to does not exist with id " + groupID);
+                    throw new PersistenceException("Group policy is being added to does not exist with id " + groupID);
+                } else if (groupQueryList.size() > 1) {
+                    PolicyLogger.error(duplicateGroupId + groupID + foundInDBNotDeleted);
+                    throw new PersistenceException(duplicateGroupId + groupID + foundInDBNotDeleted);
                 }
 
                 //we need to convert the form of the policy id that is used groups into the form that is used
                 //for the database. (com.Config_mypol.1.xml) to (Config_mypol.xml)
                 String[] policyNameScopeAndVersion = getNameScopeAndVersionFromPdpPolicy(policyID);
-                if(policyNameScopeAndVersion == null) {
+                if (policyNameScopeAndVersion == null) {
                     throw new IllegalArgumentException("Invalid input - policyID must contain name, scope and version");
                 }
-                Query policyQuery = em.createQuery("SELECT p FROM PolicyEntity p WHERE p.policyName=:policyName AND p.scope=:scope AND p.deleted=:deleted");
+                Query policyQuery = em.createQuery(
+                        "SELECT p FROM PolicyEntity p WHERE p.policyName=:policyName AND p.scope=:scope AND p" +
+                                ".deleted=:deleted");
                 policyQuery.setParameter("policyName", policyNameScopeAndVersion[0]);
                 policyQuery.setParameter(scope, policyNameScopeAndVersion[1]);
                 policyQuery.setParameter(deletedVar, false);
                 List<?> policyQueryList;
-                try{
+                try {
                     policyQueryList = policyQuery.getResultList();
-                } catch(Exception e){
+                } catch (Exception e) {
                     logger.debug(e);
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception trying to check if policy exists policyQuery.getResultList()");
-                    throw new PersistenceException("Query failed trying to check if policy "+policyNameScopeAndVersion[0]+" exists");
-                }
-                if(policyQueryList.isEmpty()){
-                    PolicyLogger.error("Policy being added to the group does not exist with policy id "+policyNameScopeAndVersion[0]);
-                    throw new PersistenceException("Policy being added to the group does not exist with policy id "+policyNameScopeAndVersion[0]);
-                } else if(policyQueryList.size() > 1){
-                    PolicyLogger.error(duplicatePolicyId+policyNameScopeAndVersion[0]+foundInDBNotDeleted);
-                    throw new PersistenceException(duplicateGroupId+policyNameScopeAndVersion[0]+foundInDBNotDeleted);
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught Exception trying to check if policy exists policyQuery.getResultList()");
+                    throw new PersistenceException(
+                            "Query failed trying to check if policy " + policyNameScopeAndVersion[0] + " exists");
+                }
+                if (policyQueryList.isEmpty()) {
+                    PolicyLogger.error("Policy being added to the group does not exist with policy id " +
+                            policyNameScopeAndVersion[0]);
+                    throw new PersistenceException("Policy being added to the group does not exist with policy id " +
+                            policyNameScopeAndVersion[0]);
+                } else if (policyQueryList.size() > 1) {
+                    PolicyLogger.error(duplicatePolicyId + policyNameScopeAndVersion[0] + foundInDBNotDeleted);
+                    throw new PersistenceException(
+                            duplicateGroupId + policyNameScopeAndVersion[0] + foundInDBNotDeleted);
                 }
                 logger.info("PolicyDBDao: Getting group and policy from database");
-                GroupEntity group = (GroupEntity)groupQueryList.get(0);
-                PolicyEntity policy = (PolicyEntity)policyQueryList.get(0);
+                GroupEntity group = (GroupEntity) groupQueryList.get(0);
+                PolicyEntity policy = (PolicyEntity) policyQueryList.get(0);
                 Iterator<PolicyEntity> policyIt = group.getPolicies().iterator();
                 String policyName = getPolicyNameAndVersionFromPolicyFileName(policy.getPolicyName())[0];
 
                 logger.info("PolicyDBDao: policyName retrieved is " + policyName);
-                try{
-                    while(policyIt.hasNext()){
+                try {
+                    while (policyIt.hasNext()) {
                         PolicyEntity pol = policyIt.next();
-                        if(policy.getScope().equals(pol.getScope()) &&
+                        if (policy.getScope().equals(pol.getScope()) &&
                                 getPolicyNameAndVersionFromPolicyFileName(pol.getPolicyName())[0].equals(policyName)) {
                             policyIt.remove();
                         }
                     }
-                }catch(Exception e){
+                } catch (Exception e) {
                     logger.debug(e);
-                    PolicyLogger.error("Could not delete old versions for policy "+policy.getPolicyName()+", ID: "+policy.getPolicyId());
+                    PolicyLogger.error("Could not delete old versions for policy " + policy.getPolicyName() + ", ID: " +
+                            policy.getPolicyId());
                 }
                 group.addPolicyToGroup(policy);
                 em.flush();
@@ -2578,7 +2799,9 @@ public class PolicyDBDao {
                     return synchronizeGroupPoliciesInFileSystem(pdpGroup, group);
                 } catch (PAPException e) {
                     logger.debug(e);
-                    PolicyLogger.error("PolicyDBDao: Could not synchronize the filesystem group with the database group. " + e.getMessage());
+                    PolicyLogger
+                            .error("PolicyDBDao: Could not synchronize the filesystem group with the database group. " +
+                                    e.getMessage());
                 }
                 return null;
             }
@@ -2587,32 +2810,35 @@ public class PolicyDBDao {
         //this means delete pdp not just remove from group
         @Override
         public void removePdpFromGroup(String pdpID, String username) {
-            logger.debug("removePdpFromGroup(String pdpID, String username) as removePdpFromGroup("+pdpID+","+username+") called");
-            if(isNullOrEmpty(pdpID,username)){
+            logger.debug("removePdpFromGroup(String pdpID, String username) as removePdpFromGroup(" + pdpID + "," +
+                    username + ") called");
+            if (isNullOrEmpty(pdpID, username)) {
                 throw new IllegalArgumentException("pdpID and username must not be null or empty");
             }
-            synchronized(emLock){
+            synchronized (emLock) {
                 checkBeforeOperationRun();
                 Query pdpQuery = em.createQuery(pdpEntitySelectQuery);
                 pdpQuery.setParameter(pdpIdVariable, pdpID);
                 pdpQuery.setParameter(deletedVar, false);
                 List<?> pdpList;
-                try{
+                try {
                     pdpList = pdpQuery.getResultList();
-                } catch(Exception e){
-                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar, "Caught Exception trying to check if pdp exists  pdpQuery.getResultList()");
-                    throw new PersistenceException("Query failed trying to check if pdp "+pdpID+" exists");
-                }
-                if(pdpList.size() > 1){
-                    PolicyLogger.error("Somehow, more than one pdp with the id "+pdpID+foundInDBNotDeleted);
-                    throw new PersistenceException("Somehow, more than one pdp with the id "+pdpID+foundInDBNotDeleted);
-                } else if(pdpList.isEmpty()){
-                    PolicyLogger.error("Pdp being removed does not exist with id "+pdpID);
+                } catch (Exception e) {
+                    PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, policyDBDaoVar,
+                            "Caught Exception trying to check if pdp exists  pdpQuery.getResultList()");
+                    throw new PersistenceException("Query failed trying to check if pdp " + pdpID + " exists");
+                }
+                if (pdpList.size() > 1) {
+                    PolicyLogger.error("Somehow, more than one pdp with the id " + pdpID + foundInDBNotDeleted);
+                    throw new PersistenceException(
+                            "Somehow, more than one pdp with the id " + pdpID + foundInDBNotDeleted);
+                } else if (pdpList.isEmpty()) {
+                    PolicyLogger.error("Pdp being removed does not exist with id " + pdpID);
                     return;
                 }
-                PdpEntity pdp = (PdpEntity)pdpList.get(0);
+                PdpEntity pdp = (PdpEntity) pdpList.get(0);
                 pdp.setGroup(null);
-                if(!stringEquals(pdp.getModifiedBy(),username)){
+                if (!stringEquals(pdp.getModifiedBy(), username)) {
                     pdp.setModifiedBy(username);
                 }
                 pdp.setDeleted(true);
@@ -2622,22 +2848,23 @@ public class PolicyDBDao {
             }
         }
 
-        private void notifyOthers(long entityId,String entityType){
-            notifyOthers(entityId,entityType,null);
+        private void notifyOthers(long entityId, String entityType) {
+            notifyOthers(entityId, entityType, null);
         }
 
-        private void notifyOthers(long entityId, String entityType, String newGroupId){
-            logger.debug("notifyOthers(long entityId, String entityType, long newGroupId) as notifyOthers("+entityId+","+entityType+","+newGroupId+") called");
+        private void notifyOthers(long entityId, String entityType, String newGroupId) {
+            logger.debug("notifyOthers(long entityId, String entityType, long newGroupId) as notifyOthers(" + entityId +
+                    "," + entityType + "," + newGroupId + ") called");
             LinkedList<Thread> notifyThreads = new LinkedList<>();
 
             //we're going to run notifications in parallel threads to speed things up
-            for(Object obj : otherServers){
+            for (Object obj : otherServers) {
                 Thread newNotifyThread = new Thread(new NotifyOtherThread(obj, entityId, entityType, newGroupId));
                 newNotifyThread.start();
                 notifyThreads.add(newNotifyThread);
             }
             //we want to wait for all notifications to complete or timeout before we unlock the interface and allow more changes
-            for(Thread t : notifyThreads){
+            for (Thread t : notifyThreads) {
                 try {
                     t.join();
                 } catch (Exception e) {
@@ -2647,19 +2874,20 @@ public class PolicyDBDao {
         }
     }
 
-    private PolicyDBDao(){
+    private PolicyDBDao() {
         //empty constructor
     }
 
-    public static PolicyDBDaoTestClass getPolicyDBDaoTestClass(){
+    public static PolicyDBDaoTestClass getPolicyDBDaoTestClass() {
         return new PolicyDBDao().new PolicyDBDaoTestClass();
     }
 
     final class PolicyDBDaoTestClass {
-        String getConfigFile(String filename, String scope, PolicyRestAdapter policy){
+        String getConfigFile(String filename, String scope, PolicyRestAdapter policy) {
             return scope + "." + PolicyDBDao.this.getConfigFile(filename, policy);
         }
-        String[] getPolicyNameAndVersionFromPolicyFileName(String originalPolicyName) throws PolicyDBException{
+
+        String[] getPolicyNameAndVersionFromPolicyFileName(String originalPolicyName) throws PolicyDBException {
             return PolicyDBDao.this.getPolicyNameAndVersionFromPolicyFileName(originalPolicyName);
         }
     }
index 227be1b..eec34b6 100644 (file)
@@ -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.
@@ -55,31 +55,33 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 
 @Controller
 public class PushPolicyController {
-    private static final Logger LOGGER  = FlexLogger.getLogger(PushPolicyController.class);
+    private static final Logger LOGGER = FlexLogger.getLogger(PushPolicyController.class);
 
     private static CommonClassDao commonClassDao;
     private static String policyNames = "policyName";
-    private static String errorMsg     = "error";
+    private static String errorMsg = "error";
     private static String operation = "operation";
     private static String messageContent = "message";
 
     private static final String REGEX = "[0-9a-zA-Z._ ]*";
 
     @Autowired
-    public PushPolicyController(CommonClassDao commonClassDao){
+    public PushPolicyController(CommonClassDao commonClassDao) {
         PushPolicyController.commonClassDao = commonClassDao;
     }
 
-    public void setCommonClassDao(CommonClassDao commonClassDao){
+    public void setCommonClassDao(CommonClassDao commonClassDao) {
         PushPolicyController.commonClassDao = commonClassDao;
     }
+
     /*
      * This is an empty constructor
      */
-    public PushPolicyController(){}
+    public PushPolicyController() {
+    }
 
-    @RequestMapping(value="/pushPolicy", method=RequestMethod.POST)
-    public void pushPolicy(HttpServletRequest request, HttpServletResponse response){
+    @RequestMapping(value = "/pushPolicy", method = RequestMethod.POST)
+    public void pushPolicy(HttpServletRequest request, HttpServletResponse response) {
         ObjectMapper mapper = new ObjectMapper();
         mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
         try {
@@ -89,38 +91,39 @@ public class PushPolicyController {
             String policyName = root.get(policyNames).asText();
             String pdpGroup = root.get("pdpGroup").asText();
             String requestID = request.getHeader("X-ECOMP-RequestID");
-            if(requestID==null){
+            if (requestID == null) {
                 requestID = UUID.randomUUID().toString();
                 LOGGER.info("No request ID provided, sending generated ID: " + requestID);
             }
             LOGGER.info("Push policy Request to get the selectedPolicy : " + root.asText());
             String policyVersionName = policyScope.replace(".", File.separator) + File.separator
                     + filePrefix + policyName;
-            List<?> policyVersionObject = commonClassDao.getDataById(PolicyVersion.class, policyNames, policyVersionName);
-            if(policyVersionObject!=null){
+            List<?> policyVersionObject =
+                    commonClassDao.getDataById(PolicyVersion.class, policyNames, policyVersionName);
+            if (policyVersionObject != null) {
                 PolicyVersion policyVersion = (PolicyVersion) policyVersionObject.get(0);
                 String policyID = policyVersionName.replace(File.separator, "."); // This is before adding version.
                 policyVersionName += "." + policyVersion.getActiveVersion() + ".xml";
-                addPolicyToGroup(policyScope, policyID, policyVersionName.replace(File.separator, "."), pdpGroup, response);
-            }else{
+                addPolicyToGroup(policyScope, policyID, policyVersionName.replace(File.separator, "."), pdpGroup,
+                        response);
+            } else {
                 String message = "Unknown Policy '" + policyName + "'";
                 PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " " + message);
                 response.addHeader(errorMsg, "unknownPolicy");
                 response.addHeader(operation, "push");
                 response.addHeader(messageContent, message);
                 response.setStatus(HttpServletResponse.SC_NOT_FOUND);
-                return;
             }
         } catch (NullPointerException | IOException e) {
             LOGGER.error(e);
             response.setStatus(HttpServletResponse.SC_NOT_FOUND);
             response.addHeader(errorMsg, "unknown");
             response.addHeader(operation, "push");
-            return;
         }
     }
 
-    private void addPolicyToGroup(String policyScope, String policyID, String policyName, String pdpGroup, HttpServletResponse response) {
+    private void addPolicyToGroup(String policyScope, String policyID, String policyName, String pdpGroup,
+                                  HttpServletResponse response) {
         StdPDPGroup selectedPDPGroup = null;
         StdPDPPolicy selectedPolicy = null;
         //Get the selected PDP Group to push the policy
@@ -129,9 +132,9 @@ public class PushPolicyController {
         } catch (PAPException e1) {
             PolicyLogger.error(e1);
         }
-        if(selectedPDPGroup==null){
+        if (selectedPDPGroup == null) {
             String message = "Unknown groupId '" + selectedPDPGroup + "'";
-            if(!message.matches(REGEX) ){
+            if (!message.matches(REGEX)) {
                 message = "Unknown groupId";
             }
             PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " " + message);
@@ -143,15 +146,18 @@ public class PushPolicyController {
         }
         //Get PolicyEntity from DB;
         EntityManager em = XACMLPapServlet.getEmf().createEntityManager();
-        Query createPolicyQuery = em.createQuery("SELECT p FROM PolicyEntity p WHERE p.scope=:scope AND p.policyName=:policyName");
+        Query createPolicyQuery =
+                em.createQuery("SELECT p FROM PolicyEntity p WHERE p.scope=:scope AND p.policyName=:policyName");
         createPolicyQuery.setParameter("scope", policyScope);
-        createPolicyQuery.setParameter(policyNames, policyName.substring(policyScope.length()+1));
+        createPolicyQuery.setParameter(policyNames, policyName.substring(policyScope.length() + 1));
         List<?> createPolicyQueryList = createPolicyQuery.getResultList();
         PolicyEntity policyEntity = null;
-        if(!createPolicyQueryList.isEmpty()){
-            policyEntity = (PolicyEntity)createPolicyQueryList.get(0);
-        }else{
-            PolicyLogger.error("Somehow, more than one policy with the same scope, name, and deleted status were found in the database");
+        if (!createPolicyQueryList.isEmpty()) {
+            policyEntity = (PolicyEntity) createPolicyQueryList.get(0);
+        } else {
+            PolicyLogger
+                    .error("Somehow, more than one policy with the same scope, name, and deleted status were found in" +
+                            " the database");
             String message = "Unknown Policy '" + policyName + "'";
             PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " " + message);
             response.addHeader(errorMsg, "unknownPolicy");
@@ -161,13 +167,13 @@ public class PushPolicyController {
             return;
         }
         File temp = new File(policyName);
-        try (BufferedWriter bw = new BufferedWriter(new FileWriter(temp))){
+        try (BufferedWriter bw = new BufferedWriter(new FileWriter(temp))) {
             bw.write(policyEntity.getPolicyData());
             URI selectedURI = temp.toURI();
             // Create the policy Object
             selectedPolicy = new StdPDPPolicy(policyName, true, policyID, selectedURI);
         } catch (IOException e) {
-            LOGGER.error("Unable to get policy '" + policyName + "': "+ e.getMessage(),e);
+            LOGGER.error("Unable to get policy '" + policyName + "': " + e.getMessage(), e);
         }
         try {
             new ObjectOutputStream(response.getOutputStream()).writeObject(selectedPolicy);
@@ -178,11 +184,10 @@ public class PushPolicyController {
             response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
             return;
         }
-        response.addHeader("Content-Type","application/json");
+        response.addHeader("Content-Type", "application/json");
         response.setStatus(HttpServletResponse.SC_ACCEPTED);
         response.addHeader(operation, "push");
         response.addHeader("policyId", policyName);
-        return;
         // TODO : Check point to push policies within PAP.
     }
 }
index cc9cc16..40cb8aa 100644 (file)
@@ -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.
@@ -34,7 +34,7 @@ public class APIRequestHandler {
 
     private OnapPDPGroup newGroup;
 
-    public void doGet(HttpServletRequest request, HttpServletResponse response, String apiflag) throws IOException{
+    public void doGet(HttpServletRequest request, HttpServletResponse response, String apiflag) throws IOException {
         // Request from the API to get Dictionary Items
         if ("api".equalsIgnoreCase(apiflag)) {
             DictionaryHandler dictionaryHandler = DictionaryHandler.getInstance();
@@ -42,25 +42,25 @@ public class APIRequestHandler {
             return;
         }
         // Request from the API to get the ActiveVersion from the PolicyVersion table
-        if ("version".equalsIgnoreCase(apiflag)){
+        if ("version".equalsIgnoreCase(apiflag)) {
             PushPolicyHandler pushHandler = new PushPolicyHandler();
             pushHandler.getActiveVersion(request, response);
             return;
         }
         // Request from the API to get the URI from the gitpath
-        if ("uri".equalsIgnoreCase(apiflag)){
+        if ("uri".equalsIgnoreCase(apiflag)) {
             PushPolicyHandler pushHandler = new PushPolicyHandler();
             pushHandler.getSelectedURI(request, response);
             return;
         }
-        if ("getMetrics".equalsIgnoreCase(apiflag)){
+        if ("getMetrics".equalsIgnoreCase(apiflag)) {
             MetricService.doGetPolicyMetrics(response);
-            return;
         }
     }
 
     public void doPut(HttpServletRequest request, HttpServletResponse response, String service) throws IOException {
-        if ("MICROSERVICE".equalsIgnoreCase(service) || "BRMSPARAM".equalsIgnoreCase(service) || "OPTIMIZATION".equalsIgnoreCase(service)){
+        if ("MICROSERVICE".equalsIgnoreCase(service) || "BRMSPARAM".equalsIgnoreCase(service) ||
+                "OPTIMIZATION".equalsIgnoreCase(service)) {
             ImportService importService = new ImportService();
             importService.doImportMicroServicePut(request, response);
             return;
@@ -68,22 +68,20 @@ public class APIRequestHandler {
         if ("dictionaryItem".equalsIgnoreCase(service)) {
             DictionaryHandler dictionaryHandler = DictionaryHandler.getInstance();
             dictionaryHandler.doDictionaryAPIPut(request, response);
-            return;
         } else {
             SavePolicyHandler savePolicy = SavePolicyHandler.getInstance();
             savePolicy.doPolicyAPIPut(request, response);
         }
     }
 
-    public void doDelete(HttpServletRequest request, HttpServletResponse response, ONAPLoggingContext loggingContext, String apiflag) throws IOException, SQLException{
+    public void doDelete(HttpServletRequest request, HttpServletResponse response, ONAPLoggingContext loggingContext,
+                         String apiflag) throws IOException, SQLException {
         DeleteHandler deleteHandler = DeleteHandler.getInstance();
         if ("deletePapApi".equalsIgnoreCase(apiflag)) {
             deleteHandler.doAPIDeleteFromPAP(request, response);
-            return;
         } else if ("deletePdpApi".equalsIgnoreCase(apiflag)) {
             deleteHandler.doAPIDeleteFromPDP(request, response, loggingContext);
             setNewGroup(deleteHandler.getDeletedGroup());
-            return;
         }
     }
 
index e2c3482..f71af87 100644 (file)
@@ -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.
@@ -66,18 +66,19 @@ public class DeleteHandler {
     public static final String UNKNOWN = "unknown";
     private static final String REGEX = "[0-9a-zA-Z._]*";
 
-    public void doAPIDeleteFromPAP(HttpServletRequest request, HttpServletResponse response) throws IOException, SQLException  {
+    public void doAPIDeleteFromPAP(HttpServletRequest request, HttpServletResponse response)
+            throws IOException, SQLException {
         // get the request content into a String
         String json = null;
         java.util.Scanner scanner = new java.util.Scanner(request.getInputStream());
         scanner.useDelimiter("\\A");
-        json =  scanner.hasNext() ? scanner.next() : "";
+        json = scanner.hasNext() ? scanner.next() : "";
         scanner.close();
         PolicyLogger.info("JSON request from API to Delete Policy from the PAP: " + json);
         // convert Object sent as JSON into local object
         StdPAPPolicy policy = PolicyUtils.jsonStringToObject(json, StdPAPPolicy.class);
         String policyName = policy.getPolicyName();
-        Boolean policyVersionDeleted = false;
+        boolean policyVersionDeleted = false;
         String removeXMLExtension;
         int currentVersion;
         String removeVersionExtension;
@@ -96,7 +97,8 @@ public class DeleteHandler {
         try {
             jpaUtils = JPAUtils.getJPAUtilsInstance(XACMLPapServlet.getEmf());
         } catch (Exception e) {
-            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, "XACMLPapServlet", " Could not create JPAUtils instance on the PAP");
+            PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, "XACMLPapServlet",
+                    " Could not create JPAUtils instance on the PAP");
             response.addHeader(ERROR, "jpautils");
             response.addHeader("operation", "delete");
             response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
@@ -111,51 +113,55 @@ public class DeleteHandler {
         }
         EntityManager em = XACMLPapServlet.getEmf().createEntityManager();
         Query policyEntityQuery = null;
-        try{
-            if(policyName.endsWith(".xml")){
+        try {
+            if (policyName.endsWith(".xml")) {
                 removeXMLExtension = policyName.replace(".xml", "");
-                currentVersion = Integer.parseInt(removeXMLExtension.substring(removeXMLExtension.lastIndexOf('.')+1));
+                currentVersion =
+                        Integer.parseInt(removeXMLExtension.substring(removeXMLExtension.lastIndexOf('.') + 1));
                 removeVersionExtension = removeXMLExtension.substring(0, removeXMLExtension.lastIndexOf('.'));
                 boolean queryCheck = true;
-                if(policy.getDeleteCondition().equalsIgnoreCase("All Versions")){
-                    if(policyName.contains("Config_")){
+                if (policy.getDeleteCondition().equalsIgnoreCase("All Versions")) {
+                    if (policyName.contains("Config_")) {
                         splitPolicyName = removeVersionExtension.replace(".Config_", ":Config_");
-                    }else if(policyName.contains("Action_")){
+                    } else if (policyName.contains("Action_")) {
                         splitPolicyName = removeVersionExtension.replace(".Action_", ":Action_");
-                    }else if(policyName.contains("Decision_")){
+                    } else if (policyName.contains("Decision_")) {
                         splitPolicyName = removeVersionExtension.replace(".Decision_", ":Decision_");
                     }
-                    if(splitPolicyName != null){
+                    if (splitPolicyName != null) {
                         split = splitPolicyName.split(":");
-                    }else{
-                        PolicyLogger.error(MessageCodes.ERROR_UNKNOWN + "Failed to delete the policy. Please, provide the valid policyname.");
+                    } else {
+                        PolicyLogger.error(MessageCodes.ERROR_UNKNOWN +
+                                "Failed to delete the policy. Please, provide the valid policyname.");
                         response.addHeader(ERROR, UNKNOWN);
-                        response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
+                        response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
                         return;
                     }
-                    policyEntityQuery = em.createQuery("SELECT p FROM PolicyEntity p WHERE p.policyName LIKE :pName and p.scope=:pScope");
-                }else if(policy.getDeleteCondition().equalsIgnoreCase("Current Version")) {
-                    if(policyName.contains("Config_")){
+                    policyEntityQuery = em.createQuery(
+                            "SELECT p FROM PolicyEntity p WHERE p.policyName LIKE :pName and p.scope=:pScope");
+                } else if (policy.getDeleteCondition().equalsIgnoreCase("Current Version")) {
+                    if (policyName.contains("Config_")) {
                         splitPolicyName = policyName.replace(".Config_", ":Config_");
-                    }else if(policyName.contains("Action_")){
+                    } else if (policyName.contains("Action_")) {
                         splitPolicyName = policyName.replace(".Action_", ":Action_");
-                    }else if(policyName.contains("Decision_")){
+                    } else if (policyName.contains("Decision_")) {
                         splitPolicyName = policyName.replace(".Decision_", ":Decision_");
                     }
                     split = splitPolicyName.split(":");
                     queryCheck = false;
-                    policyEntityQuery = em.createQuery("SELECT p FROM PolicyEntity p WHERE p.policyName=:pName and p.scope=:pScope");
+                    policyEntityQuery = em.createQuery(
+                            "SELECT p FROM PolicyEntity p WHERE p.policyName=:pName and p.scope=:pScope");
                 }
 
-                if(queryCheck){
-                    policyEntityQuery.setParameter("pName", "%"+split[1]+"%");
-                }else{
+                if (queryCheck) {
+                    policyEntityQuery.setParameter("pName", "%" + split[1] + "%");
+                } else {
                     policyEntityQuery.setParameter("pName", split[1]);
                 }
 
                 policyEntityQuery.setParameter("pScope", split[0]);
                 List<?> peResult = policyEntityQuery.getResultList();
-                if(!peResult.isEmpty()){
+                if (!peResult.isEmpty()) {
                     Query getPolicyVersion = em.createQuery("Select p from PolicyVersion p where p.policyName=:pname");
                     getPolicyVersion.setParameter("pname", removeVersionExtension.replace(".", File.separator));
                     List<?> pvResult = getPolicyVersion.getResultList();
@@ -163,97 +169,106 @@ public class DeleteHandler {
                     int newVersion = 0;
                     em.getTransaction().begin();
                     Class.forName(papDbDriver);
-                    con = DriverManager.getConnection(papDbUrl,papDbUser,papDbPassword);
+                    con = DriverManager.getConnection(papDbUrl, papDbUser, papDbPassword);
 
-                    if(policy.getDeleteCondition().equalsIgnoreCase("All Versions")){
+                    if (policy.getDeleteCondition().equalsIgnoreCase("All Versions")) {
                         boolean groupCheck = checkPolicyGroupEntity(con, peResult);
-                        if(!groupCheck){
-                            for(Object peData : peResult){
+                        if (!groupCheck) {
+                            for (Object peData : peResult) {
                                 policyEntity = (PolicyEntity) peData;
                                 status = deletePolicyEntityData(em, policyEntity);
                             }
-                        }else{
+                        } else {
                             status = POLICY_IN_PDP;
                         }
-                        if(status.equals(ERROR)){
-                            PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + "Exception Occured while deleting the Entity from Database.");
-                            response.addHeader(ERROR, UNKNOWN);
-                            response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
-                            return;
-                        }else if(status.equals(POLICY_IN_PDP)){
-                            PolicyLogger.error(MessageCodes.GENERAL_WARNING + "Policy can't be deleted, it is active in PDP Groups.");
-                            response.addHeader(ERROR, POLICY_IN_PDP);
-                            response.setStatus(HttpServletResponse.SC_CONFLICT);
-                            return;
-                        }else{
-                            try{
-                                policyVersionDeleted = true;
-                                em.remove(pVersion);
-                            }catch(Exception e){
-                                logger.error(e.getMessage(),e);
-                                policyVersionDeleted = false;
-                            }
+                        switch (status) {
+                            case ERROR:
+                                PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE +
+                                        "Exception Occured while deleting the Entity from Database.");
+                                response.addHeader(ERROR, UNKNOWN);
+                                response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+                                return;
+                            case POLICY_IN_PDP:
+                                PolicyLogger.error(MessageCodes.GENERAL_WARNING +
+                                        "Policy can't be deleted, it is active in PDP Groups.");
+                                response.addHeader(ERROR, POLICY_IN_PDP);
+                                response.setStatus(HttpServletResponse.SC_CONFLICT);
+                                return;
+                            default:
+                                try {
+                                    policyVersionDeleted = true;
+                                    em.remove(pVersion);
+                                } catch (Exception e) {
+                                    logger.error(e.getMessage(), e);
+                                    policyVersionDeleted = false;
+                                }
+                                break;
                         }
-                    }else if(policy.getDeleteCondition().equalsIgnoreCase("Current Version")){
+                    } else if (policy.getDeleteCondition().equalsIgnoreCase("Current Version")) {
                         boolean groupCheck = checkPolicyGroupEntity(con, peResult);
-                        if(!groupCheck){
+                        if (!groupCheck) {
                             policyEntity = (PolicyEntity) peResult.get(0);
                             status = deletePolicyEntityData(em, policyEntity);
-                        }else{
+                        } else {
                             status = POLICY_IN_PDP;
                         }
 
-                        if(ERROR.equals(status)){
-                            PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + "Exception Occured while deleting the Entity from Database.");
+                        if (ERROR.equals(status)) {
+                            PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE +
+                                    "Exception Occured while deleting the Entity from Database.");
                             response.addHeader(ERROR, UNKNOWN);
-                            response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
+                            response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
                             return;
-                        }else if(POLICY_IN_PDP.equals(status)){
-                            PolicyLogger.error(MessageCodes.GENERAL_WARNING + "Policy can't be deleted, it is active in PDP Groups.");
+                        } else if (POLICY_IN_PDP.equals(status)) {
+                            PolicyLogger.error(MessageCodes.GENERAL_WARNING +
+                                    "Policy can't be deleted, it is active in PDP Groups.");
                             response.addHeader(ERROR, POLICY_IN_PDP);
                             response.setStatus(HttpServletResponse.SC_CONFLICT);
                             return;
-                        }else{
-                            if(currentVersion > 1){
-                                if(!peResult.isEmpty()){
-                                    for(Object object : peResult){
+                        } else {
+                            if (currentVersion > 1) {
+                                if (!peResult.isEmpty()) {
+                                    for (Object object : peResult) {
                                         policyEntity = (PolicyEntity) object;
                                         String policyEntityName = policyEntity.getPolicyName().replace(".xml", "");
-                                        int policyEntityVersion = Integer.parseInt(policyEntityName.substring(policyEntityName.lastIndexOf('.')+1));
-                                        if(policyEntityVersion > newVersion){
-                                            newVersion = policyEntityVersion-1;
+                                        int policyEntityVersion = Integer.parseInt(
+                                                policyEntityName.substring(policyEntityName.lastIndexOf('.') + 1));
+                                        if (policyEntityVersion > newVersion) {
+                                            newVersion = policyEntityVersion - 1;
                                         }
                                     }
                                 }
                                 pVersion.setActiveVersion(newVersion);
                                 pVersion.setHigherVersion(newVersion);
-                                try{
+                                try {
                                     policyVersionDeleted = true;
                                     em.persist(pVersion);
-                                }catch(Exception e){
-                                    logger.error(e.getMessage(),e);
+                                } catch (Exception e) {
+                                    logger.error(e.getMessage(), e);
                                     policyVersionDeleted = false;
                                 }
-                            }else{
-                                try{
+                            } else {
+                                try {
                                     policyVersionDeleted = true;
                                     em.remove(pVersion);
-                                }catch(Exception e){
-                                    logger.error(e.getMessage(),e);
+                                } catch (Exception e) {
+                                    logger.error(e.getMessage(), e);
                                     policyVersionDeleted = false;
                                 }
                             }
                         }
                     }
-                }else{
-                    PolicyLogger.error(MessageCodes.ERROR_UNKNOWN + "Failed to delete the policy for an unknown reason.  Check the file system and other logs for further information.");
+                } else {
+                    PolicyLogger.error(MessageCodes.ERROR_UNKNOWN +
+                            "Failed to delete the policy for an unknown reason.  Check the file system and other logs" +
+                            " for further information.");
                     response.addHeader(ERROR, UNKNOWN);
-                    response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
+                    response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
                     return;
                 }
             }
             em.getTransaction().commit();
-        }catch(Exception e){
+        } catch (Exception e) {
             em.getTransaction().rollback();
             PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, "XACMLPapServlet", " ERROR");
             response.addHeader(ERROR, "deleteDB");
@@ -261,7 +276,7 @@ public class DeleteHandler {
             return;
         } finally {
             em.close();
-            if(con != null){
+            if (con != null) {
                 con.close();
             }
         }
@@ -270,43 +285,44 @@ public class DeleteHandler {
             response.setStatus(HttpServletResponse.SC_OK);
             response.addHeader("successMapKey", "success");
             response.addHeader("operation", "delete");
-            return;
         } else {
-            PolicyLogger.error(MessageCodes.ERROR_UNKNOWN + "Failed to delete the policy for an unknown reason.  Check the file system and other logs for further information.");
+            PolicyLogger.error(MessageCodes.ERROR_UNKNOWN +
+                    "Failed to delete the policy for an unknown reason.  Check the file system and other logs for " +
+                    "further information.");
             response.addHeader(ERROR, UNKNOWN);
-            response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
-            return;
+            response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
         }
     }
 
-    public static String deletePolicyEntityData(EntityManager em, PolicyEntity policyEntity){
+    public static String deletePolicyEntityData(EntityManager em, PolicyEntity policyEntity) {
         PolicyElasticSearchController controller = new PolicyElasticSearchController();
         PolicyRestAdapter policyData = new PolicyRestAdapter();
         String policyName = policyEntity.getPolicyName();
-        try{
-            if(policyName.contains("Config_")){
+        try {
+            if (policyName.contains("Config_")) {
                 em.remove(policyEntity.getConfigurationData());
-            }else if(policyName.contains("Action_")){
+            } else if (policyName.contains("Action_")) {
                 em.remove(policyEntity.getActionBodyEntity());
             }
             String searchPolicyName = policyEntity.getScope() + "." + policyEntity.getPolicyName();
             policyData.setNewFileName(searchPolicyName);
             controller.deleteElk(policyData);
             em.remove(policyEntity);
-        }catch(Exception e){
-            logger.error(e.getMessage(),e);
+        } catch (Exception e) {
+            logger.error(e.getMessage(), e);
             return ERROR;
         }
         return "success";
     }
 
-    public static boolean checkPolicyGroupEntity(Connection con, List<?> peResult) throws SQLException{
-        for(Object peData : peResult){
+    public static boolean checkPolicyGroupEntity(Connection con, List<?> peResult) throws SQLException {
+        for (Object peData : peResult) {
             PolicyEntity policyEntity = (PolicyEntity) peData;
-            try(Statement st = con.createStatement();
-                    ResultSet rs = st.executeQuery("Select * from PolicyGroupEntity where policyid = '"+policyEntity.getPolicyId()+"'")){
+            try (Statement st = con.createStatement();
+                 ResultSet rs = st.executeQuery(
+                         "Select * from PolicyGroupEntity where policyid = '" + policyEntity.getPolicyId() + "'")) {
                 boolean gEntityList = rs.next();
-                if(gEntityList){
+                if (gEntityList) {
                     return true;
                 }
             }
@@ -314,15 +330,16 @@ public class DeleteHandler {
         return false;
     }
 
-    public void doAPIDeleteFromPDP(HttpServletRequest request, HttpServletResponse response, ONAPLoggingContext loggingContext) throws IOException {
+    public void doAPIDeleteFromPDP(HttpServletRequest request, HttpServletResponse response,
+                                   ONAPLoggingContext loggingContext) throws IOException {
 
         String policyName = request.getParameter("policyName");
         String groupId = request.getParameter("groupId");
         String responseString = null;
 
-        if(groupId != null && !groupId.matches(REGEX) ){
+        if (groupId != null && !groupId.matches(REGEX)) {
             response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
-            response.addHeader("error",ERROR);
+            response.addHeader("error", ERROR);
             response.addHeader("message", "Group Id is not valid");
             return;
         }
@@ -334,7 +351,7 @@ public class DeleteHandler {
         try {
             group = XACMLPapServlet.getPAPEngine().getGroup(groupId);
         } catch (PAPException e) {
-            PolicyLogger.error("Exception occured While PUT operation is performing for PDP Group"+e);
+            PolicyLogger.error("Exception occured While PUT operation is performing for PDP Group" + e);
         }
         if (group == null) {
             String message = "Unknown groupId '" + groupId + "'.";
@@ -348,7 +365,8 @@ public class DeleteHandler {
         } else {
             loggingContext.setServiceName("API:PAP.deletPolicyFromPDPGroup");
             if (policyName.contains("xml")) {
-                PolicyLogger.debug("The full file name including the extension was provided for policyName.. continue.");
+                PolicyLogger
+                        .debug("The full file name including the extension was provided for policyName.. continue.");
             } else {
                 String message = XACMLErrorConstants.ERROR_DATA_ISSUE + "Invalid policyName... "
                         + "policyName must be the full name of the file to be deleted including version and extension";
@@ -359,7 +377,7 @@ public class DeleteHandler {
                 return;
             }
             RemoveGroupPolicy removePolicy = new RemoveGroupPolicy((StdPDPGroup) group);
-            PDPPolicy policy =  group.getPolicy(policyName);
+            PDPPolicy policy = group.getPolicy(policyName);
             if (policy != null) {
 
                 if ((policy.getId().contains("Config_MS_")) || (policy.getId().contains("BRMS_Param"))) {
@@ -380,35 +398,39 @@ public class DeleteHandler {
                 return;
             }
         }
-        if (responseString.equals("success")) {
-            loggingContext.transactionEnded();
-            PolicyLogger.info("Policy successfully deleted!");
-            PolicyLogger.audit("Policy successfully deleted!");
-            response.setStatus(HttpServletResponse.SC_OK);
-            response.addHeader("successMapKey", "success");
-            response.addHeader("operation", "delete");
-            return;
-        } else if (responseString.equals("No Group")) {
-            String message = XACMLErrorConstants.ERROR_DATA_ISSUE + "Group update had bad input.";
-            PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " Group update had bad input.");
-            response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-            response.addHeader(ERROR, "groupUpdate");
-            response.addHeader("message", message);
-            return;
-        } else if (responseString.equals("DB Error")) {
-            PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW + " Error while updating group in the database");
-            response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-            response.addHeader(ERROR, "deleteDB");
-            return;
-        } else {
-            PolicyLogger.error(MessageCodes.ERROR_UNKNOWN + " Failed to delete the policy for an unknown reason.  Check the file system and other logs for further information.");
-            response.addHeader(ERROR, UNKNOWN);
-            response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
-            return;
+        switch (responseString) {
+            case "success":
+                loggingContext.transactionEnded();
+                PolicyLogger.info("Policy successfully deleted!");
+                PolicyLogger.audit("Policy successfully deleted!");
+                response.setStatus(HttpServletResponse.SC_OK);
+                response.addHeader("successMapKey", "success");
+                response.addHeader("operation", "delete");
+                break;
+            case "No Group":
+                String message = XACMLErrorConstants.ERROR_DATA_ISSUE + "Group update had bad input.";
+                PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " Group update had bad input.");
+                response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+                response.addHeader(ERROR, "groupUpdate");
+                response.addHeader("message", message);
+                break;
+            case "DB Error":
+                PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW + " Error while updating group in the database");
+                response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+                response.addHeader(ERROR, "deleteDB");
+                break;
+            default:
+                PolicyLogger.error(MessageCodes.ERROR_UNKNOWN +
+                        " Failed to delete the policy for an unknown reason.  Check the file system and other logs " +
+                        "for " +
+                        "further information.");
+                response.addHeader(ERROR, UNKNOWN);
+                response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+                break;
         }
     }
 
-    private String deletePolicyFromPDPGroup (OnapPDPGroup group, ONAPLoggingContext loggingContext){
+    private String deletePolicyFromPDPGroup(OnapPDPGroup group, ONAPLoggingContext loggingContext) {
         PolicyDBDaoTransaction acPutTransaction = XACMLPapServlet.getDbDaoTransaction();
         String response = null;
         loggingContext.setServiceName("API:PAP.DeleteHandler");
@@ -416,14 +438,16 @@ public class DeleteHandler {
         try {
             existingGroup = XACMLPapServlet.getPAPEngine().getGroup(group.getId());
         } catch (PAPException e1) {
-            PolicyLogger.error("Exception occured While Deleting Policy From PDP Group"+e1);
+            PolicyLogger.error("Exception occured While Deleting Policy From PDP Group" + e1);
         }
-        if (!(group instanceof StdPDPGroup) || existingGroup == null || !(group.getId().equals(existingGroup.getId()))) {
+        if (!(group instanceof StdPDPGroup) || existingGroup == null ||
+                !(group.getId().equals(existingGroup.getId()))) {
             String existingID = null;
-            if(existingGroup != null){
+            if (existingGroup != null) {
                 existingID = existingGroup.getId();
             }
-            PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " Group update had bad input. id=" + existingID + " objectFromJSON="+group);
+            PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " Group update had bad input. id=" + existingID +
+                    " objectFromJSON=" + group);
             loggingContext.transactionEnded();
             PolicyLogger.audit("Transaction Failed - See Error.log");
             response = "No Group";
@@ -432,19 +456,20 @@ public class DeleteHandler {
         // The Path on the PAP side is not carried on the RESTful interface with the AC
         // (because it is local to the PAP)
         // so we need to fill that in before submitting the group for update
-        ((StdPDPGroup)group).setDirectory(((StdPDPGroup)existingGroup).getDirectory());
-        try{
+        ((StdPDPGroup) group).setDirectory(((StdPDPGroup) existingGroup).getDirectory());
+        try {
             acPutTransaction.updateGroup(group, "XACMLPapServlet.doDelete");
-        } catch(Exception e){
-            PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet", " Error while updating group in the database: "
-                    +"group="+existingGroup.getId());
+        } catch (Exception e) {
+            PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW, e, "XACMLPapServlet",
+                    " Error while updating group in the database: "
+                            + "group=" + existingGroup.getId());
             response = "DB Error";
             return response;
         }
         try {
             XACMLPapServlet.getPAPEngine().updateGroup(group);
         } catch (PAPException e) {
-            PolicyLogger.error("Exception occured While Updating PDP Groups"+e);
+            PolicyLogger.error("Exception occured While Updating PDP Groups" + e);
             response = "error in updateGroup method";
         }
         PolicyLogger.debug("Group '" + group.getId() + "' updated");
@@ -452,11 +477,11 @@ public class DeleteHandler {
         // Group changed, which might include changing the policies
         try {
             newgroup = existingGroup;
-        }  catch (Exception e) {
-            PolicyLogger.error("Exception occured in Group Change Method"+e);
+        } catch (Exception e) {
+            PolicyLogger.error("Exception occured in Group Change Method" + e);
             response = "error in groupChanged method";
         }
-        if (response==null){
+        if (response == null) {
             response = "success";
             loggingContext.transactionEnded();
             PolicyLogger.audit("Policy successfully deleted!");
@@ -466,7 +491,7 @@ public class DeleteHandler {
         return response;
     }
 
-    public OnapPDPGroup getDeletedGroup(){
+    public OnapPDPGroup getDeletedGroup() {
         return newgroup;
     }
 
@@ -476,10 +501,11 @@ public class DeleteHandler {
 
     public static DeleteHandler getInstance() {
         try {
-            Class<?> deleteHandler = Class.forName(XACMLProperties.getProperty("deletePolicy.impl.className", DeleteHandler.class.getName()));
+            Class<?> deleteHandler = Class.forName(
+                    XACMLProperties.getProperty("deletePolicy.impl.className", DeleteHandler.class.getName()));
             return (DeleteHandler) deleteHandler.newInstance();
         } catch (Exception e) {
-            logger.error(e.getMessage(),e);
+            logger.error(e.getMessage(), e);
         }
         return null;
     }
index b90592b..ef6092d 100644 (file)
@@ -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.
@@ -27,7 +27,7 @@ import org.onap.policy.common.logging.eelf.PolicyLogger;
 import org.onap.policy.pap.xacml.rest.service.DictionaryService;
 import org.onap.policy.xacml.api.XACMLErrorConstants;
 
-public class DictionaryHandlerImpl implements DictionaryHandler{
+public class DictionaryHandlerImpl implements DictionaryHandler {
     /*
      * Get Equivalent for Dictionary Services.
      */
@@ -36,117 +36,116 @@ public class DictionaryHandlerImpl implements DictionaryHandler{
         try {
             DictionaryService dictionary = new DictionaryService();
             switch (dictionaryType) {
-            case "OnapName":
-                dictionary.getOnapDictionary(response);
-                break;
-            case "Attribute":
-                dictionary.getAttributeDictionary(response);
-                break;
-            case "Action":
-                dictionary.getActionPolicyDictionary(response);
-                break;
-            case "BRMSParamTemplate":
-                dictionary.getBRMSParamDictionary(response);
-                break;
-            case "VSCLAction":
-                dictionary.getVSCLAction(response);
-                break;
-            case "VNFType":
-                dictionary.getVnfType(response);
-                break;
-            case "PEPOptions":
-                dictionary.getPEPOptions(response);
-                break;
-            case "Varbind":
-                dictionary.getVarbind(response);
-                break;
-            case "Service":
-                dictionary.getServiceType(response);
-                break;
-            case "Site":
-                dictionary.getSiteType(response);
-                break;
-            case "Settings":
-                dictionary.getSettingsDictionary(response);
-                break;
-            case "RainyDayTreatments":
-                dictionary.getRainyDayDictionary(response);
-                break;
-            case "DescriptiveScope":
-                dictionary.getDescriptiveDictionary(response);
-                break;
-            case "ActionList":
-                dictionary.getActionListDictionary(response);
-                break;
-            case "ProtocolList":
-                dictionary.getProtocolListDictionary(response);
-                break;
-            case "Zone":
-                dictionary.getZoneDictionary(response);
-                break;
-            case "SecurityZone":
-                dictionary.getSecurityZoneDictionary(response);
-                break;
-            case "PrefixList":
-                dictionary.getPrefixListDictionary(response);
-                break;
-            case "AddressGroup":
-                dictionary.getAddressGroupDictionary(response);
-                break;
-            case "ServiceGroup":
-                dictionary.getServiceGroupDictionary(response);
-                break;
-            case "ServiceList":
-                dictionary.getServiceListDictionary(response);
-                break;
-            case "TermList":
-            case "RuleList":
-            case "FirewallRuleList":
-            case "Term":
-                dictionary.getTermListDictionary(response);
-                break;
-            case "MicroServiceLocation":
-                dictionary.getMicroServiceLocationDictionary(response);
-                break;
-            case "MicroServiceConfigName":
-                dictionary.getMicroServiceConfigNameDictionary(response);
-                break;
-            case "DCAEUUID":
-                dictionary.getDCAEUUIDDictionary(response);
-                break;
-            case "MicroServiceModels":
-                dictionary.getMicroServiceModelsDictionary(response);
-                break;
-            case "MicroServiceDictionary":
-                dictionary.getMicroServiceDictionary(response);
-                break;
-            case "OptimizationModels":
-                dictionary.getOptimizationModelsDictionary(response);
-                break;
-            case "PolicyScopeService":
-                dictionary.getPSServiceDictionary(response);
-                break;
-            case "PolicyScopeResource":
-                dictionary.getPSResourceDictionary(response);
-                break;
-            case "PolicyScopeType":
-                dictionary.getPSTypeDictionary(response);
-                break;
-            case "PolicyScopeClosedLoop":
-                dictionary.getPSClosedLoopDictionary(response);
-                break;
-            case "GroupPolicyScopeList":
-                dictionary.getPSGroupScopeDictionary(response);
-                break;
-            case "RiskType":
-                dictionary.getRiskTypeDictionary(response);
-                break;
-            case "SafePolicyWarning":
-                dictionary.getSafePolicyWarningDictionary(response);
-                break;
-            default:
-                extendedOptions(dictionaryType, request, response, true);
-                return;
+                case "OnapName":
+                    dictionary.getOnapDictionary(response);
+                    break;
+                case "Attribute":
+                    dictionary.getAttributeDictionary(response);
+                    break;
+                case "Action":
+                    dictionary.getActionPolicyDictionary(response);
+                    break;
+                case "BRMSParamTemplate":
+                    dictionary.getBRMSParamDictionary(response);
+                    break;
+                case "VSCLAction":
+                    dictionary.getVSCLAction(response);
+                    break;
+                case "VNFType":
+                    dictionary.getVnfType(response);
+                    break;
+                case "PEPOptions":
+                    dictionary.getPEPOptions(response);
+                    break;
+                case "Varbind":
+                    dictionary.getVarbind(response);
+                    break;
+                case "Service":
+                    dictionary.getServiceType(response);
+                    break;
+                case "Site":
+                    dictionary.getSiteType(response);
+                    break;
+                case "Settings":
+                    dictionary.getSettingsDictionary(response);
+                    break;
+                case "RainyDayTreatments":
+                    dictionary.getRainyDayDictionary(response);
+                    break;
+                case "DescriptiveScope":
+                    dictionary.getDescriptiveDictionary(response);
+                    break;
+                case "ActionList":
+                    dictionary.getActionListDictionary(response);
+                    break;
+                case "ProtocolList":
+                    dictionary.getProtocolListDictionary(response);
+                    break;
+                case "Zone":
+                    dictionary.getZoneDictionary(response);
+                    break;
+                case "SecurityZone":
+                    dictionary.getSecurityZoneDictionary(response);
+                    break;
+                case "PrefixList":
+                    dictionary.getPrefixListDictionary(response);
+                    break;
+                case "AddressGroup":
+                    dictionary.getAddressGroupDictionary(response);
+                    break;
+                case "ServiceGroup":
+                    dictionary.getServiceGroupDictionary(response);
+                    break;
+                case "ServiceList":
+                    dictionary.getServiceListDictionary(response);
+                    break;
+                case "TermList":
+                case "RuleList":
+                case "FirewallRuleList":
+                case "Term":
+                    dictionary.getTermListDictionary(response);
+                    break;
+                case "MicroServiceLocation":
+                    dictionary.getMicroServiceLocationDictionary(response);
+                    break;
+                case "MicroServiceConfigName":
+                    dictionary.getMicroServiceConfigNameDictionary(response);
+                    break;
+                case "DCAEUUID":
+                    dictionary.getDCAEUUIDDictionary(response);
+                    break;
+                case "MicroServiceModels":
+                    dictionary.getMicroServiceModelsDictionary(response);
+                    break;
+                case "MicroServiceDictionary":
+                    dictionary.getMicroServiceDictionary(response);
+                    break;
+                case "OptimizationModels":
+                    dictionary.getOptimizationModelsDictionary(response);
+                    break;
+                case "PolicyScopeService":
+                    dictionary.getPSServiceDictionary(response);
+                    break;
+                case "PolicyScopeResource":
+                    dictionary.getPSResourceDictionary(response);
+                    break;
+                case "PolicyScopeType":
+                    dictionary.getPSTypeDictionary(response);
+                    break;
+                case "PolicyScopeClosedLoop":
+                    dictionary.getPSClosedLoopDictionary(response);
+                    break;
+                case "GroupPolicyScopeList":
+                    dictionary.getPSGroupScopeDictionary(response);
+                    break;
+                case "RiskType":
+                    dictionary.getRiskTypeDictionary(response);
+                    break;
+                case "SafePolicyWarning":
+                    dictionary.getSafePolicyWarningDictionary(response);
+                    break;
+                default:
+                    extendedOptions(dictionaryType, request, response, true);
             }
         } catch (Exception e) {
             String message = XACMLErrorConstants.ERROR_DATA_ISSUE + " Error Querying the Database: " + e.getMessage();
@@ -154,18 +153,19 @@ public class DictionaryHandlerImpl implements DictionaryHandler{
             response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
             response.addHeader("error", "dictionaryDBQuery");
             response.addHeader("error", message);
-            return;
         }
     }
 
     /**
      * Can be used to extend the services.
-     *
+     * <p>
      * getflag=true indicates Get Request.
      * getflag=false indicates Put Request.
+     *
      * @return
      */
-    public String extendedOptions(String dictionaryType, HttpServletRequest request, HttpServletResponse response, boolean getflag) {
+    public String extendedOptions(String dictionaryType, HttpServletRequest request, HttpServletResponse response,
+                                  boolean getflag) {
         // Default code
         String message = XACMLErrorConstants.ERROR_DATA_ISSUE + " Invalid Dictionary in Request.";
         PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, "DictionaryHandler", " Invalid Dictionary in Request.");
@@ -182,121 +182,121 @@ public class DictionaryHandlerImpl implements DictionaryHandler{
         try {
             DictionaryService dictionary = new DictionaryService();
             switch (dictionaryType) {
-            case "OnapName":
-                result = dictionary.saveOnapDictionary(request, response);
-                break;
-            case "Attribute":
-                result = dictionary.saveAttributeDictionary(request, response);
-                break;
-            case "Action":
-                result = dictionary.saveActionPolicyDictionary(request, response);
-                break;
-            case "BRMSParamTemplate":
-                result = dictionary.saveBRMSParamDictionary(request, response);
-                break;
-            case "VSCLAction":
-                result = dictionary.saveVSCLAction(request, response);
-                break;
-            case "VNFType":
-                result = dictionary.saveVnfType(request, response);
-                break;
-            case "PEPOptions":
-                result = dictionary.savePEPOptions(request, response);
-                break;
-            case "Varbind":
-                result = dictionary.saveVarbind(request, response);
-                break;
-            case "Service":
-                result = dictionary.saveServiceType(request, response);
-                break;
-            case "Site":
-                result = dictionary.saveSiteType(request, response);
-                break;
-            case "Settings":
-                result = dictionary.saveSettingsDictionary(request, response);
-                break;
-            case "RainyDayTreatments":
-                result = dictionary.saveRainyDayDictionary(request, response);
-                break;
-            case "DescriptiveScope":
-                result = dictionary.saveDescriptiveDictionary(request, response);
-                break;
-            case "ActionList":
-                result = dictionary.saveActionListDictionary(request, response);
-                break;
-            case "ProtocolList":
-                result = dictionary.saveProtocolListDictionary(request, response);
-                break;
-            case "Zone":
-                result = dictionary.saveZoneDictionary(request, response);
-                break;
-            case "SecurityZone":
-                result = dictionary.saveSecurityZoneDictionary(request, response);
-                break;
-            case "PrefixList":
-                result = dictionary.savePrefixListDictionary(request, response);
-                break;
-            case "AddressGroup":
-                result = dictionary.saveAddressGroupDictionary(request, response);
-                break;
-            case "ServiceGroup":
-                result = dictionary.saveServiceGroupDictionary(request, response);
-                break;
-            case "ServiceList":
-                result = dictionary.saveServiceListDictionary(request, response);
-                break;
-            case "TermList":
-            case "RuleList":
-            case "FirewallRuleList":
-            case "Term":
-                result = dictionary.saveTermListDictionary(request, response);
-                break;
-            case "MicroServiceLocation":
-                result = dictionary.saveMicroServiceLocationDictionary(request, response);
-                break;
-            case "MicroServiceConfigName":
-                result = dictionary.saveMicroServiceConfigNameDictionary(request, response);
-                break;
-            case "DCAEUUID":
-                result = dictionary.saveDCAEUUIDDictionary(request, response);
-                break;
-            case "MicroServiceModels":
-                result = dictionary.saveMicroServiceModelsDictionary(request, response);
-                break;
-            case "MicroServiceDictionary":
-                result = dictionary.saveMicroServiceDictionary(request, response);
-                break;
-            case "OptimizationModels":
-                result = dictionary.saveOptimizationModelsDictionary(request, response);
-                break;
-            case "PolicyScopeService":
-                result = dictionary.savePSServiceDictionary(request, response);
-                break;
-            case "PolicyScopeResource":
-                result = dictionary.savePSResourceDictionary(request, response);
-                break;
-            case "PolicyScopeType":
-                result = dictionary.savePSTypeDictionary(request, response);
-                break;
-            case "PolicyScopeClosedLoop":
-                result = dictionary.savePSClosedLoopDictionary(request, response);
-                break;
-            case "GroupPolicyScopeList":
-                result = dictionary.savePSGroupScopeDictionary(request, response);
-                break;
-            case "RiskType":
-                result = dictionary.saveRiskTypeDictionary(request, response);
-                break;
-            case "SafePolicyWarning":
-                result = dictionary.saveSafePolicyWarningDictionary(request, response);
-                break;
-            default:
-                result = extendedOptions(dictionaryType, request, response, false);
-                if(result==null){
-                    return;
-                }else{
-                    break;
-                }
+                case "OnapName":
+                    result = dictionary.saveOnapDictionary(request, response);
+                    break;
+                case "Attribute":
+                    result = dictionary.saveAttributeDictionary(request, response);
+                    break;
+                case "Action":
+                    result = dictionary.saveActionPolicyDictionary(request, response);
+                    break;
+                case "BRMSParamTemplate":
+                    result = dictionary.saveBRMSParamDictionary(request, response);
+                    break;
+                case "VSCLAction":
+                    result = dictionary.saveVSCLAction(request, response);
+                    break;
+                case "VNFType":
+                    result = dictionary.saveVnfType(request, response);
+                    break;
+                case "PEPOptions":
+                    result = dictionary.savePEPOptions(request, response);
+                    break;
+                case "Varbind":
+                    result = dictionary.saveVarbind(request, response);
+                    break;
+                case "Service":
+                    result = dictionary.saveServiceType(request, response);
+                    break;
+                case "Site":
+                    result = dictionary.saveSiteType(request, response);
+                    break;
+                case "Settings":
+                    result = dictionary.saveSettingsDictionary(request, response);
+                    break;
+                case "RainyDayTreatments":
+                    result = dictionary.saveRainyDayDictionary(request, response);
+                    break;
+                case "DescriptiveScope":
+                    result = dictionary.saveDescriptiveDictionary(request, response);
+                    break;
+                case "ActionList":
+                    result = dictionary.saveActionListDictionary(request, response);
+                    break;
+                case "ProtocolList":
+                    result = dictionary.saveProtocolListDictionary(request, response);
+                    break;
+                case "Zone":
+                    result = dictionary.saveZoneDictionary(request, response);
+                    break;
+                case "SecurityZone":
+                    result = dictionary.saveSecurityZoneDictionary(request, response);
+                    break;
+                case "PrefixList":
+                    result = dictionary.savePrefixListDictionary(request, response);
+                    break;
+                case "AddressGroup":
+                    result = dictionary.saveAddressGroupDictionary(request, response);
+                    break;
+                case "ServiceGroup":
+                    result = dictionary.saveServiceGroupDictionary(request, response);
+                    break;
+                case "ServiceList":
+                    result = dictionary.saveServiceListDictionary(request, response);
+                    break;
+                case "TermList":
+                case "RuleList":
+                case "FirewallRuleList":
+                case "Term":
+                    result = dictionary.saveTermListDictionary(request, response);
+                    break;
+                case "MicroServiceLocation":
+                    result = dictionary.saveMicroServiceLocationDictionary(request, response);
+                    break;
+                case "MicroServiceConfigName":
+                    result = dictionary.saveMicroServiceConfigNameDictionary(request, response);
+                    break;
+                case "DCAEUUID":
+                    result = dictionary.saveDCAEUUIDDictionary(request, response);
+                    break;
+                case "MicroServiceModels":
+                    result = dictionary.saveMicroServiceModelsDictionary(request, response);
+                    break;
+                case "MicroServiceDictionary":
+                    result = dictionary.saveMicroServiceDictionary(request, response);
+                    break;
+                case "OptimizationModels":
+                    result = dictionary.saveOptimizationModelsDictionary(request, response);
+                    break;
+                case "PolicyScopeService":
+                    result = dictionary.savePSServiceDictionary(request, response);
+                    break;
+                case "PolicyScopeResource":
+                    result = dictionary.savePSResourceDictionary(request, response);
+                    break;
+                case "PolicyScopeType":
+                    result = dictionary.savePSTypeDictionary(request, response);
+                    break;
+                case "PolicyScopeClosedLoop":
+                    result = dictionary.savePSClosedLoopDictionary(request, response);
+                    break;
+                case "GroupPolicyScopeList":
+                    result = dictionary.savePSGroupScopeDictionary(request, response);
+                    break;
+                case "RiskType":
+                    result = dictionary.saveRiskTypeDictionary(request, response);
+                    break;
+                case "SafePolicyWarning":
+                    result = dictionary.saveSafePolicyWarningDictionary(request, response);
+                    break;
+                default:
+                    result = extendedOptions(dictionaryType, request, response, false);
+                    if (result == null) {
+                        return;
+                    } else {
+                        break;
+                    }
             }
         } catch (Exception e) {
             String message = XACMLErrorConstants.ERROR_DATA_ISSUE + " Error Updating the Database: " + e.getMessage();
@@ -309,7 +309,7 @@ public class DictionaryHandlerImpl implements DictionaryHandler{
             response.setStatus(HttpServletResponse.SC_OK);
             response.addHeader("successMapKey", "success");
             if (operation.equalsIgnoreCase("update")) {
-                response.addHeader("operation",  "updateDictionary");
+                response.addHeader("operation", "updateDictionary");
             } else {
                 response.addHeader("operation", "createDictionary");
             }
index 864201c..66fb9ac 100644 (file)
@@ -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.
@@ -35,18 +35,20 @@ import org.onap.policy.xacml.api.pap.OnapPDPGroup;
 import com.att.research.xacml.api.pap.PDPPolicy;
 
 public class MetricService {
-    private static String errorMsg     = "error";
+    private static String errorMsg = "error";
+
     /*
      * This is a private constructor
      * */
-    private MetricService(){
+    private MetricService() {
 
     }
+
     public static void doGetPolicyMetrics(HttpServletResponse response) {
         Set<OnapPDPGroup> groups = new HashSet<>();
         try {
             //get the count of policies on the PDP
-            if(XACMLPapServlet.getPAPEngine()!=null){
+            if (XACMLPapServlet.getPAPEngine() != null) {
                 groups = XACMLPapServlet.getPAPEngine().getOnapPDPGroups();
             }
             int pdpCount = 0;
@@ -56,11 +58,13 @@ public class MetricService {
             }
             //get the count of policies on the PAP
             EntityManager em = null;
-            if(XACMLPapServlet.getEmf()!=null){
+            if (XACMLPapServlet.getEmf() != null) {
                 em = XACMLPapServlet.getEmf().createEntityManager();
             }
-            if (em==null){
-                PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " Error creating entity manager with persistence unit: " + XACMLPapServlet.getPersistenceUnit());
+            if (em == null) {
+                PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE +
+                        " Error creating entity manager with persistence unit: " +
+                        XACMLPapServlet.getPersistenceUnit());
                 response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
                 response.addHeader(errorMsg, "Error creating entity manager with persistence unit");
                 return;
@@ -73,25 +77,26 @@ public class MetricService {
             json.put("papCount", papCount);
             json.put("pdpCount", pdpCount);
             json.put("totalCount", totalCount);
-            if (pdpCount>0 && papCount>0 && totalCount>0) {
-                PolicyLogger.info("Metrics have been found on the Policy Engine for the number of policies on the PAP and PDP.");
+            if (pdpCount > 0 && papCount > 0 && totalCount > 0) {
+                PolicyLogger
+                        .info("Metrics have been found on the Policy Engine for the number of policies on the PAP and" +
+                                " PDP.");
                 response.setStatus(HttpServletResponse.SC_OK);
                 response.addHeader("successMapKey", "success");
                 response.addHeader("operation", "getMetrics");
-                response.addHeader("metrics", json.toString() );
-                return;
-            }else{
-                String message = "The policy count on the PAP and PDP is 0.  Please check the database and file system to correct this error.";
+                response.addHeader("metrics", json.toString());
+            } else {
+                String message =
+                        "The policy count on the PAP and PDP is 0.  Please check the database and file system to " +
+                                "correct this error.";
                 response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
                 response.addHeader(errorMsg, message);
-                return;
             }
         } catch (Exception e) {
             String message = XACMLErrorConstants.ERROR_DATA_ISSUE + " Error Querying the Database: " + e.getMessage();
             PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, "XACMLPapServlet", " Error Querying the Database.");
             response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
             response.addHeader(errorMsg, message);
-            return;
         }
     }
 
index 28207f2..cddcb2a 100644 (file)
@@ -34,6 +34,7 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Objects;
 import java.util.Properties;
 
 import org.onap.policy.common.logging.eelf.MessageCodes;
@@ -91,7 +92,7 @@ public class CheckPDP {
         // Check if File is updated recently
         else {
             newModified = pdpPath.toFile().lastModified();
-            if (newModified != oldModified) {
+            if (!Objects.equals(newModified, oldModified)) {
                 // File has been updated.
                 readProps();
             }