Adding code coverage reduce duplicate lines
[policy/engine.git] / POLICY-SDK-APP / src / main / java / org / onap / policy / controller / PDPController.java
index bb06cb3..7966af1 100644 (file)
@@ -38,15 +38,15 @@ import org.onap.policy.admin.RESTfulPAPEngine;
 import org.onap.policy.common.logging.flexlogger.FlexLogger;
 import org.onap.policy.common.logging.flexlogger.Logger;
 import org.onap.policy.model.PDPGroupContainer;
+import org.onap.policy.utils.UserUtils.Pair;
 import org.onap.policy.xacml.api.XACMLErrorConstants;
 import org.onap.policy.xacml.api.pap.OnapPDPGroup;
 import org.onap.policy.xacml.api.pap.PAPPolicyEngine;
 import org.onap.policy.xacml.std.pap.StdPDP;
 import org.onap.policy.xacml.std.pap.StdPDPGroup;
-import org.openecomp.policy.model.Roles;
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
-import org.openecomp.portalsdk.core.web.support.JsonMessage;
-import org.openecomp.portalsdk.core.web.support.UserUtils;
+import org.onap.portalsdk.core.controller.RestrictedBaseController;
+import org.onap.portalsdk.core.web.support.JsonMessage;
+import org.onap.portalsdk.core.web.support.UserUtils;
 import org.springframework.http.MediaType;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -88,26 +88,14 @@ public class PDPController extends RestrictedBaseController {
                        try {
                                PolicyController controller = getPolicyControllerInstance();
                                Set<PDPPolicy> filteredPolicies = new HashSet<>();
-                               Set<String> scopes = null;
-                               List<String> roles = null;
+                               Set<String> scopes;
+                               List<String> roles;
                                String userId =  isJunit()  ? "Test" : UserUtils.getUserSession(request).getOrgUserId();
                                List<Object> userRoles = controller.getRoles(userId);
-                               roles = new ArrayList<>();
-                               scopes = new HashSet<>();
-                               for(Object role: userRoles){
-                                       Roles userRole = (Roles) role;
-                                       roles.add(userRole.getRole());
-                                       if(userRole.getScope() != null){
-                                               if(userRole.getScope().contains(",")){
-                                                       String[] multipleScopes = userRole.getScope().split(",");
-                                                       for(int i =0; i < multipleScopes.length; i++){
-                                                               scopes.add(multipleScopes[i]);
-                                                       }
-                                               }else{
-                                                       scopes.add(userRole.getScope());
-                                               }
-                                       }       
-                               }
+                               Pair<Set<String>, List<String>> pair = org.onap.policy.utils.UserUtils.checkRoleAndScope(userRoles);
+                               roles = pair.u;
+                               scopes = pair.t;
+                               
                                if(!junit&& controller.getPapEngine()==null){
                                    setPAPEngine(request);
                                }
@@ -118,39 +106,37 @@ public class PDPController extends RestrictedBaseController {
                                                this.groups.addAll(this.getGroupsData());
                                        }       
                                }else{
-                                       if(!userRoles.isEmpty()){
-                                               if(!scopes.isEmpty()){
-                                                       this.groups.addAll(controller.getPapEngine().getOnapPDPGroups());
-                                                       List<OnapPDPGroup> tempGroups = new ArrayList<>();
-                                                       if(!groups.isEmpty()){
-                                                               Iterator<OnapPDPGroup> pdpGroup = groups.iterator();
-                                                               while(pdpGroup.hasNext()){
-                                                                       OnapPDPGroup group = pdpGroup.next();
-                                                                       Set<PDPPolicy> policies = group.getPolicies();
-                                                                       for(PDPPolicy policy : policies){
-                                                                               for(String scope : scopes){
-                                                                                       scope = scope.replace(File.separator, ".");
-                                                                                       String policyName = policy.getId();
-                                                                                       if(policyName.contains(".Config_")){
-                                                                                               policyName = policyName.substring(0, policyName.lastIndexOf(".Config_"));
-                                                                                       }else if(policyName.contains(".Action_")){
-                                                                                               policyName = policyName.substring(0, policyName.lastIndexOf(".Action_"));
-                                                                                       }else if(policyName.contains(".Decision_")){
-                                                                                               policyName = policyName.substring(0, policyName.lastIndexOf(".Decision_"));
-                                                                                       }
-                                                                                       if(policyName.startsWith(scope)){
-                                                                                               filteredPolicies.add(policy);
-                                                                                       }
+                                       if(!userRoles.isEmpty() && !scopes.isEmpty()){
+                                               this.groups.addAll(controller.getPapEngine().getOnapPDPGroups());
+                                               List<OnapPDPGroup> tempGroups = new ArrayList<>();
+                                               if(!groups.isEmpty()){
+                                                       Iterator<OnapPDPGroup> pdpGroup = groups.iterator();
+                                                       while(pdpGroup.hasNext()){
+                                                               OnapPDPGroup group = pdpGroup.next();
+                                                               Set<PDPPolicy> policies = group.getPolicies();
+                                                               for(PDPPolicy policy : policies){
+                                                                       for(String scope : scopes){
+                                                                               scope = scope.replace(File.separator, ".");
+                                                                               String policyName = policy.getId();
+                                                                               if(policyName.contains(".Config_")){
+                                                                                       policyName = policyName.substring(0, policyName.lastIndexOf(".Config_"));
+                                                                               }else if(policyName.contains(".Action_")){
+                                                                                       policyName = policyName.substring(0, policyName.lastIndexOf(".Action_"));
+                                                                               }else if(policyName.contains(".Decision_")){
+                                                                                       policyName = policyName.substring(0, policyName.lastIndexOf(".Decision_"));
+                                                                               }
+                                                                               if(policyName.startsWith(scope)){
+                                                                                       filteredPolicies.add(policy);
                                                                                }
                                                                        }
-                                                                       pdpGroup.remove();
-                                                                       StdPDPGroup newGroup = (StdPDPGroup) group;
-                                                                       newGroup.setPolicies(filteredPolicies);
-                                                                       tempGroups.add(newGroup);
-                                                               }       
-                                                               groups.clear();
-                                                               groups = tempGroups;    
-                                                       }
+                                                               }
+                                                               pdpGroup.remove();
+                                                               StdPDPGroup newGroup = (StdPDPGroup) group;
+                                                               newGroup.setPolicies(filteredPolicies);
+                                                               tempGroups.add(newGroup);
+                                                       }       
+                                                       groups.clear();
+                                                       groups = tempGroups;    
                                                }
                                        }
                                }
@@ -195,6 +181,12 @@ public class PDPController extends RestrictedBaseController {
                        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
                        JsonNode root = mapper.readTree(request.getReader());
                        this.container = new PDPGroupContainer(controller.getPapEngine());
+                       
+                       String userId = UserUtils.getUserSession(request).getOrgUserId();
+                       policyLogger.info("****************************************Logging UserID for Save PDP Group Function*****************************************");
+                       policyLogger.info("UserId:  " + userId + "PDP Group Data:  "+ root.get("pdpGroupData").toString());
+                       policyLogger.info("***************************************************************************************************************************");
+                       
                        StdPDPGroup pdpGroupData =  mapper.readValue(root.get("pdpGroupData").toString().replace("groupName", "name"), StdPDPGroup.class);
                        try {
                                if(pdpGroupData.getId() == null){
@@ -241,8 +233,14 @@ public class PDPController extends RestrictedBaseController {
                        JsonNode root = mapper.readTree(request.getReader());
                        PolicyController controller = getPolicyControllerInstance();
                        this.container = new PDPGroupContainer(controller.getPapEngine()); 
+                       
+                       String userId = UserUtils.getUserSession(request).getOrgUserId();
+                       policyLogger.info("****************************************Logging UserID for Remove PDP Group Function*****************************************");
+                       policyLogger.info("UserId:  " + userId + "PDP Group Data:  "+ root.get("pdpGroupData").toString());
+                       policyLogger.info("*****************************************************************************************************************************");
+                       
                        StdPDPGroup pdpGroupData =  mapper.readValue(root.get("pdpGroupData").toString(), StdPDPGroup.class);
-                       if(pdpGroupData.getName().equals("Default")) {
+                       if("Default".equals(pdpGroupData.getName())) {
                                throw new UnsupportedOperationException("You can't remove the Default Group.");
                        }else{
                                this.container.removeGroup(pdpGroupData, null);
@@ -282,8 +280,14 @@ public class PDPController extends RestrictedBaseController {
                        PolicyController controller = getPolicyControllerInstance();
                        this.container = new PDPGroupContainer(controller.getPapEngine()); 
                        String update = root.get("update").toString();
-                       PdpData pdpGroupData = (PdpData)mapper.readValue(root.get("pdpInGroup").toString(), PdpData.class);
+                       PdpData pdpGroupData = mapper.readValue(root.get("pdpInGroup").toString(), PdpData.class);
                        StdPDPGroup activeGroupData =  mapper.readValue(root.get("activePDP").toString(), StdPDPGroup.class);
+                       
+                       String userId = UserUtils.getUserSession(request).getOrgUserId();
+                       policyLogger.info("****************************************Logging UserID while Saving  pdp in  PDP Group*****************************************");
+                       policyLogger.info("UserId:  " + userId + "PDP Group Data:  "+ root.get("pdpInGroup").toString() + "Active Group Data: "+ root.get("activePDP").toString());
+                       policyLogger.info("*******************************************************************************************************************************");
+                       
                        try {
 
                                if(update.contains("false")){
@@ -332,6 +336,11 @@ public class PDPController extends RestrictedBaseController {
                        StdPDP deletePdp =  mapper.readValue(root.get("data").toString(), StdPDP.class);
                        StdPDPGroup activeGroupData =  mapper.readValue(root.get("activePDP").toString(), StdPDPGroup.class);
 
+                       String userId = UserUtils.getUserSession(request).getOrgUserId();
+                       policyLogger.info("****************************************Logging UserID while Removing  pdp from  PDP Group*****************************************");
+                       policyLogger.info("UserId:  " + userId + "Delete PDP Group Data:  "+ root.get("data").toString() + "Active Group Data: "+ root.get("activePDP").toString());
+                       policyLogger.info("***********************************************************************************************************************************");
+                       
                        this.container.removePDP(deletePdp, activeGroupData);
                        response.setCharacterEncoding("UTF-8");
                        response.setContentType("application / json");