X-Git-Url: https://gerrit.onap.org/r/gitweb?p=policy%2Fengine.git;a=blobdiff_plain;f=POLICY-SDK-APP%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fcontroller%2FAutoPushController.java;h=ca62d82a449cdfbf848a00124dd8d7bc21c570af;hp=3af430f450d1be837b22b6e1468f678677db0e75;hb=dfd9c0a09c35e4b5b4b61be08b8424e4a3d0d500;hpb=26b2f0b9eb6fa60a8e161181768e20fdf3b4c7f7 diff --git a/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/AutoPushController.java b/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/AutoPushController.java index 3af430f45..ca62d82a4 100644 --- a/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/AutoPushController.java +++ b/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/AutoPushController.java @@ -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. @@ -21,6 +21,12 @@ package org.onap.policy.controller; +import com.att.research.xacml.api.pap.PAPException; +import com.att.research.xacml.api.pap.PDPPolicy; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; + import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; @@ -37,10 +43,10 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Set; - import java.util.stream.Collectors; import java.util.stream.IntStream; import java.util.stream.Stream; + import javax.script.SimpleBindings; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -70,14 +76,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; -import com.att.research.xacml.api.pap.PAPException; -import com.att.research.xacml.api.pap.PDPPolicy; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; - @Controller -@RequestMapping({ "/" }) +@RequestMapping({"/"}) public class AutoPushController extends RestrictedBaseController { private static final Logger logger = FlexLogger.getLogger(AutoPushController.class); @@ -117,8 +117,17 @@ public class AutoPushController extends RestrictedBaseController { return policyController != null ? getPolicyController() : new PolicyController(); } - @RequestMapping(value = {"/get_AutoPushPoliciesContainerData"}, method = { - RequestMethod.GET}, produces = MediaType.APPLICATION_JSON_VALUE) + private Set addAllScopes(Roles userRole, Set scopes) { + if (userRole.getScope() != null) { + scopes.addAll(Stream.of(userRole.getScope().split(",")).collect(Collectors.toSet())); + } + return scopes; + } + + @RequestMapping( + value = {"/get_AutoPushPoliciesContainerData"}, + method = {RequestMethod.GET}, + produces = MediaType.APPLICATION_JSON_VALUE) public void getPolicyGroupContainerData(HttpServletRequest request, HttpServletResponse response) { try { Set scopes = new HashSet<>(); @@ -133,11 +142,9 @@ public class AutoPushController extends RestrictedBaseController { for (Object role : userRoles) { Roles userRole = (Roles) role; roles.add(userRole.getRole()); - scopes.addAll(Stream.of(userRole.getScope().split(",")) - .map(String::new) - .collect(Collectors.toSet()) - ); + addAllScopes(userRole, scopes); } + if (roles.contains("super-admin") || roles.contains("super-editor") || roles.contains("super-guest")) { data = commonClassDao.getData(PolicyVersion.class); } else { @@ -155,7 +162,7 @@ public class AutoPushController extends RestrictedBaseController { } else { PolicyVersion emptyPolicyName = new PolicyVersion(); emptyPolicyName - .setPolicyName("Please Contact Policy Super Admin, There are no scopes assigned to you"); + .setPolicyName("Please Contact Policy Super Admin, There are no scopes assigned to you"); data.add(emptyPolicyName); } } @@ -169,7 +176,7 @@ public class AutoPushController extends RestrictedBaseController { } } - @RequestMapping(value = { "/auto_Push/PushPolicyToPDP.htm" }, method = { RequestMethod.POST }) + @RequestMapping(value = {"/auto_Push/PushPolicyToPDP.htm"}, method = {RequestMethod.POST}) public ModelAndView pushPolicyToPDPGroup(HttpServletRequest request, HttpServletResponse response) throws IOException { try { @@ -201,8 +208,8 @@ public class AutoPushController extends RestrictedBaseController { for (Object policyId : adapter.getPolicyDatas()) { LinkedHashMap selected = (LinkedHashMap) policyId; - String policyName = selected.get("policyName").toString() + "." - + selected.get("activeVersion").toString() + ".xml"; + String policyName = + selected.get("policyName").toString() + "." + selected.get("activeVersion").toString() + ".xml"; selectedPoliciesInUI.add(policyName); } @@ -312,7 +319,7 @@ public class AutoPushController extends RestrictedBaseController { currentPoliciesInGroup.addAll(selectedPolicies); updatedGroupObject.setPolicies(currentPoliciesInGroup); - this.container.updateGroup(updatedGroupObject); + this.container.updateGroup(updatedGroupObject, userId); response.setCharacterEncoding(UTF8); response.setContentType("application / json"); @@ -340,7 +347,7 @@ public class AutoPushController extends RestrictedBaseController { } @SuppressWarnings("unchecked") - @RequestMapping(value = { "/auto_Push/remove_GroupPolicies.htm" }, method = { RequestMethod.POST }) + @RequestMapping(value = {"/auto_Push/remove_GroupPolicies.htm"}, method = {RequestMethod.POST}) public ModelAndView removePDPGroup(HttpServletRequest request, HttpServletResponse response) throws IOException { try { PolicyController controller = getPolicyControllerInstance(); @@ -362,9 +369,9 @@ public class AutoPushController extends RestrictedBaseController { policyContainer = new PDPPolicyContainer(group); if (removePolicyData.size() > 0) { IntStream.range(0, removePolicyData.size()).mapToObj(i -> removePolicyData.get(i).toString()) - .forEach(polData -> this.policyContainer.removeItem(polData)); - Set changedPolicies = new HashSet<>( - (Collection) this.policyContainer.getItemIds()); + .forEach(polData -> this.policyContainer.removeItem(polData)); + Set changedPolicies = + new HashSet<>((Collection) this.policyContainer.getItemIds()); StdPDPGroup updatedGroupObject = new StdPDPGroup(group.getId(), group.isDefaultGroup(), group.getName(), group.getDescription(), null); updatedGroupObject.setPolicies(changedPolicies);