X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=POLICY-SDK-APP%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fcontroller%2FPolicyExportAndImportController.java;h=5365af18cc32423e38ff575794a5503e8eaa0834;hb=9301fed7c290f52208922f780fdfe4b5a880b5aa;hp=78a8c5ad15a69950b6cf89046c6327e5e3638bf7;hpb=aa9e865ccf191e814b50b8b4b51d516fc359d948;p=policy%2Fengine.git diff --git a/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/PolicyExportAndImportController.java b/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/PolicyExportAndImportController.java index 78a8c5ad1..5365af18c 100644 --- a/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/PolicyExportAndImportController.java +++ b/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/PolicyExportAndImportController.java @@ -29,7 +29,6 @@ import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; -import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; @@ -49,7 +48,6 @@ import org.apache.poi.ss.usermodel.Workbook; import org.json.JSONObject; import org.onap.policy.common.logging.flexlogger.FlexLogger; import org.onap.policy.common.logging.flexlogger.Logger; -import org.onap.policy.model.Roles; import org.onap.policy.rest.adapter.PolicyExportAdapter; import org.onap.policy.rest.dao.CommonClassDao; import org.onap.policy.rest.jpa.ActionBodyEntity; @@ -58,6 +56,7 @@ import org.onap.policy.rest.jpa.PolicyEditorScopes; import org.onap.policy.rest.jpa.PolicyEntity; import org.onap.policy.rest.jpa.PolicyVersion; import org.onap.policy.rest.jpa.UserInfo; +import org.onap.policy.utils.UserUtils.Pair; import org.onap.policy.xacml.api.XACMLErrorConstants; import org.onap.portalsdk.core.controller.RestrictedBaseController; import org.onap.portalsdk.core.web.support.UserUtils; @@ -116,12 +115,14 @@ public class PolicyExportAndImportController extends RestrictedBaseController { PolicyExportAndImportController.commonClassDao = commonClassDao; } - public PolicyExportAndImportController(){} + public PolicyExportAndImportController(){ + // Empty constructor + } @RequestMapping(value={"/policy_download/exportPolicy.htm"}, method={org.springframework.web.bind.annotation.RequestMethod.POST}) public void exportPolicy(HttpServletRequest request, HttpServletResponse response) throws IOException{ try{ - String file = null; + String file; selectedPolicy = new ArrayList<>(); ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); @@ -195,7 +196,7 @@ public class PolicyExportAndImportController extends RestrictedBaseController { request.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); - String successMap = file.toString().substring(file.toString().lastIndexOf("webapps")+8); + String successMap = file.substring(file.lastIndexOf("webapps")+8); String responseString = mapper.writeValueAsString(successMap); JSONObject j = new JSONObject("{data: " + responseString + "}"); out.write(j.toString()); @@ -209,30 +210,17 @@ public class PolicyExportAndImportController extends RestrictedBaseController { boolean configExists = false; boolean actionExists = false; String configName = null; - String scope = null; - boolean finalColumn = false; + String scope; + boolean finalColumn; PolicyController controller = policyController != null ? getPolicyController() : new PolicyController(); String userId = UserUtils.getUserSession(request).getOrgUserId(); UserInfo userInfo = (UserInfo) commonClassDao.getEntityItem(UserInfo.class, "userLoginId", userId); - //Check if the Role and Scope Size are Null get the values from db. List 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, List> pair = org.onap.policy.utils.UserUtils.checkRoleAndScope(userRoles); + roles = pair.u; + scopes = pair.t; + FileInputStream excelFile = new FileInputStream(new File(file)); workbook = new HSSFWorkbook(excelFile); Sheet datatypeSheet = workbook.getSheetAt(0); @@ -251,19 +239,19 @@ public class PolicyExportAndImportController extends RestrictedBaseController { Iterator cellIterator = currentRow.cellIterator(); while (cellIterator.hasNext()) { Cell cell = cellIterator.next(); - if (getCellHeaderName(cell).equalsIgnoreCase("policyName")) { + if ("policyName".equalsIgnoreCase(getCellHeaderName(cell))) { policyEntity.setPolicyName(cell.getStringCellValue()); } - if (getCellHeaderName(cell).equalsIgnoreCase("scope")) { + if ("scope".equalsIgnoreCase(getCellHeaderName(cell))) { policyEntity.setScope(cell.getStringCellValue()); } - if (getCellHeaderName(cell).equalsIgnoreCase("policyData")) { + if ("policyData".equalsIgnoreCase(getCellHeaderName(cell))) { policyEntity.setPolicyData(cell.getStringCellValue()); } - if (getCellHeaderName(cell).equalsIgnoreCase("description")) { + if ("description".equalsIgnoreCase(getCellHeaderName(cell))) { policyEntity.setDescription(cell.getStringCellValue()); } - if (getCellHeaderName(cell).equalsIgnoreCase("configurationbody")) { + if ("configurationbody".equalsIgnoreCase(getCellHeaderName(cell))) { if(policyEntity.getPolicyName().contains("Config_")){ configExists = true; configurationDataEntity.setConfigBody(cell.getStringCellValue()); @@ -272,7 +260,7 @@ public class PolicyExportAndImportController extends RestrictedBaseController { actionBodyEntity.setActionBody(cell.getStringCellValue()); } } - if (getCellHeaderName(cell).equalsIgnoreCase("configurationName")) { + if ("configurationName".equalsIgnoreCase(getCellHeaderName(cell))) { finalColumn = true; configName = cell.getStringCellValue(); if(policyEntity.getPolicyName().contains("Config_")){ @@ -312,11 +300,11 @@ public class PolicyExportAndImportController extends RestrictedBaseController { } if (roles.contains(ADMIN) || roles.contains(EDITOR)) { if(scopes.isEmpty()){ - //return error("No Scopes has been Assigned to the User. Please, Contact Super-Admin"); + logger.error("No Scopes has been Assigned to the User. Please, Contact Super-Admin"); }else{ //1. if Role contains admin, then check if parent scope has role admin, if not don't create a scope and add to list. if(roles.contains(ADMIN)){ - String scopeCheck = scope.substring(0, scope.lastIndexOf(".")); + String scopeCheck = scope.substring(0, scope.lastIndexOf('.')); if(scopes.contains(scopeCheck)){ PolicyEditorScopes policyEditorScopeEntity = new PolicyEditorScopes(); policyEditorScopeEntity.setScopeName(scope); @@ -383,8 +371,8 @@ public class PolicyExportAndImportController extends RestrictedBaseController { policyVersion = new PolicyVersion(); String policyName = policyEntity.getPolicyName().replace(".xml", ""); - int version = Integer.parseInt(policyName.substring(policyName.lastIndexOf(".")+1)); - policyName = policyName.substring(0, policyName.lastIndexOf(".")); + int version = Integer.parseInt(policyName.substring(policyName.lastIndexOf('.')+1)); + policyName = policyName.substring(0, policyName.lastIndexOf('.')); policyVersion.setPolicyName(scope.replace(".", File.separator) + File.separator + policyName); policyVersion.setActiveVersion(version); @@ -400,7 +388,6 @@ public class PolicyExportAndImportController extends RestrictedBaseController { //return the column header name value private String getCellHeaderName(Cell cell){ - String cellHeaderName = cell.getSheet().getRow(0).getCell(cell.getColumnIndex()).getRichStringCellValue().toString(); - return cellHeaderName; + return cell.getSheet().getRow(0).getCell(cell.getColumnIndex()).getRichStringCellValue().toString(); } }