diff options
Diffstat (limited to 'server/src/main/java/org/onap/usecaseui')
6 files changed, 106 insertions, 116 deletions
diff --git a/server/src/main/java/org/onap/usecaseui/server/controller/IntentController.java b/server/src/main/java/org/onap/usecaseui/server/controller/IntentController.java index df6530ce..6c64d6c7 100644 --- a/server/src/main/java/org/onap/usecaseui/server/controller/IntentController.java +++ b/server/src/main/java/org/onap/usecaseui/server/controller/IntentController.java @@ -24,6 +24,7 @@ import java.util.regex.Pattern; import jakarta.annotation.Resource; import com.alibaba.fastjson.JSONArray; +import jakarta.servlet.http.HttpServletResponse; import org.apache.commons.collections.MapUtils; import org.onap.usecaseui.server.bean.HttpResponseResult; import org.onap.usecaseui.server.bean.intent.CCVPNInstance; @@ -591,4 +592,8 @@ public class IntentController { return intentInstanceService.getIntentInstanceList(currentPage, pageSize); } + @PostMapping("/exportIntentContent") + public void exportIntentContent(HttpServletResponse response) { + intentInstanceService.exportIntentContent(response); + } } diff --git a/server/src/main/java/org/onap/usecaseui/server/service/intent/IntentInstanceService.java b/server/src/main/java/org/onap/usecaseui/server/service/intent/IntentInstanceService.java index e25fa761..b0776844 100644 --- a/server/src/main/java/org/onap/usecaseui/server/service/intent/IntentInstanceService.java +++ b/server/src/main/java/org/onap/usecaseui/server/service/intent/IntentInstanceService.java @@ -17,6 +17,7 @@ package org.onap.usecaseui.server.service.intent; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import jakarta.servlet.http.HttpServletResponse; import org.onap.usecaseui.server.bean.csmf.SlicingOrder; import org.onap.usecaseui.server.bean.intent.CCVPNInstance; import org.onap.usecaseui.server.bean.intent.IntentInstance; @@ -68,4 +69,6 @@ public interface IntentInstanceService { int updateCCVPNInstance(CCVPNInstance instance); void saveSlicingServiceToAAI(String serviceId,String operationId, SlicingOrder slicingOrder) throws IOException; + + void exportIntentContent(HttpServletResponse response); } diff --git a/server/src/main/java/org/onap/usecaseui/server/service/intent/impl/IntentInstanceServiceImpl.java b/server/src/main/java/org/onap/usecaseui/server/service/intent/impl/IntentInstanceServiceImpl.java index 372a0c1b..bc0d05a9 100644 --- a/server/src/main/java/org/onap/usecaseui/server/service/intent/impl/IntentInstanceServiceImpl.java +++ b/server/src/main/java/org/onap/usecaseui/server/service/intent/impl/IntentInstanceServiceImpl.java @@ -18,6 +18,7 @@ package org.onap.usecaseui.server.service.intent.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import jakarta.servlet.http.HttpServletResponse; import org.hibernate.query.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; @@ -35,6 +36,7 @@ import org.onap.usecaseui.server.service.intent.IntentApiService; import org.onap.usecaseui.server.service.intent.IntentInstanceService; import org.onap.usecaseui.server.service.lcm.domain.so.SOService; import org.onap.usecaseui.server.service.nsmf.ResourceMgtService; +import org.onap.usecaseui.server.util.ExportUtil; import org.onap.usecaseui.server.util.Page; import org.onap.usecaseui.server.util.RestfulServices; import org.onap.usecaseui.server.util.UuiCommonUtil; @@ -778,14 +780,18 @@ public class IntentInstanceServiceImpl implements IntentInstanceService { } private IntentInstance assembleIntentInstanceFormSliceInfo(IntentInstance instance, Object body) { - JSONObject jsonObject = new JSONObject((Map) body); - JSONObject slicingOrderInfo = jsonObject.getJSONObject("slicing_order_info"); - String intent_content = slicingOrderInfo.getString("intentContent"); - slicingOrderInfo.remove("intentContent"); - instance.setIntentConfig(slicingOrderInfo.toJSONString()); - instance.setIntentContent(intent_content); - instance.setIntentName(slicingOrderInfo.getString("name")); - return instance; + if(body instanceof Map){ + Map map = (Map) body; + JSONObject jsonObject = new JSONObject(map); + JSONObject slicingOrderInfo = jsonObject.getJSONObject("slicing_order_info"); + String intent_content = slicingOrderInfo.getString("intentContent"); + slicingOrderInfo.remove("intentContent"); + instance.setIntentConfig(slicingOrderInfo.toJSONString()); + instance.setIntentContent(intent_content); + instance.setIntentName(slicingOrderInfo.getString("name")); + return instance; + } + return new IntentInstance(); } @@ -1022,4 +1028,20 @@ public class IntentInstanceServiceImpl implements IntentInstanceService { intentApiService.saveServiceInstance(globalCustomerId,serviceType,serviceId,requestBody).execute(); } + @Override + public void exportIntentContent(HttpServletResponse response) { + Session session = getSession(); + try{ + String hql = "select i.intentContent from IntentInstance i order by id"; + Query<String> query = session.createQuery(hql, String.class); + query.setMaxResults(1000); + List<String> intentContents = query.getResultList(); + ExportUtil.exportExcel(response,"intentContent",intentContents); + } catch (Exception e) { + logger.error("An exception occurred with exportIntentContent. Details:" + e.getMessage()); + } finally { + session.close(); + } + } + } diff --git a/server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/SotnServiceQryServiceImpl.java b/server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/SotnServiceQryServiceImpl.java index 9124cca0..ebebba6c 100644 --- a/server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/SotnServiceQryServiceImpl.java +++ b/server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/SotnServiceQryServiceImpl.java @@ -18,7 +18,6 @@ package org.onap.usecaseui.server.service.lcm.impl; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import okhttp3.ResponseBody; -import org.json.simple.parser.JSONParser; import org.onap.usecaseui.server.bean.activateEdge.ServiceInstance; import org.onap.usecaseui.server.bean.lcm.sotne2eservice.ModelConfig; import org.onap.usecaseui.server.bean.lcm.sotne2eservicemonitor.ResponseServiceInstanceWrapper; @@ -65,7 +64,6 @@ public class SotnServiceQryServiceImpl implements SotnServiceQryService { //serviceType = "generic"; ObjectMapper mapper = new ObjectMapper(); - JSONParser parser = new JSONParser(); try { Response<ResponseBody> response = aaiService.listServiceInstances(customerid, serviceType).execute(); diff --git a/server/src/main/java/org/onap/usecaseui/server/util/ExportUtil.java b/server/src/main/java/org/onap/usecaseui/server/util/ExportUtil.java new file mode 100644 index 00000000..236bf33c --- /dev/null +++ b/server/src/main/java/org/onap/usecaseui/server/util/ExportUtil.java @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2017 CMCC, Inc. and others. 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. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.onap.usecaseui.server.util; + +import jakarta.servlet.ServletOutputStream; +import jakarta.servlet.http.HttpServletResponse; +import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellStyle; +import org.apache.poi.ss.usermodel.CellType; +import org.apache.poi.ss.usermodel.HorizontalAlignment; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.apache.poi.xssf.streaming.SXSSFWorkbook; + +import java.io.IOException; +import java.util.List; + + +@SuppressWarnings("unused") +@Slf4j +public class ExportUtil { + + public static void exportExcel(HttpServletResponse response, String fileName, List<?> dataList) { + SXSSFWorkbook book = new SXSSFWorkbook(); + Sheet sheet = book.createSheet(); + CellStyle rowStyle = book.createCellStyle(); + rowStyle.setAlignment(HorizontalAlignment.CENTER); + rowStyle.setVerticalAlignment(VerticalAlignment.CENTER); + sheet.setDefaultColumnWidth(15); + for (int i = 0; i < dataList.size(); i++) { + Row row = sheet.createRow(i); + Cell cell = row.createCell(0); + cell.setCellStyle(rowStyle); + cell.setCellType(CellType.STRING); + cell.setCellValue((String) dataList.get(i)); + } + try { + write(response, book, fileName); + } catch (IOException e) { + log.error("An exception occurred with exportExcel, message: "+e.getMessage()); + } + } + private static void write(HttpServletResponse response, SXSSFWorkbook book, String fileName) throws IOException { + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + String name = new String(fileName.getBytes("GBK"), "ISO8859_1") + ".xlsx"; + response.addHeader("Content-Disposition", "attachment;filename=" + name); + ServletOutputStream out = response.getOutputStream(); + book.write(out); + out.flush(); + out.close(); + } +} diff --git a/server/src/main/java/org/onap/usecaseui/server/util/ZipUtil.java b/server/src/main/java/org/onap/usecaseui/server/util/ZipUtil.java deleted file mode 100644 index e3a67751..00000000 --- a/server/src/main/java/org/onap/usecaseui/server/util/ZipUtil.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright (C) 2017 CTC, Inc. and others. 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. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onap.usecaseui.server.util; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.List; - -import org.apache.commons.io.IOUtils; -import org.apache.tools.zip.ZipEntry; -import org.apache.tools.zip.ZipFile; -import org.apache.tools.zip.ZipOutputStream; - -public class ZipUtil { - - public static void zip(String src, String zip) throws IOException { - zip(new File(src), new File(zip)); - } - - public static void zip(String src, File zip) throws IOException { - zip(new File(src), zip); - } - - public static void zip(File src, String zip) throws IOException { - zip(src, new File(zip)); - } - - public static void zip(File src, File zip) throws IOException { - List<ZipEntry> list = foreach(src); - ZipOutputStream out = new ZipOutputStream(zip); - for (ZipEntry en : list) { - File fo = new File(src.getParent(), en.getName()); - out.putNextEntry(en); - FileInputStream in = new FileInputStream(fo); - byte[] buffer = new byte[1024*8]; - for(int len=0;(len=in.read(buffer))!=-1;){ - out.write(buffer, 0, len); - } - in.close(); - out.flush(); - } - out.close(); - } - - public static void unzip(String zip,String out) throws Exception { - unzip(new File(zip), new File(out)); - } - - public static void unzip(String zip,File out) throws Exception { - unzip(new File(zip), out); - } - - public static void unzip(File zip,String out) throws Exception { - unzip(zip, new File(out)); - } - - public static void unzip(File zip,File out) throws Exception { - ZipFile zipFile = new ZipFile(zip,"GB18030"); - for (Enumeration<ZipEntry> entries = zipFile.getEntries(); entries.hasMoreElements();) { - ZipEntry entry = entries.nextElement(); - File file = new File(out,entry.getName()); - if (entry.isDirectory()) { - file.mkdirs(); - } else { - File parent = file.getParentFile(); - if (!parent.exists()) { - parent.mkdirs(); - } - IOUtils.copy(zipFile.getInputStream(entry), new FileOutputStream(file)); - } - } - zipFile.close(); - } - private static List<ZipEntry> foreach(File file) { - return foreach(file, ""); - } - private static List<ZipEntry> foreach(File file, String path) { - List<ZipEntry> list = new ArrayList<ZipEntry>(); - if (file.isDirectory()) { - path += file.getName() + File.separator; - for (File fo : file.listFiles()) { - list.addAll(foreach(fo, path)); - } - } else if (file.isFile()) { - list.add(new ZipEntry(path + file.getName())); - } - return list; - } -} |