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%2Fadmin%2FPolicyManagerServlet.java;fp=POLICY-SDK-APP%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fadmin%2FPolicyManagerServlet.java;h=d7d6e78296b5428140bc38de016391a2f571cab7;hp=224ee079380e86b61ea95d747ba76158877dcca4;hb=00747e7214c75e5af92cc0977c98d2df0d6db629;hpb=068d0f8fe17d13e4f3000b1c9033675068e5532e diff --git a/POLICY-SDK-APP/src/main/java/org/onap/policy/admin/PolicyManagerServlet.java b/POLICY-SDK-APP/src/main/java/org/onap/policy/admin/PolicyManagerServlet.java index 224ee0793..d7d6e7829 100644 --- a/POLICY-SDK-APP/src/main/java/org/onap/policy/admin/PolicyManagerServlet.java +++ b/POLICY-SDK-APP/src/main/java/org/onap/policy/admin/PolicyManagerServlet.java @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP Policy Engine * ================================================================================ - * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2020 AT&T Intellectual Property. All rights reserved. * Modified Copyright (C) 2018 Samsung Electronics Co., Ltd. * Modifications Copyright (C) 2019 Bell Canada * ================================================================================ @@ -90,6 +90,7 @@ import org.onap.policy.utils.PolicyUtils; import org.onap.policy.utils.UserUtils.Pair; import org.onap.policy.xacml.api.XACMLErrorConstants; import org.onap.policy.xacml.util.XACMLPolicyScanner; +import org.onap.portalsdk.core.domain.User; import org.onap.portalsdk.core.web.support.UserUtils; @WebServlet( @@ -227,7 +228,7 @@ public class PolicyManagerServlet extends HttpServlet { LOGGER.debug("doPost"); try { // if request contains multipart-form-data - if (ServletFileUpload.isMultipartContent(request)) { + if (isMultipartContent(request)) { uploadFile(request, response); } // all other post request has json params in body @@ -243,6 +244,10 @@ public class PolicyManagerServlet extends HttpServlet { } } + protected boolean isMultipartContent(HttpServletRequest request) { + return ServletFileUpload.isMultipartContent(request); + } + // Set Error Message for Exception private void setError(Exception exception, HttpServletResponse response) throws IOException { try { @@ -285,10 +290,10 @@ public class PolicyManagerServlet extends HttpServlet { private void processFormFile(HttpServletRequest request, FileItem item) { String newFile; - if (item.getName().endsWith(".xls") && item.getSize() <= PolicyController.getFileSizeLimit()) { + if (item.getName().endsWith(".xls") && item.getSize() <= getFileSizeLimit()) { File file = new File(item.getName()); try (OutputStream outputStream = new FileOutputStream(file)) { - IOUtils.copy(item.getInputStream(), outputStream); + copyStream(item.getInputStream(), outputStream); newFile = file.toString(); PolicyExportAndImportController importController = new PolicyExportAndImportController(); importController.importRepositoryFile(newFile, request); @@ -302,6 +307,14 @@ public class PolicyManagerServlet extends HttpServlet { } } + protected long copyStream(InputStream inputStream, OutputStream outputStream) throws IOException { + return IOUtils.copy(inputStream, outputStream); + } + + protected long getFileSizeLimit() { + return PolicyController.getFileSizeLimit(); + } + // File Operation Functionality private void fileOperation(HttpServletRequest request, HttpServletResponse response) throws ServletException { JSONObject responseJsonObject; @@ -322,7 +335,7 @@ public class PolicyManagerServlet extends HttpServlet { JSONObject params = jsonObject.getJSONObject("params"); Mode mode = Mode.valueOf(params.getString("mode")); - String userId = UserUtils.getUserSession(request).getOrgUserId(); + String userId = getUserSession(request).getOrgUserId(); LOGGER.info( "********************Logging UserID while doing actions on Editor tab****************************"); LOGGER.info( @@ -337,6 +350,10 @@ public class PolicyManagerServlet extends HttpServlet { setResponse(response, responseJsonObject); } + protected User getUserSession(HttpServletRequest request) { + return UserUtils.getUserSession(request); + } + private void setResponse(HttpServletResponse response, JSONObject responseJsonObject) { response.setContentType(CONTENTTYPE); try (PrintWriter out = response.getWriter()) { @@ -410,9 +427,9 @@ public class PolicyManagerServlet extends HttpServlet { private boolean lookupPolicyData(HttpServletRequest request, List policyData, JSONArray policyList, PolicyController controller, List resultList) { - String userId = UserUtils.getUserSession(request).getOrgUserId(); + String userId = getUserSession(request).getOrgUserId(); List userRoles = controller.getRoles(userId); - Pair, List> pair = org.onap.policy.utils.UserUtils.checkRoleAndScope(userRoles); + Pair, List> pair = checkRoleAndScope(userRoles); List roles = pair.second; Set scopes = pair.first; if (roles.contains(ADMIN) || roles.contains(EDITOR) || roles.contains(GUEST)) { @@ -436,6 +453,10 @@ public class PolicyManagerServlet extends HttpServlet { return true; } + protected Pair, List> checkRoleAndScope(List userRoles) { + return org.onap.policy.utils.UserUtils.checkRoleAndScope(userRoles); + } + private void getPolicyDataForSuperRoles(List policyData, PolicyController controller, List resultList, List roles, Set scopes) { if (roles.contains(SUPERADMIN) || roles.contains(SUPEREDITOR) || roles.contains(SUPERGUEST)) { @@ -518,7 +539,7 @@ public class PolicyManagerServlet extends HttpServlet { String path = params.getString("path"); String userId = null; try { - userId = UserUtils.getUserSession(request).getOrgUserId(); + userId = getUserSession(request).getOrgUserId(); } catch (Exception e) { LOGGER.error("Exception Occured while reading userid from cookie" + e); } @@ -643,9 +664,9 @@ public class PolicyManagerServlet extends HttpServlet { private JSONObject processPolicyList(JSONObject params, HttpServletRequest request) throws ServletException { // Get the Login Id of the User from Request String testUserID = getTestUserId(); - String userId = testUserID != null ? testUserID : UserUtils.getUserSession(request).getOrgUserId(); + String userId = testUserID != null ? testUserID : getUserSession(request).getOrgUserId(); List userRoles = getPolicyControllerInstance().getRoles(userId); - Pair, List> pair = org.onap.policy.utils.UserUtils.checkRoleAndScope(userRoles); + Pair, List> pair = checkRoleAndScope(userRoles); List roles = pair.second; Set scopes = pair.first; Map roleByScope = org.onap.policy.utils.UserUtils.getRoleByScope(userRoles); @@ -861,7 +882,7 @@ public class PolicyManagerServlet extends HttpServlet { boolean isActive = false; List policyActiveInPdp = new ArrayList<>(); Set scopeOfPolicyActiveInPdp = new HashSet<>(); - String userId = UserUtils.getUserSession(request).getOrgUserId(); + String userId = getUserSession(request).getOrgUserId(); String oldPath = params.getString("path"); String newPath = params.getString("newPath"); oldPath = oldPath.substring(oldPath.indexOf('/') + 1); @@ -1194,7 +1215,7 @@ public class PolicyManagerServlet extends HttpServlet { // Clone the Policy private JSONObject copy(JSONObject params, HttpServletRequest request) throws ServletException { try { - String userId = UserUtils.getUserSession(request).getOrgUserId(); + String userId = getUserSession(request).getOrgUserId(); String oldPath = params.getString("path"); String newPath = params.getString("newPath"); oldPath = oldPath.substring(oldPath.indexOf('/') + 1); @@ -1286,7 +1307,7 @@ public class PolicyManagerServlet extends HttpServlet { PolicyEntity policyEntity = null; String policyNamewithoutExtension; try { - String userId = UserUtils.getUserSession(request).getOrgUserId(); + String userId = getUserSession(request).getOrgUserId(); String deleteVersion = ""; String path = params.getString("path"); LOGGER.debug("delete {}" + path); @@ -1611,7 +1632,7 @@ public class PolicyManagerServlet extends HttpServlet { if (entity != null) { return error("Scope Already Exists"); } - String userId = UserUtils.getUserSession(request).getOrgUserId(); + String userId = getUserSession(request).getOrgUserId(); UserInfo userInfo = new UserInfo(); userInfo.setUserLoginId(userId); PolicyEditorScopes newScope = new PolicyEditorScopes();