Consolidate PolicyRestAdapter setup
[policy/engine.git] / POLICY-SDK-APP / src / main / java / org / onap / policy / controller / PolicyExportAndImportController.java
index 6c7a0af..8f508ca 100644 (file)
@@ -2,14 +2,14 @@
  * ============LICENSE_START=======================================================
  * ONAP Policy Engine
  * ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
  * 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.
@@ -23,6 +23,7 @@ package org.onap.policy.controller;
 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.FileInputStream;
@@ -35,9 +36,11 @@ import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Set;
+
 import javax.script.SimpleBindings;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
 import org.apache.poi.hssf.usermodel.HSSFRow;
 import org.apache.poi.hssf.usermodel.HSSFSheet;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@@ -61,6 +64,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.PolicyUtils;
 import org.onap.policy.utils.UserUtils.Pair;
 import org.onap.policy.xacml.api.XACMLErrorConstants;
 import org.onap.portalsdk.core.controller.RestrictedBaseController;
@@ -90,7 +94,6 @@ public class PolicyExportAndImportController extends RestrictedBaseController {
     private static final String ACTION = "Action_";
     private static CommonClassDao commonClassDao;
 
-
     private PolicyController policyController;
 
     public PolicyController getPolicyController() {
@@ -115,12 +118,13 @@ public class PolicyExportAndImportController extends RestrictedBaseController {
 
     /**
      * This is for downloading existing policy.
-     * 
+     *
      * @param request HttpServletRequest
      * @param response HttpServletResponse
      * @throws IOException error out
      */
-    @RequestMapping(value = {"/policy_download/exportPolicy.htm"},
+    @RequestMapping(
+            value = {"/policy_download/exportPolicy.htm"},
             method = {org.springframework.web.bind.annotation.RequestMethod.POST})
     public void exportPolicy(HttpServletRequest request, HttpServletResponse response) throws IOException {
         try (HSSFWorkbook workBook2 = new HSSFWorkbook()) {
@@ -134,9 +138,8 @@ public class PolicyExportAndImportController extends RestrictedBaseController {
                 LinkedHashMap<?, ?> selected = (LinkedHashMap<?, ?>) policyId;
                 String policyWithScope =
                         selected.get(policyName).toString() + "." + selected.get("activeVersion").toString() + ".xml";
-                String scope =
-                        policyWithScope.substring(0, policyWithScope.lastIndexOf(File.separator)).replace(
-                                File.separator, ".");
+                String scope = policyWithScope.substring(0, policyWithScope.lastIndexOf(File.separator))
+                        .replace(File.separator, ".");
                 String policyNamel = policyWithScope.substring(policyWithScope.lastIndexOf(File.separator) + 1);
                 selectedPolicy.add(policyNamel + ":" + scope);
             }
@@ -152,9 +155,8 @@ public class PolicyExportAndImportController extends RestrictedBaseController {
             headingRow.createCell(6).setCellValue(BODYSIZE);
             headingRow.createCell(7).setCellValue(configurationbody);
 
-            List<Object> entityData =
-                    commonClassDao.getMultipleDataOnAddingConjunction(PolicyEntity.class, "policyName:scope",
-                            selectedPolicy);
+            List<Object> entityData = commonClassDao.getMultipleDataOnAddingConjunction(PolicyEntity.class,
+                    "policyName:scope", selectedPolicy);
             processEntityData(entityData, sheet, headingRow); //
             String tmp = System.getProperty("catalina.base") + File.separator + "webapps" + File.separator + "temp";
             String deleteCheckPath = tmp + File.separator + "PolicyExport.xls";
@@ -173,14 +175,14 @@ public class PolicyExportAndImportController extends RestrictedBaseController {
             workBook2.write(fos);
             fos.flush();
 
-            response.setContentType("application / json");
-            request.setCharacterEncoding("UTF-8");
+            response.setContentType(PolicyUtils.APPLICATION_JSON);
+            request.setCharacterEncoding(PolicyUtils.CHARACTER_ENCODING);
 
             PrintWriter out = response.getWriter();
             String successMap = file.substring(file.lastIndexOf("webapps") + 8);
             String responseString = mapper.writeValueAsString(successMap);
-            JSONObject j = new JSONObject("{data: " + responseString + "}");
-            out.write(j.toString());
+            JSONObject json = new JSONObject("{data: " + responseString + "}");
+            out.write(json.toString());
         } catch (Exception e) {
             logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + "Exception Occured while Exporting Policies" + e);
         }
@@ -233,8 +235,8 @@ public class PolicyExportAndImportController extends RestrictedBaseController {
                     row.createCell(7).setCellValue(body.substring(index, Math.min(index + 30000, body.length())));
                 } else {
                     headingRow.createCell(7 + arraySize).setCellValue(configurationbody + arraySize);
-                    row.createCell(7 + arraySize).setCellValue(
-                            body.substring(index, Math.min(index + 30000, body.length())));
+                    row.createCell(7 + arraySize)
+                            .setCellValue(body.substring(index, Math.min(index + 30000, body.length())));
                 }
                 index += 30000;
                 arraySize += 1;
@@ -247,11 +249,9 @@ public class PolicyExportAndImportController extends RestrictedBaseController {
         return row;
     }
 
-
-
     /**
      * This is to upload a policy and save it to database.
-     * 
+     *
      * @param file String
      * @param request HttpServletRequest
      * @return JSONObject
@@ -269,8 +269,8 @@ public class PolicyExportAndImportController extends RestrictedBaseController {
         // Check if the Role and Scope Size are Null get the values from db.
         List<Object> userRoles = controller.getRoles(userId);
         Pair<Set<String>, List<String>> pair = org.onap.policy.utils.UserUtils.checkRoleAndScope(userRoles);
-        List<String> roles = pair.u;
-        Set<String> scopes = pair.t;
+        List<String> roles = pair.second;
+        Set<String> scopes = pair.first;
 
         try (FileInputStream excelFile = new FileInputStream(new File(file));
                 HSSFWorkbook workbook = new HSSFWorkbook(excelFile)) {
@@ -331,9 +331,8 @@ public class PolicyExportAndImportController extends RestrictedBaseController {
     }
 
     private void writeConfigurationFile(ConfigurationDataEntity configurationDataEntity) {
-        try (FileWriter fw =
-                new FileWriter(PolicyController.getConfigHome() + File.separator
-                        + configurationDataEntity.getConfigurationName())) {
+        try (FileWriter fw = new FileWriter(
+                PolicyController.getConfigHome() + File.separator + configurationDataEntity.getConfigurationName())) {
             BufferedWriter bw = new BufferedWriter(fw);
             bw.write(configurationDataEntity.getConfigBody());
             bw.close();
@@ -343,8 +342,8 @@ public class PolicyExportAndImportController extends RestrictedBaseController {
     }
 
     private void writeActionBodyFile(ActionBodyEntity actionBodyEntity) {
-        try (FileWriter fw =
-             new FileWriter(PolicyController.getActionHome() + File.separator + actionBodyEntity.getActionBodyName())) {
+        try (FileWriter fw = new FileWriter(
+                PolicyController.getActionHome() + File.separator + actionBodyEntity.getActionBodyName())) {
             BufferedWriter bw = new BufferedWriter(fw);
             bw.write(actionBodyEntity.getActionBody());
             bw.close();
@@ -360,7 +359,7 @@ public class PolicyExportAndImportController extends RestrictedBaseController {
 
     /**
      * This is to validate all matching required fields.
-     * 
+     *
      * @param policyName String
      * @param jsonString String
      * @return String
@@ -565,6 +564,7 @@ public class PolicyExportAndImportController extends RestrictedBaseController {
         return false;
     }
 
+    @SuppressWarnings("rawtypes")
     private boolean isContinue(List<String> roles, String scope, UserInfo userInfo, Set scopes) {
         if (roles.contains(admin) || roles.contains(editor)) {
             if (scopes.isEmpty()) {
@@ -605,14 +605,12 @@ public class PolicyExportAndImportController extends RestrictedBaseController {
     private void savePolicyEntity(PolicyEntity policyEntity, String configName, String userId) {
         if (configName != null) {
             if (configName.contains(config) || configName.contains(DECISION_MS)) {
-                ConfigurationDataEntity configuration =
-                        (ConfigurationDataEntity) commonClassDao.getEntityItem(ConfigurationDataEntity.class,
-                                configurationName, configName);
+                ConfigurationDataEntity configuration = (ConfigurationDataEntity) commonClassDao
+                        .getEntityItem(ConfigurationDataEntity.class, configurationName, configName);
                 policyEntity.setConfigurationData(configuration);
             } else {
-                ActionBodyEntity actionBody =
-                        (ActionBodyEntity) commonClassDao.getEntityItem(ActionBodyEntity.class, "actionBodyName",
-                                configName);
+                ActionBodyEntity actionBody = (ActionBodyEntity) commonClassDao.getEntityItem(ActionBodyEntity.class,
+                        "actionBodyName", configName);
                 policyEntity.setActionBodyEntity(actionBody);
             }
         }
@@ -639,8 +637,9 @@ public class PolicyExportAndImportController extends RestrictedBaseController {
     private int getSetBodySize(PolicyEntity policyEntity, Cell cell, int setBodySize) {
         int setBodySizel = setBodySize;
         if (configurationbody.equalsIgnoreCase(getCellHeaderName(cell))
-                && ((policyEntity.getPolicyName().contains(config) || policyEntity.getPolicyName()
-                        .contains(DECISION_MS)) && (policyEntity.getPolicyName().contains("Config_BRMS_Param_")))) {
+                && ((policyEntity.getPolicyName().contains(config)
+                        || policyEntity.getPolicyName().contains(DECISION_MS))
+                        && (policyEntity.getPolicyName().contains("Config_BRMS_Param_")))) {
             setBodySizel += 1;
         }
         return setBodySizel;
@@ -664,29 +663,28 @@ public class PolicyExportAndImportController extends RestrictedBaseController {
             boolean configurationBodySet) {
         boolean configurationBodySetl = configurationBodySet;
         if (configurationbody.equalsIgnoreCase(getCellHeaderName(cell))
-            && (policyEntity.getPolicyName().contains(config) || policyEntity.getPolicyName().contains(DECISION_MS)) 
-            && (setBodySize == bodySize)) {
+                && (policyEntity.getPolicyName().contains(config) || policyEntity.getPolicyName().contains(DECISION_MS))
+                && (setBodySize == bodySize)) {
             configurationBodySetl = true;
         }
         if (configurationbody.equalsIgnoreCase(getCellHeaderName(cell))
-            && (policyEntity.getPolicyName().contains(config) || policyEntity.getPolicyName().contains(DECISION_MS))
-            && (setBodySize == 0)) {
+                && (policyEntity.getPolicyName().contains(config) || policyEntity.getPolicyName().contains(DECISION_MS))
+                && (setBodySize == 0)) {
             configurationBodySetl = true;
         }
         return configurationBodySetl;
     }
 
-
     private boolean isConfigExists(PolicyEntity policyEntity, Cell cell, boolean configExists) {
         boolean configExistsl = configExists;
         if (configurationbody.equalsIgnoreCase(getCellHeaderName(cell))
-            && (policyEntity.getPolicyName().contains(config) || policyEntity.getPolicyName().contains(DECISION_MS))) {
+                && (policyEntity.getPolicyName().contains(config)
+                        || policyEntity.getPolicyName().contains(DECISION_MS))) {
             configExistsl = true;
         }
         return configExistsl;
     }
 
-
     private boolean isActionExists(PolicyEntity policyEntity, Cell cell, boolean actionExists) {
         boolean actionExistsl = actionExists;
         if (configurationbody.equalsIgnoreCase(getCellHeaderName(cell))
@@ -706,17 +704,18 @@ public class PolicyExportAndImportController extends RestrictedBaseController {
 
     private StringBuilder addCellValue(PolicyEntity policyEntity, Cell cell, StringBuilder body) {
         if (configurationbody.equalsIgnoreCase(getCellHeaderName(cell))
-            && (policyEntity.getPolicyName().contains(config) || policyEntity.getPolicyName().contains(DECISION_MS))) {
+                && (policyEntity.getPolicyName().contains(config)
+                        || policyEntity.getPolicyName().contains(DECISION_MS))) {
             body.append(cell.getStringCellValue());
         }
 
         return body;
     }
 
-    private ActionBodyEntity setActionBodyObject(PolicyEntity policyEntity, ActionBodyEntity actionBodyEntity, 
+    private ActionBodyEntity setActionBodyObject(PolicyEntity policyEntity, ActionBodyEntity actionBodyEntity,
             Cell cell) {
         if (configurationbody.equalsIgnoreCase(getCellHeaderName(cell))
-            && (policyEntity.getPolicyName().contains(ACTION))) {
+                && (policyEntity.getPolicyName().contains(ACTION))) {
             actionBodyEntity.setActionBody(cell.getStringCellValue());
         }
         return actionBodyEntity;
@@ -734,7 +733,8 @@ public class PolicyExportAndImportController extends RestrictedBaseController {
     private ConfigurationDataEntity populateConfigurationDataEntity(PolicyEntity policyEntity,
             ConfigurationDataEntity configurationDataEntity, Cell cell) {
         if (configurationName.equalsIgnoreCase(getCellHeaderName(cell))
-            && (policyEntity.getPolicyName().contains(config) || policyEntity.getPolicyName().contains(DECISION_MS))) {
+                && (policyEntity.getPolicyName().contains(config)
+                        || policyEntity.getPolicyName().contains(DECISION_MS))) {
             configurationDataEntity.setConfigurationName(cell.getStringCellValue());
         }
         return configurationDataEntity;
@@ -771,7 +771,7 @@ public class PolicyExportAndImportController extends RestrictedBaseController {
             saveVersion(policyEntity, scope, userId); //
             // Notify Other paps regarding Export Policy.
             PolicyRestController restController = new PolicyRestController();
-            restController.notifyOtherPAPSToUpdateConfigurations("exportPolicy", configName, null);
+            restController.notifyOtherPapsToUpdateConfigurations("exportPolicy", configName, null);
         }
     }
 }