diff options
-rw-r--r-- | pom.xml | 2 | ||||
-rw-r--r-- | server/pom.xml | 18 | ||||
-rw-r--r-- | server/src/main/java/org/onap/usecaseui/server/controller/IntentController.java | 5 | ||||
-rw-r--r-- | server/src/main/java/org/onap/usecaseui/server/service/intent/IntentInstanceService.java | 3 | ||||
-rw-r--r-- | server/src/main/java/org/onap/usecaseui/server/service/intent/impl/IntentInstanceServiceImpl.java | 18 | ||||
-rw-r--r-- | server/src/main/java/org/onap/usecaseui/server/util/ExportUtil.java | 68 | ||||
-rw-r--r-- | standalone/pom.xml | 4 | ||||
-rw-r--r-- | version.properties | 2 |
8 files changed, 114 insertions, 6 deletions
@@ -25,7 +25,7 @@ <groupId>org.onap.usecase-ui.server</groupId> <artifactId>usecase-ui-server-parent</artifactId> - <version>13.0.0-SNAPSHOT</version> + <version>14.0.0-SNAPSHOT</version> <packaging>pom</packaging> <name>usecase-ui-server-parent</name> <description>parent project for usecase-ui server</description> diff --git a/server/pom.xml b/server/pom.xml index cb7b8044..85e0890d 100644 --- a/server/pom.xml +++ b/server/pom.xml @@ -19,7 +19,7 @@ <parent> <groupId>org.onap.usecase-ui.server</groupId> <artifactId>usecase-ui-server-parent</artifactId> - <version>13.0.0-SNAPSHOT</version> + <version>14.0.0-SNAPSHOT</version> </parent> <artifactId>usecase-ui-server</artifactId> @@ -238,7 +238,21 @@ </exclusion> </exclusions> </dependency> - + <dependency> + <groupId>org.apache.poi</groupId> + <artifactId>poi</artifactId> + <version>4.0.1</version> + </dependency> + <dependency> + <groupId>org.apache.poi</groupId> + <artifactId>poi-ooxml</artifactId> + <version>4.0.1</version> + </dependency> + <dependency> + <groupId>org.apache.poi</groupId> + <artifactId>poi-ooxml-schemas</artifactId> + <version>4.0.1</version> + </dependency> </dependencies> <build> 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 bebc8121..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; @@ -1026,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/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/standalone/pom.xml b/standalone/pom.xml index e25eea93..40b7db12 100644 --- a/standalone/pom.xml +++ b/standalone/pom.xml @@ -19,7 +19,7 @@ <parent> <groupId>org.onap.usecase-ui.server</groupId> <artifactId>usecase-ui-server-parent</artifactId> - <version>13.0.0-SNAPSHOT</version> + <version>14.0.0-SNAPSHOT</version> </parent> <artifactId>usecase-ui-server-standalone</artifactId> @@ -28,7 +28,7 @@ <description>distribute binary files and docker image for usecase-ui server</description> <properties> - <usecaseui.version>13.0.0</usecaseui.version> + <usecaseui.version>14.0.0</usecaseui.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format> diff --git a/version.properties b/version.properties index 6b9af63e..9767ccac 100644 --- a/version.properties +++ b/version.properties @@ -2,7 +2,7 @@ # Note that these variables cannot be structured (e.g. : version.release or version.snapshot etc... ) # because they are used in Jenkins, whose plug-in doesn't support -major=13 +major=14 minor=0 patch=0 |