Upgraded the latest ONAP SDK
[policy/engine.git] / POLICY-SDK-APP / src / main / java / org / onap / policy / controller / PolicyExportAndImportController.java
index bb6f38b..78a8c5a 100644 (file)
 package org.onap.policy.controller;
 
 
+import java.io.BufferedWriter;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
+import java.io.FileWriter;
+import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.HashSet;
@@ -46,6 +49,7 @@ 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;
@@ -55,9 +59,8 @@ 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.xacml.api.XACMLErrorConstants;
-import org.openecomp.policy.model.Roles;
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
-import org.openecomp.portalsdk.core.web.support.UserUtils;
+import org.onap.portalsdk.core.controller.RestrictedBaseController;
+import org.onap.portalsdk.core.web.support.UserUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -116,7 +119,7 @@ public class PolicyExportAndImportController extends RestrictedBaseController {
        public PolicyExportAndImportController(){}
 
        @RequestMapping(value={"/policy_download/exportPolicy.htm"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
-       public void exportPolicy(HttpServletRequest request, HttpServletResponse response) throws Exception{
+       public void exportPolicy(HttpServletRequest request, HttpServletResponse response) throws IOException{
                try{
                        String file = null;
                        selectedPolicy = new ArrayList<>();
@@ -202,7 +205,7 @@ public class PolicyExportAndImportController extends RestrictedBaseController {
        }
 
        //Policy Import 
-       public JSONObject importRepositoryFile(String file, HttpServletRequest request) throws Exception{
+       public JSONObject importRepositoryFile(String file, HttpServletRequest request) throws IOException{
                boolean configExists = false;
                boolean actionExists = false;
                String configName = null;
@@ -236,6 +239,7 @@ public class PolicyExportAndImportController extends RestrictedBaseController {
                Iterator<Row> rowIterator = datatypeSheet.iterator();
 
                while (rowIterator.hasNext()) {
+                       finalColumn = false;
                        policyEntity = new PolicyEntity();
                        configurationDataEntity = new ConfigurationDataEntity();
                        actionBodyEntity = new ActionBodyEntity();
@@ -342,12 +346,26 @@ public class PolicyExportAndImportController extends RestrictedBaseController {
                                                configurationDataEntity.setCreatedBy(userId);
                                                configurationDataEntity.setModifiedBy(userId);
                                                commonClassDao.save(configurationDataEntity);
+                                               try(FileWriter fw = new FileWriter(PolicyController.getConfigHome() + File.separator + configName)){
+                                                       BufferedWriter bw = new BufferedWriter(fw);
+                                                       bw.write(configurationDataEntity.getConfigBody());
+                                                       bw.close();
+                                               } catch (IOException e) {
+                                                       logger.error("Exception Occured While cloning the configuration file",e);
+                                               }
                                        }
                                        if(actionExists){
                                                actionBodyEntity.setDeleted(false);
                                                actionBodyEntity.setCreatedBy(userId);
                                                actionBodyEntity.setModifiedBy(userId);
                                                commonClassDao.save(actionBodyEntity);
+                                               try(FileWriter fw = new FileWriter(PolicyController.getActionHome() + File.separator + actionBodyEntity.getActionBodyName())) {
+                                                       BufferedWriter bw = new BufferedWriter(fw);
+                                                       bw.write(actionBodyEntity.getActionBody());
+                                                       bw.close();
+                                               } catch (IOException e) {
+                                                       logger.error("Exception Occured While cloning the configuration file",e);
+                                               }
                                        }
                                        if(configName != null){
                                                if(configName.contains("Config_")){