diff options
Diffstat (limited to 'ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java')
-rw-r--r-- | ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java | 89 |
1 files changed, 51 insertions, 38 deletions
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java index 5912929b..333690fe 100644 --- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java @@ -100,6 +100,7 @@ import org.onap.portalsdk.analytics.system.ConnectionUtils; import org.onap.portalsdk.analytics.system.DbUtils; import org.onap.portalsdk.analytics.system.Globals; import org.onap.portalsdk.analytics.util.AppConstants; +import org.onap.portalsdk.analytics.util.CachingUtils; import org.onap.portalsdk.analytics.util.DataSet; import org.onap.portalsdk.analytics.util.Utils; import org.onap.portalsdk.analytics.util.XSSFilter; @@ -151,10 +152,14 @@ public class RaptorControllerAsync extends RestrictedBaseController { HttpSession session = request.getSession(); User user = UserUtils.getUserSession(request); boolean isPageDownload = Boolean.valueOf(request.getParameter(AppConstants.PAGE_DOWNLOAD)); + boolean isGoBackAction = AppUtils.getRequestFlag(request, AppConstants.RI_GO_BACK); if ("report.download.excel2007.session".equals(actionKey) || "report.download.csv.session".equals(actionKey) || "report.download.excel.session".equals(actionKey) || "report.download.pdf.session".equals(actionKey)) { if (session != null && user != null) { + long currentTime = System.currentTimeMillis(); + request.setAttribute("triggeredStartTime", new Long(currentTime)); + ServletContext servletContext = request.getSession().getServletContext(); if (!Globals.isSystemInitialized()) { Globals.initializeSystem(servletContext); @@ -191,12 +196,21 @@ public class RaptorControllerAsync extends RestrictedBaseController { if (rd == null) rd = (ReportData) request.getSession().getAttribute(AppConstants.RI_REPORT_DATA); } + if(isGoBackAction) { + String reportID = AppUtils.getRequestValue(request, AppConstants.RI_REPORT_ID); + if(CachingUtils.isReportRuntimeAvailable(reportID)) { + rr = (ReportRuntime) CachingUtils.getSavedReportRuntime(reportID); + } + if(CachingUtils.isReportDataAvailable(reportID)) { + rd = (ReportData) CachingUtils.getSavedReportData(reportID); + } + } String userId = AppUtils.getUserID(request); int downloadLimit = 0; if (rr != null) - downloadLimit = (rr.getMaxRowsInExcelDownload() > 0) ? rr.getMaxRowsInExcelDownload() + downloadLimit = (rr.getMaxRowsInExcelDownload() > 0 && (rr.getMaxRowsInExcelDownload() < Globals.getDownloadLimit())) ? rr.getMaxRowsInExcelDownload() : Globals.getDownloadLimit(); - if ("report.csv.download".equals(actionKey)) + if ("report.download.csv.download".equals(actionKey)) downloadLimit = Globals.getCSVDownloadLimit(); final boolean isDashboard = (session.getAttribute(AppConstants.SI_DASHBOARD_REP_ID) != null) && @@ -210,16 +224,29 @@ public class RaptorControllerAsync extends RestrictedBaseController { try { OutputStreamWriter out = new OutputStreamWriter(response.getOutputStream()); + String formFields = ""; if(rr != null) rr.setSinglePageDownload(isPageDownload); if ("report.download.pdf.session".equals(actionKey)) { new PdfReportHandler().createPdfFileContent(request, response, 3); + long totalTime = System.currentTimeMillis() - currentTime; + rr.logReportExecutionTime(userId, String.valueOf(totalTime), AppConstants.RLA_DOWNLOAD_PDF, + formFields); } else if ("report.download.csv.session".equals(actionKey)) { (new ReportHandler()).createCSVFileContent(out, rd, rr, request, response); + long totalTime = System.currentTimeMillis() - currentTime; + rr.logReportExecutionTime(userId, String.valueOf(totalTime), AppConstants.RLA_DOWNLOAD_CSV, + formFields); } else if ("report.download.excel.session".equals(actionKey)) { - new ReportHandler().createExcelFileContent(out, rd, rr, request, response, userId, 3); + new ReportHandler().createExcelXlsContent(out, rd, rr, request, response, userId, 3); + long totalTime = System.currentTimeMillis() - currentTime; + rr.logReportExecutionTime(userId, String.valueOf(totalTime), AppConstants.RLA_DOWNLOAD_EXCEL, + formFields); } else { new ReportHandler().createExcel2007FileContent(out, rd, rr, request, response, userId, 3); + long totalTime = System.currentTimeMillis() - currentTime; + rr.logReportExecutionTime(userId, String.valueOf(totalTime), AppConstants.RLA_DOWNLOAD_EXCELX, + formFields); } } catch (Exception e) { logger.error(EELFLoggerDelegate.errorLogger, @@ -1893,30 +1920,18 @@ public class RaptorControllerAsync extends RestrictedBaseController { @PostMapping(value = "save_chart") public void reportChartReceive(@RequestBody ChartJSON chartJSON, HttpServletRequest request, HttpServletResponse response) { - //ReportRuntime reportRuntime; - //reportRuntime = (ReportRuntime) request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME); // changing ReportDefinition reportDefn; + String action = request.getParameter("action"); reportDefn = (ReportDefinition) request.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION); // session - // to - // request - String reportID = request.getParameter("c_master"); - /* if (reportRuntime == null && AppUtils.nvl(reportID).length() > 0) { - try { - ReportHandler rh = new ReportHandler(); - reportRuntime = rh.loadReportRuntime(request, reportID); - } catch (RaptorException ex) { - logger.error(EELFLoggerDelegate.errorLogger, - "[Controller.processRequest]Invalid raptor action [reportChartReceive].", ex); - } - }*/ + String reportID = request.getParameter("c_master"); if (reportDefn != null) { String chartType = chartJSON.getChartType(); - reportDefn.setChartType(chartJSON.getChartType()); - reportDefn.setChartAnimate(chartJSON.isAnimation()); - reportDefn.setChartWidth(chartJSON.getWidth()); - reportDefn.setChartHeight(chartJSON.getHeight()); - reportDefn.setShowChartTitle(chartJSON.isShowTitle()); + reportDefn.setChartType((action.equalsIgnoreCase("save"))? chartJSON.getChartType() : "none"); + reportDefn.setChartAnimate((action.equalsIgnoreCase("save")) ? chartJSON.isAnimation() : false); + reportDefn.setChartWidth((action.equalsIgnoreCase("save")) ? chartJSON.getWidth() : ""); + reportDefn.setChartHeight((action.equalsIgnoreCase("save")) ? chartJSON.getHeight() : ""); + reportDefn.setShowChartTitle((action.equalsIgnoreCase("save")) ? chartJSON.isShowTitle() : false); String domainAxis = null; domainAxis = chartJSON.getDomainAxis(); @@ -1966,7 +1981,7 @@ public class RaptorControllerAsync extends RestrictedBaseController { DataColumnType dct = iterator.next(); if (dct.getColId().equals(rangeAxis)) { if(removeRangeAxisMap.contains(rangeAxis)) - dct.setChartSeq(-1); // if we set it to -1, means this range axis will not be included + dct.setChartSeq(-1); else dct.setChartSeq(++r); @@ -1975,8 +1990,8 @@ public class RaptorControllerAsync extends RestrictedBaseController { }else{ dct.setChartSeq(-1); } - dct.setYAxis(rangeYAxis); // +"|"+dct.getColId()); - dct.setChartGroup(rangeChartGroup); // +"|"+dct.getColId()); + dct.setYAxis(rangeYAxis); + dct.setChartGroup(rangeChartGroup); dct.setChartColor(rangeColor); dct.setChartLineType(rangeLineType); @@ -1993,11 +2008,11 @@ public class RaptorControllerAsync extends RestrictedBaseController { } } - reportDefn.setChartLeftAxisLabel(chartJSON.getPrimaryAxisLabel()); - reportDefn.setChartRightAxisLabel(chartJSON.getSecondaryAxisLabel()); + reportDefn.setChartLeftAxisLabel((action.equalsIgnoreCase("save")) ? chartJSON.getPrimaryAxisLabel() : ""); + reportDefn.setChartRightAxisLabel((action.equalsIgnoreCase("save")) ? chartJSON.getSecondaryAxisLabel() : ""); - reportDefn.setRangeAxisLowerLimit(chartJSON.getMinRange()); - reportDefn.setRangeAxisUpperLimit(chartJSON.getMaxRange()); + reportDefn.setRangeAxisLowerLimit((action.equalsIgnoreCase("save")) ? chartJSON.getMinRange() : ""); + reportDefn.setRangeAxisUpperLimit((action.equalsIgnoreCase("save")) ? chartJSON.getMaxRange() : ""); if (chartType.equals(AppConstants.GT_ANNOTATION_CHART) || chartType.equals(AppConstants.GT_FLEX_TIME_CHARTS)) { @@ -2032,15 +2047,15 @@ public class RaptorControllerAsync extends RestrictedBaseController { } } - reportDefn.setLegendLabelAngle(chartJSON.getCommonChartOptions().getLegendLabelAngle()); - reportDefn.setLegendPosition(chartJSON.getCommonChartOptions().getLegendPosition()); + reportDefn.setLegendLabelAngle((action.equalsIgnoreCase("save")) ? chartJSON.getCommonChartOptions().getLegendLabelAngle() : ""); + reportDefn.setLegendPosition((action.equalsIgnoreCase("save")) ? chartJSON.getCommonChartOptions().getLegendPosition() : ""); reportDefn.setChartLegendDisplay(chartJSON.getCommonChartOptions().isHideLegend() ? "Y" : "N"); - reportDefn.setAnimateAnimatedChart(chartJSON.getCommonChartOptions().isAnimateAnimatedChart()); + reportDefn.setAnimateAnimatedChart((action.equalsIgnoreCase("save")) ? chartJSON.getCommonChartOptions().isAnimateAnimatedChart() : false); - reportDefn.setTopMargin(chartJSON.getCommonChartOptions().getTopMargin()); - reportDefn.setBottomMargin(chartJSON.getCommonChartOptions().getBottomMargin()); - reportDefn.setLeftMargin(chartJSON.getCommonChartOptions().getLeftMargin()); - reportDefn.setRightMargin(chartJSON.getCommonChartOptions().getRightMargin()); + reportDefn.setTopMargin((action.equalsIgnoreCase("save")) ? chartJSON.getCommonChartOptions().getTopMargin() : 0); + reportDefn.setBottomMargin((action.equalsIgnoreCase("save")) ? chartJSON.getCommonChartOptions().getBottomMargin() : 0); + reportDefn.setLeftMargin((action.equalsIgnoreCase("save")) ? chartJSON.getCommonChartOptions().getLeftMargin(): 0); + reportDefn.setRightMargin((action.equalsIgnoreCase("save")) ? chartJSON.getCommonChartOptions().getRightMargin(): 0); for (Iterator<DataColumnType> iterator = reportCols.iterator(); iterator.hasNext();) { DataColumnType dct = iterator.next(); @@ -2056,8 +2071,6 @@ public class RaptorControllerAsync extends RestrictedBaseController { } try { - //reportRuntime.persistLinearReport(request); - //reportRuntime.persistReport(request); persistReportDefinition(request, reportDefn); } catch (Exception ex) { logger.error(EELFLoggerDelegate.errorLogger, |