Consolidate PolicyRestAdapter setup
[policy/engine.git] / ONAP-PAP-REST / src / main / java / org / onap / policy / pap / xacml / rest / ConsoleAndApiService.java
index 41c91ec..6e79774 100644 (file)
@@ -22,6 +22,7 @@ package org.onap.policy.pap.xacml.rest;
 
 import com.att.research.xacml.api.pap.PAPException;
 import com.fasterxml.jackson.databind.ObjectMapper;
+
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
@@ -32,10 +33,12 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Scanner;
 import java.util.Set;
+
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import org.onap.policy.common.logging.ONAPLoggingContext;
+
+import org.onap.policy.common.logging.OnapLoggingContext;
 import org.onap.policy.common.logging.eelf.MessageCodes;
 import org.onap.policy.common.logging.eelf.PolicyLogger;
 import org.onap.policy.common.logging.flexlogger.FlexLogger;
@@ -79,7 +82,7 @@ public class ConsoleAndApiService {
      * @throws IOException Signals that an I/O exception has occurred.
      */
     public void doAcPost(HttpServletRequest request, HttpServletResponse response, String groupId,
-            ONAPLoggingContext loggingContext, PAPPolicyEngine papEngine) throws IOException {
+            OnapLoggingContext loggingContext, PAPPolicyEngine papEngine) throws IOException {
         PolicyDBDaoTransaction doAcPostTransaction = null;
         try {
             String groupName = request.getParameter("groupName");
@@ -185,7 +188,8 @@ public class ConsoleAndApiService {
                         if (policyId.contains("Config_MS_") || policyId.contains("BRMS_Param")) {
                             PushPolicyHandler pushPolicyHandler = PushPolicyHandler.getInstance();
                             policyForSafetyCheck.setId(policyId);
-                            if (pushPolicyHandler.preSafetyCheck(policyForSafetyCheck, XACMLPapServlet.getConfigHome())) {
+                            if (pushPolicyHandler.preSafetyCheck(policyForSafetyCheck,
+                                    XACMLPapServlet.getConfigHome())) {
                                 LOGGER.debug("Precheck Successful.");
                             }
                         }
@@ -218,8 +222,8 @@ public class ConsoleAndApiService {
                 }
 
                 /*
-                 * 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.
+                 * 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.
                  */
 
                 // Get new transaction to perform updateGroup()
@@ -288,7 +292,8 @@ public class ConsoleAndApiService {
                 // It should never be the case that multiple groups are
                 // currently marked as the default, but protect against that
                 // anyway.
-                PolicyDBDaoTransaction setDefaultGroupTransaction = XACMLPapServlet.getPolicyDbDao().getNewTransaction();
+                PolicyDBDaoTransaction setDefaultGroupTransaction =
+                        XACMLPapServlet.getPolicyDbDao().getNewTransaction();
                 try {
                     setDefaultGroupTransaction.changeDefaultGroup(group, PAPSERVLETDOACPOST);
                     papEngine.setDefaultGroup(group);
@@ -368,7 +373,7 @@ public class ConsoleAndApiService {
      * @throws IOException Signals that an I/O exception has occurred.
      */
     public void doAcGet(HttpServletRequest request, HttpServletResponse response, String groupId,
-            ONAPLoggingContext loggingContext, PAPPolicyEngine papEngine) throws IOException {
+            OnapLoggingContext loggingContext, PAPPolicyEngine papEngine) throws IOException {
         try {
             String parameterDefault = request.getParameter("default");
             String pdpId = request.getParameter("pdpId");
@@ -570,7 +575,7 @@ public class ConsoleAndApiService {
      * @throws IOException Signals that an I/O exception has occurred.
      */
     public void doAcPut(HttpServletRequest request, HttpServletResponse response, String groupId,
-            ONAPLoggingContext loggingContext, PAPPolicyEngine papEngine) throws IOException {
+            OnapLoggingContext loggingContext, PAPPolicyEngine papEngine) throws IOException {
         PolicyDBDaoTransaction acPutTransaction = XACMLPapServlet.getPolicyDbDao().getNewTransaction();
         try {
             String userId = request.getParameter("userId");
@@ -587,6 +592,7 @@ public class ConsoleAndApiService {
                 loggingContext.transactionEnded();
                 PolicyLogger.audit(TRANSACTIONFAILED);
                 setResponseError(response, HttpServletResponse.SC_NOT_FOUND, message);
+                acPutTransaction.rollbackTransaction();
                 return;
             }
             if (request.getParameter("policy") != null) {
@@ -601,6 +607,7 @@ public class ConsoleAndApiService {
                 PolicyLogger.audit(TRANSACTIONFAILED);
                 auditLogger.info(SUCCESS);
                 PolicyLogger.audit(TRANSENDED);
+                acPutTransaction.rollbackTransaction();
                 return;
             } else if (request.getParameter("pdpId") != null) {
                 // ARGS: group=<groupId> pdpId=<pdpId/URL> <= create a new PDP
@@ -708,6 +715,7 @@ public class ConsoleAndApiService {
                 loggingContext.transactionEnded();
                 PolicyLogger.audit(TRANSACTIONFAILED);
                 setResponseError(response, HttpServletResponse.SC_BAD_REQUEST, "UNIMPLEMENTED");
+                acPutTransaction.rollbackTransaction();
                 return;
             } else {
                 // Assume that this is an update of an existing PDP Group
@@ -811,7 +819,7 @@ public class ConsoleAndApiService {
      * @throws IOException Signals that an I/O exception has occurred.
      */
     public void doAcDelete(HttpServletRequest request, HttpServletResponse response, String groupId,
-            ONAPLoggingContext loggingContext, PAPPolicyEngine papEngine) throws IOException {
+            OnapLoggingContext loggingContext, PAPPolicyEngine papEngine) throws IOException {
         PolicyDBDaoTransaction removePdpOrGroupTransaction = XACMLPapServlet.getPolicyDbDao().getNewTransaction();
         try {
             // for all DELETE operations the group must exist before the
@@ -824,6 +832,7 @@ public class ConsoleAndApiService {
                 loggingContext.transactionEnded();
                 PolicyLogger.audit(TRANSACTIONFAILED);
                 setResponseError(response, HttpServletResponse.SC_NOT_FOUND, "Unknown groupId '" + groupId + "'");
+                removePdpOrGroupTransaction.rollbackTransaction();
                 return;
             }
             // determine the operation needed based on the parameters in the
@@ -836,6 +845,7 @@ public class ConsoleAndApiService {
                 loggingContext.transactionEnded();
                 PolicyLogger.audit(TRANSACTIONFAILED);
                 setResponseError(response, HttpServletResponse.SC_BAD_REQUEST, "UNIMPLEMENTED");
+                removePdpOrGroupTransaction.rollbackTransaction();
                 return;
             } else if (request.getParameter("pdpId") != null) {
                 // ARGS: group=<groupId> pdpId=<pdpId> <= delete PDP
@@ -865,6 +875,7 @@ public class ConsoleAndApiService {
                 loggingContext.transactionEnded();
                 PolicyLogger.audit(TRANSACTIONFAILED);
                 setResponseError(response, HttpServletResponse.SC_BAD_REQUEST, "UNIMPLEMENTED");
+                removePdpOrGroupTransaction.rollbackTransaction();
                 return;
             } else {
                 // ARGS: group=<groupId> movePDPsToGroupId=<movePDPsToGroupId>