diff options
Diffstat (limited to 'ecomp-sdk/epsdk-analytics')
2 files changed, 214 insertions, 283 deletions
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/controller/ActionHandler.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/controller/ActionHandler.java index 1eea72e1..d6ae3e2d 100644 --- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/controller/ActionHandler.java +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/controller/ActionHandler.java @@ -140,6 +140,13 @@ public class ActionHandler extends org.onap.portalsdk.analytics.RaptorObject { private static final String PARENT = "parent_"; private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(ActionHandler.class); + private static final String REPORT_DOWNLOAD_PDF = "report.download.pdf"; + private static final String REPORT_TEXT_DOWNLOAD = "report.text.download"; + private static final String REPORT_CSV_DOWNLOAD = "report.csv.download"; + private static final String REPORT_DOWNLOAD_EXCEL2007 = "report.download.excel2007"; + private static final String REPORT_DOWNLOAD = "report.download"; + private static final String REPORT_DOWNLOAD_PAGE = "report.download.page"; + private void preserveReportRuntimeAsBackup(HttpServletRequest request) { HttpSession session = request.getSession(); ArrayList repAl = null; @@ -188,6 +195,13 @@ public class ActionHandler extends org.onap.portalsdk.analytics.RaptorObject { return false; } + private boolean isReportActionKey(String actionKey) + { + return REPORT_DOWNLOAD_PAGE.equals(actionKey) || REPORT_DOWNLOAD.equals(actionKey) || + REPORT_DOWNLOAD_PDF.equals(actionKey) || REPORT_DOWNLOAD_EXCEL2007.equals(actionKey) || + REPORT_CSV_DOWNLOAD.equals(actionKey) || REPORT_TEXT_DOWNLOAD.equals(actionKey); + } + public String reportRun(HttpServletRequest request, String nextPage) { String action = nvl(request.getParameter(AppConstants.RI_ACTION), request.getParameter("action")); ReportRuntime rr = null; @@ -224,18 +238,18 @@ public class ActionHandler extends org.onap.portalsdk.analytics.RaptorObject { parentFlag = 1; } - if (pdfAttachmentKey.length()<=0) { - if(actionKey.equals("report.download.page") || actionKey.equals("report.download") || actionKey.equals("report.download.pdf") || actionKey.equals("report.download.excel2007") || actionKey.equals("report.csv.download") || actionKey.equals("report.text.download")) { - if(parentFlag == 1) rr = (ReportRuntime) request.getSession().getAttribute(parent+"_rr"); + if((pdfAttachmentKey.length()<=0) && isReportActionKey(actionKey)) { + if(parentFlag == 1) + rr = (ReportRuntime) request.getSession().getAttribute(parent+"_rr"); if(rr==null) - rr = (ReportRuntime) request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME); //changing session to request + rr = (ReportRuntime) request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME); //changing session to request if(!(rr!=null && fromDashboard)) { userId = AppUtils.getUserID(request); boolean isFromReportLog = AppUtils.getRequestFlag(request, "fromReportLog"); int downloadLimit = 0; if(rr!=null) downloadLimit = (rr.getMaxRowsInExcelDownload()>0)?rr.getMaxRowsInExcelDownload():Globals.getDownloadLimit(); - if(actionKey.equals("report.csv.download")) + if(REPORT_CSV_DOWNLOAD.equals(actionKey)) downloadLimit = Globals.getCSVDownloadLimit(); if(rr!=null && rr.getReportType().equals(AppConstants.RT_LINEAR)) { @@ -247,25 +261,25 @@ public class ActionHandler extends org.onap.portalsdk.analytics.RaptorObject { } if(!isFromReportLog) { if(pdfAttachmentKey!=null && pdfAttachmentKey.length()>0) { - if(actionKey.equals("report.download")) { + if(REPORT_DOWNLOAD.equals(actionKey)) { rr.logReportExecutionTime(userId, "",AppConstants.RLA_SCHEDULED_DOWNLOAD_EXCEL, formFields); - } else if (actionKey.equals("report.download.pdf")) { + } else if (REPORT_DOWNLOAD_PDF.equals(actionKey)) { rr.logReportExecutionTime(userId, "",AppConstants.RLA_SCHEDULED_DOWNLOAD_PDF, formFields); - } else if (actionKey.equals("report.download.excel2007")) { + } else if (REPORT_DOWNLOAD_EXCEL2007.equals(actionKey)) { rr.logReportExecutionTime(userId, "",AppConstants.RLA_SCHEDULED_DOWNLOAD_EXCELX, formFields); } } else { - if(actionKey.equals("report.download") ) { + if(REPORT_DOWNLOAD.equals(actionKey) ) { rr.logReportExecutionTime(userId, "",AppConstants.RLA_DOWNLOAD_EXCEL, formFields); - } else if (actionKey.equals("report.download.pdf")) { + } else if (REPORT_DOWNLOAD_PDF.equals(actionKey)) { rr.logReportExecutionTime(userId, "",AppConstants.RLA_DOWNLOAD_PDF, formFields); - } else if (actionKey.equals("report.csv.download")) { + } else if (REPORT_CSV_DOWNLOAD.equals(actionKey)) { rr.logReportExecutionTime(userId, "",AppConstants.RLA_DOWNLOAD_CSV, formFields); - } else if (actionKey.equals("report.text.download")) { + } else if (REPORT_TEXT_DOWNLOAD.equals(actionKey)) { rr.logReportExecutionTime(userId, "",AppConstants.RLA_DOWNLOAD_TEXT, formFields); - } else if (actionKey.equals("report.download.page")) { + } else if (REPORT_DOWNLOAD_PAGE.equals(actionKey)) { rr.logReportExecutionTime(userId, "",AppConstants.RLA_DOWNLOAD_PAGE_EXCEL, formFields); - } else if (actionKey.equals("report.download.excel2007")) { + } else if (REPORT_DOWNLOAD_EXCEL2007.equals(actionKey)) { rr.logReportExecutionTime(userId, "",AppConstants.RLA_DOWNLOAD_EXCELX, formFields); } } @@ -273,43 +287,29 @@ public class ActionHandler extends org.onap.portalsdk.analytics.RaptorObject { return nextPage; } - } + }// pdfAttachmentKey String reportID = AppUtils.getRequestValue(request, AppConstants.RI_REPORT_ID); rr = (ReportRuntime) request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME); //changing session to request String reportIDFromSession = (rr!=null)?rr.getReportID():""; logger.debug(EELFLoggerDelegate.debugLogger, ("in Action Handler ********** " + reportID + " " + reportIDFromSession + " "+ actionKey)); -// ReportRuntime rr = (ReportRuntime) request.getAttribute(AppConstants.SI_REPORT_RUNTIME); + logger.debug(EELFLoggerDelegate.debugLogger, ("^^^^^^^^^^^^^^report ID from session " + ((rr!=null)?rr.getReportID():"no report id in session"))); - // if(rr!=null && !(rr.getReportID().equals(reportID))) { -// rr = null; -// request.getSession().setAttribute(AppConstants.SI_REPORT_RUNTIME, null); -// } + ReportHandler rh1 = new ReportHandler(); ReportRuntime rr1 = null; - - //debugLogger.debug("Report ID B4 rr1 in ActionHandler " - // + ( request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)!=null?((ReportRuntime)request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).getReportID():"Not in session")); - - //try { boolean isGoBackAction = AppUtils.getRequestFlag(request, AppConstants.RI_GO_BACK); if (AppUtils.getRequestFlag(request, AppConstants.RI_SHOW_BACK_BTN) && !isGoBackAction) { - // debugLogger.debug("Preserving report"); if(!reportID.equals(reportIDFromSession)) preserveReportRuntimeAsBackup(request); } if(reportID !=null) rr1 = rh1.loadReportRuntime(request, reportID, true, 1); - //} catch(Exception e) { - - // } -// debugLogger.debug("Report ID After rr1 in ActionHandler " -// + ( request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)!=null?((ReportRuntime)request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).getReportID():"Not in session")); if(rr1!=null && rr1.getReportType().equals(AppConstants.RT_DASHBOARD)) { int DASH=7; int requestFlag = DASH; @@ -319,12 +319,9 @@ public class ActionHandler extends org.onap.portalsdk.analytics.RaptorObject { //rr = null; // get dashboard HTML from report runtime. getListOfReportsFromDashBoardHTML String strHTML = rr1.getDashboardLayoutHTML(); - - //System.out.println("StrHTML " + strHTML); - // call getListOfReportsFromDashBoardHTML returns HashMap - + TreeMap treeMap = getListOfReportsFromDashBoardHTML(strHTML); - //System.out.println("Size " + hashMap.size()); + Set set = treeMap.entrySet(); String value = ""; @@ -337,7 +334,6 @@ public class ActionHandler extends org.onap.portalsdk.analytics.RaptorObject { userId = null; userId = AppUtils.getUserID(request); int pageNo = -1; - //int downloadLimit = (rr1.getMaxRowsInExcelDownload()>0)?rr1.getMaxRowsInExcelDownload():Globals.getDownloadLimit(); int downloadLimit = 0; int rep_idx = 0; int widthFlag = 0; @@ -354,8 +350,6 @@ public class ActionHandler extends org.onap.portalsdk.analytics.RaptorObject { for(Iterator iter = set.iterator(); iter.hasNext(); ) { record++; Map.Entry entry = (Entry) iter.next(); - //System.out.println("Key "+ entry.getKey()); - //System.out.println("Value "+ entry.getValue()); reportIDFromMap = entry.getValue().toString().substring(1); // The below line is used to optimize, so that if there is already same report id it wouldn't go through the whole process similiarReportRuntime = getSimiliarReportRuntime(reportsRuntimeMap, reportIDFromMap); @@ -403,11 +397,6 @@ public class ActionHandler extends org.onap.portalsdk.analytics.RaptorObject { rrDashboardReports.logReportExecutionTime(userId, String.valueOf(totalTime),AppConstants.RLA_EXECUTION_TIME, formFields); } - /*reportsRuntimeMap.put(new Integer(entry.getKey().toString()), rrDashboardReports); - reportDataMap.put(new Integer(entry.getKey().toString()), rd); - reportChartDataMap.put(new Integer(entry.getKey().toString()), ds); - reportDisplayTypeMap.put(new Integer(entry.getKey().toString()), entry.getValue().toString().substring(0,1));*/ - reportsRuntimeMap.put(new Integer(entry.getKey().toString())+"_"+rrDashboardReports.getReportID(), rrDashboardReports); reportDisplayTypeMap.put(new Integer(entry.getKey().toString())+"_"+rrDashboardReports.getReportID(), entry.getValue().toString().substring(0,1)); if(buildReportdata) { @@ -416,21 +405,16 @@ public class ActionHandler extends org.onap.portalsdk.analytics.RaptorObject { } } - - /*if(widthFlag ==1) request.getSession().setAttribute("extendedWidth", "Y"); - else request.getSession().removeAttribute("extendedWidth"); - if(heightFlag ==1) request.getSession().setAttribute("extendedHeight", "Y"); - else request.getSession().removeAttribute("extendedHeight"); - */ + request.getSession().setAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP, new TreeMap(reportsRuntimeMap)); request.getSession().setAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP, new TreeMap(reportDisplayTypeMap)); if(buildReportdata) { request.getSession().setAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP, new TreeMap(reportDataMap)); request.getSession().setAttribute(AppConstants.SI_DASHBOARD_CHARTDATA_MAP, new TreeMap(reportChartDataMap)); } -// debugLogger.debug("I am inside this if " + rr1.getReportType() + " "+rr1.getReportID()); + request.getSession().setAttribute(AppConstants.SI_REPORT_RUNTIME, rr1); //changing session to request - //request.setAttribute(AppConstants.SI_REPORT_RUNTIME, rr1); + if((String) request.getSession().getAttribute(AppConstants.SI_DASHBOARD_REP_ID)!= null || rr1.getReportType().equals(AppConstants.RT_DASHBOARD)) { request.getSession().setAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME, rr1); } @@ -704,16 +688,6 @@ public class ActionHandler extends org.onap.portalsdk.analytics.RaptorObject { String sql_whole = rr.getReportSQL(); request.setAttribute(AppConstants.RI_REPORT_SQL_WHOLE, sql_whole); } - //} - //request.setAttribute(AppConstants.RI_REPORT_DATA_WHOLE, rd_whole); - // if(rr.getReportDataSize() > Globals.getFlatFileLowerLimit() && rr.getReportDataSize() <= Globals.getFlatFileUpperLimit() ) { - // rr.setFlatFileName(rh.saveFlatFile(request, rd, rr - // .getParamNameValuePairs(), rr.getReportName(), rr.getReportDescr())); - // } - //if(actionKey!=null && actionKey.equals("report.download")) { -// rr.setExcelPageFileName(rh.saveAsExcelFile(request, rd, rr -// .getParamNameValuePairs(), rr.getReportName(), rr.getReportDescr())); - //} if (!rr.getReportType().equals(AppConstants.RT_HIVE)) { long currentChartTime = System.currentTimeMillis(); DataSet chartDS = rr.loadChartData(userId,request); @@ -723,11 +697,6 @@ public class ActionHandler extends org.onap.portalsdk.analytics.RaptorObject { request.getSession().removeAttribute(AppConstants.RI_CHART_DATA); logger.debug(EELFLoggerDelegate.debugLogger, ("[DEBUG MESSAGE FROM RAPTOR] ------->Time Taken for the loading chart data --- " + (System.currentTimeMillis() - currentChartTime))); } - -/* if((String) request.getSession().getAttribute(AppConstants.SI_DASHBOARD_REP_ID)!=null) { - request.getSession().setAttribute("FirstDashReport", rr); - } -*/ } request.getSession().setAttribute(AppConstants.SI_REPORT_RUNTIME, rr); //changing session to request request.getSession().setAttribute(AppConstants.RI_REPORT_DATA, rd); @@ -740,19 +709,19 @@ public class ActionHandler extends org.onap.portalsdk.analytics.RaptorObject { boolean isFromReportLog = AppUtils.getRequestFlag(request, "fromReportLog"); if(!isFromReportLog) { if(pdfAttachmentKey!=null && pdfAttachmentKey.length()>0) { - if(actionKey.equals("report.download")) { + if(actionKey.equals(REPORT_DOWNLOAD)) { rr.logReportExecutionTime(userId, String.valueOf(totalTime),AppConstants.RLA_SCHEDULED_DOWNLOAD_EXCEL, formFields); - } else if (actionKey.equals("report.download.pdf")) { + } else if (actionKey.equals(REPORT_DOWNLOAD_PDF)) { rr.logReportExecutionTime(userId, String.valueOf(totalTime),AppConstants.RLA_SCHEDULED_DOWNLOAD_PDF, formFields); } } else { - if(actionKey.equals("report.download") ) { + if(actionKey.equals(REPORT_DOWNLOAD) ) { rr.logReportExecutionTime(userId, String.valueOf(totalTime),AppConstants.RLA_DOWNLOAD_EXCEL, formFields); - } else if (actionKey.equals("report.download.pdf")) { + } else if (actionKey.equals(REPORT_DOWNLOAD_PDF)) { rr.logReportExecutionTime(userId, String.valueOf(totalTime),AppConstants.RLA_DOWNLOAD_PDF, formFields); - } else if (actionKey.equals("report.csv.download")) { + } else if (actionKey.equals(REPORT_CSV_DOWNLOAD)) { rr.logReportExecutionTime(userId, String.valueOf(totalTime),AppConstants.RLA_DOWNLOAD_CSV, formFields); - } else if (actionKey.equals("report.text.download")) { + } else if (actionKey.equals(REPORT_TEXT_DOWNLOAD)) { rr.logReportExecutionTime(userId, String.valueOf(totalTime),AppConstants.RLA_DOWNLOAD_TEXT, formFields); } else { diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ChartJSONHelper.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ChartJSONHelper.java index 0e36dd0f..29cbca18 100644 --- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ChartJSONHelper.java +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ChartJSONHelper.java @@ -80,10 +80,10 @@ public class ChartJSONHelper { private ReportRuntime reportRuntime; private String chartType; - public static final long HOUR = 3600*1000; - public static final long DAY = 3600*1000*24; - public static final long MONTH = 3600*1000*24*31; - public static final long YEAR = 3600*1000*24*365; + public static final long HOUR = 3600L * 1000L; + public static final long DAY = 3600L * 1000L * 24L; + public static final long MONTH = 3600L * 1000L * 24L * 31L; + public static final long YEAR = 3600L * 1000L * 24L * 365L; public ChartJSONHelper() { @@ -108,138 +108,191 @@ public class ChartJSONHelper { this.reportRuntime = rr; } - public String generateJSON(String reportID, HttpServletRequest request, boolean showData) throws RaptorException { - //From annotations chart - clearReportRuntimeBackup(request); - - //HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest(); - final Long user_id = new Long((long) UserUtils.getUserId(request)); - //String action = request.getParameter(AppConstants.RI_ACTION); - //String reportID = AppUtils.getRequestValue(request, AppConstants.RI_REPORT_ID); + public String generateJSON(String reportID, HttpServletRequest request, boolean showData) + throws RaptorException { + // From annotations chart + clearReportRuntimeBackup(request); - ReportHandler rh = new ReportHandler(); - //ReportData reportData = null; - HashMap<String, String> chartOptionsMap = new HashMap<String, String>(); - try { - if(reportID !=null) { - reportRuntime = rh.loadReportRuntime(request, reportID, true, 1); - setChartType(reportRuntime.getChartType()); - //reportData = reportRuntime.loadReportData(0, user_id.toString(), 10000,request, false); - } - - - - String rotateLabelsStr = ""; - rotateLabelsStr = AppUtils.nvl(reportRuntime.getLegendLabelAngle()); - if(rotateLabelsStr.toLowerCase().equals("standard")) { - rotateLabelsStr = "0"; - } else if (rotateLabelsStr.toLowerCase().equals("up45")) { - rotateLabelsStr = "45"; - } else if (rotateLabelsStr.toLowerCase().equals("down45")) { - rotateLabelsStr = "-45"; - } else if (rotateLabelsStr.toLowerCase().equals("up90")) { - rotateLabelsStr = "90"; - } else if (rotateLabelsStr.toLowerCase().equals("down90")) { - rotateLabelsStr = "-90"; - } else - rotateLabelsStr = "0"; - - String width = (AppUtils.getRequestNvlValue(request, "width").length()>0?AppUtils.getRequestNvlValue(request, "width"):(AppUtils.nvl(reportRuntime.getChartWidth()).length()>0?reportRuntime.getChartWidth():"700")); - String height = (AppUtils.getRequestNvlValue(request, "height").length()>0?AppUtils.getRequestNvlValue(request, "height"):(AppUtils.nvl(reportRuntime.getChartHeight()).length()>0?reportRuntime.getChartHeight():"300")); - String animationStr = (AppUtils.getRequestNvlValue(request, "animation").length()>0?AppUtils.getRequestNvlValue(request, "animation"):new Boolean(reportRuntime.isAnimateAnimatedChart()).toString()); - - String rotateLabels = (AppUtils.getRequestNvlValue(request, "rotateLabels").length()>0?AppUtils.getRequestNvlValue(request, "rotateLabels"):(rotateLabelsStr.length()>0?rotateLabelsStr:"0")); - String staggerLabelsStr = (AppUtils.getRequestNvlValue(request, "staggerLabels").length()>0?AppUtils.getRequestNvlValue(request, "staggerLabels"):"false"); - String showMaxMinStr = (AppUtils.getRequestNvlValue(request, "showMaxMin").length()>0?AppUtils.getRequestNvlValue(request, "showMaxMin"):"false"); - String showControlsStr = (AppUtils.getRequestNvlValue(request, "showControls").length()>0?AppUtils.getRequestNvlValue(request, "showControls"):new Boolean(reportRuntime.displayBarControls()).toString()); - String showLegendStr = (AppUtils.getRequestNvlValue(request, "showLegend").length()>0?AppUtils.getRequestNvlValue(request, "showLegend"):new Boolean(!new Boolean(reportRuntime.hideChartLegend())).toString()); - String topMarginStr = AppUtils.getRequestNvlValue(request, "topMargin"); - String topMargin = (AppUtils.nvl(topMarginStr).length()<=0)?(reportRuntime.getTopMargin()!=null?reportRuntime.getTopMargin().toString():"30"):topMarginStr; - String bottomMarginStr = AppUtils.getRequestNvlValue(request, "bottomMargin"); - String bottomMargin = (AppUtils.nvl(bottomMarginStr).length()<=0)?(reportRuntime.getBottomMargin()!=null?reportRuntime.getBottomMargin().toString():"50"):bottomMarginStr; - String leftMarginStr = AppUtils.getRequestNvlValue(request, "leftMargin"); - String leftMargin = (AppUtils.nvl(leftMarginStr).length()<=0)?(reportRuntime.getLeftMargin()!=null?reportRuntime.getLeftMargin().toString():"100"):leftMarginStr; - String rightMarginStr = AppUtils.getRequestNvlValue(request, "rightMargin"); - String rightMargin = (AppUtils.nvl(rightMarginStr).length()<=0)?(reportRuntime.getRightMargin()!=null?reportRuntime.getRightMargin().toString():"160"):rightMarginStr; - String showTitleStr = (AppUtils.getRequestNvlValue(request, "showTitle").length()>0?AppUtils.getRequestNvlValue(request, "showTitle"):new Boolean(reportRuntime.displayChartTitle()).toString()); - String subType = AppUtils.getRequestNvlValue(request, "subType").length()>0?AppUtils.getRequestNvlValue(request, "subType"):(AppUtils.nvl(reportRuntime.getTimeSeriesRender()).equals("area")?reportRuntime.getTimeSeriesRender():""); - String stackedStr = AppUtils.getRequestNvlValue(request, "stacked").length()>0?AppUtils.getRequestNvlValue(request, "stacked"):new Boolean(reportRuntime.isChartStacked()).toString(); - String horizontalBar = AppUtils.getRequestNvlValue(request, "horizontalBar").length()>0?AppUtils.getRequestNvlValue(request, "horizontalBar"):new Boolean(reportRuntime.isHorizontalOrientation()).toString(); - String barRealTimeAxis = AppUtils.getRequestNvlValue(request, "barRealTimeAxis"); - String barReduceXAxisLabels = AppUtils.getRequestNvlValue(request, "barReduceXAxisLabels").length()>0?AppUtils.getRequestNvlValue(request, "barReduceXAxisLabels"):new Boolean(reportRuntime.isLessXaxisTickers()).toString();; - String timeAxis = AppUtils.getRequestNvlValue(request, "timeAxis").length()>0?AppUtils.getRequestNvlValue(request, "timeAxis"):new Boolean(reportRuntime.isTimeAxis()).toString(); - String logScale = AppUtils.getRequestNvlValue(request, "logScale").length()>0?AppUtils.getRequestNvlValue(request, "logScale"):new Boolean(reportRuntime.isLogScale()).toString(); - String precision = AppUtils.getRequestNvlValue(request, "precision").length()>0?AppUtils.getRequestNvlValue(request, "precision"):"2"; - + ReportHandler rh = new ReportHandler(); - chartOptionsMap.put("width", width); - chartOptionsMap.put("height", height); - chartOptionsMap.put("animation", animationStr); - chartOptionsMap.put("rotateLabels", rotateLabels); - chartOptionsMap.put("staggerLabels", staggerLabelsStr); - chartOptionsMap.put("showMaxMin", showMaxMinStr); - chartOptionsMap.put("showControls", showControlsStr); - chartOptionsMap.put("showLegend", showLegendStr); - chartOptionsMap.put("topMargin", topMargin); - chartOptionsMap.put("bottomMargin", bottomMargin); - chartOptionsMap.put("leftMargin", leftMargin); - chartOptionsMap.put("rightMargin", rightMargin); - chartOptionsMap.put("showTitle", showTitleStr); - chartOptionsMap.put("subType", subType); - chartOptionsMap.put("stacked", stackedStr); - chartOptionsMap.put("horizontalBar", horizontalBar); - chartOptionsMap.put("timeAxis", timeAxis); - chartOptionsMap.put("barRealTimeAxis", barRealTimeAxis); - chartOptionsMap.put("barReduceXAxisLabels", barReduceXAxisLabels); - - chartOptionsMap.put("logScale", logScale); - chartOptionsMap.put("precision", precision); - - - } catch (RaptorException ex) { - ex.printStackTrace(); - } - return generateJSON(reportRuntime, chartOptionsMap, request, showData); - } + HashMap<String, String> chartOptionsMap = new HashMap<>(); + + try { + if (reportID != null) { + reportRuntime = rh.loadReportRuntime(request, reportID, true, 1); + setChartType(reportRuntime.getChartType()); + } + + String rotateLabelsStr = ""; + rotateLabelsStr = AppUtils.nvl(reportRuntime.getLegendLabelAngle()); + if (rotateLabelsStr.equalsIgnoreCase("standard")) { + rotateLabelsStr = "0"; + } else if (rotateLabelsStr.equalsIgnoreCase("up45")) { + rotateLabelsStr = "45"; + } else if (rotateLabelsStr.equalsIgnoreCase("down45")) { + rotateLabelsStr = "-45"; + } else if (rotateLabelsStr.equalsIgnoreCase("up90")) { + rotateLabelsStr = "90"; + } else if (rotateLabelsStr.equalsIgnoreCase("down90")) { + rotateLabelsStr = "-90"; + } else + rotateLabelsStr = "0"; + + String width = (AppUtils.getRequestNvlValue(request, "width").length() > 0 + ? AppUtils.getRequestNvlValue(request, "width") + : (AppUtils.nvl(reportRuntime.getChartWidth()).length() > 0 + ? reportRuntime.getChartWidth() + : "700")); + String height = (AppUtils.getRequestNvlValue(request, "height").length() > 0 + ? AppUtils.getRequestNvlValue(request, "height") + : (AppUtils.nvl(reportRuntime.getChartHeight()).length() > 0 + ? reportRuntime.getChartHeight() + : "300")); + String animationStr = (AppUtils.getRequestNvlValue(request, "animation").length() > 0 + ? AppUtils.getRequestNvlValue(request, "animation") + : new Boolean(reportRuntime.isAnimateAnimatedChart()).toString()); + + String rotateLabels = (AppUtils.getRequestNvlValue(request, "rotateLabels").length() > 0 + ? AppUtils.getRequestNvlValue(request, "rotateLabels") + : (rotateLabelsStr.length() > 0 ? rotateLabelsStr : "0")); + String staggerLabelsStr = + (AppUtils.getRequestNvlValue(request, "staggerLabels").length() > 0 + ? AppUtils.getRequestNvlValue(request, "staggerLabels") + : "false"); + String showMaxMinStr = (AppUtils.getRequestNvlValue(request, "showMaxMin").length() > 0 + ? AppUtils.getRequestNvlValue(request, "showMaxMin") + : "false"); + String showControlsStr = + (AppUtils.getRequestNvlValue(request, "showControls").length() > 0 + ? AppUtils.getRequestNvlValue(request, "showControls") + : new Boolean(reportRuntime.displayBarControls()).toString()); + String showLegendStr = (AppUtils.getRequestNvlValue(request, "showLegend").length() > 0 + ? AppUtils.getRequestNvlValue(request, "showLegend") + : new Boolean(!new Boolean(reportRuntime.hideChartLegend())).toString()); + String topMarginStr = AppUtils.getRequestNvlValue(request, "topMargin"); + String topMargin = (AppUtils.nvl(topMarginStr).length() <= 0) + ? (reportRuntime.getTopMargin() != null + ? reportRuntime.getTopMargin().toString() + : "30") + : topMarginStr; + String bottomMarginStr = AppUtils.getRequestNvlValue(request, "bottomMargin"); + String bottomMargin = (AppUtils.nvl(bottomMarginStr).length() <= 0) + ? (reportRuntime.getBottomMargin() != null + ? reportRuntime.getBottomMargin().toString() + : "50") + : bottomMarginStr; + String leftMarginStr = AppUtils.getRequestNvlValue(request, "leftMargin"); + String leftMargin = (AppUtils.nvl(leftMarginStr).length() <= 0) + ? (reportRuntime.getLeftMargin() != null + ? reportRuntime.getLeftMargin().toString() + : "100") + : leftMarginStr; + String rightMarginStr = AppUtils.getRequestNvlValue(request, "rightMargin"); + String rightMargin = (AppUtils.nvl(rightMarginStr).length() <= 0) + ? (reportRuntime.getRightMargin() != null + ? reportRuntime.getRightMargin().toString() + : "160") + : rightMarginStr; + String showTitleStr = (AppUtils.getRequestNvlValue(request, "showTitle").length() > 0 + ? AppUtils.getRequestNvlValue(request, "showTitle") + : new Boolean(reportRuntime.displayChartTitle()).toString()); + String subType = AppUtils.getRequestNvlValue(request, "subType").length() > 0 + ? AppUtils.getRequestNvlValue(request, "subType") + : (AppUtils.nvl(reportRuntime.getTimeSeriesRender()).equals("area") + ? reportRuntime.getTimeSeriesRender() + : ""); + String stackedStr = AppUtils.getRequestNvlValue(request, "stacked").length() > 0 + ? AppUtils.getRequestNvlValue(request, "stacked") + : new Boolean(reportRuntime.isChartStacked()).toString(); + String horizontalBar = + AppUtils.getRequestNvlValue(request, "horizontalBar").length() > 0 + ? AppUtils.getRequestNvlValue(request, "horizontalBar") + : new Boolean(reportRuntime.isHorizontalOrientation()).toString(); + String barRealTimeAxis = AppUtils.getRequestNvlValue(request, "barRealTimeAxis"); + String barReduceXAxisLabels = + AppUtils.getRequestNvlValue(request, "barReduceXAxisLabels").length() > 0 + ? AppUtils.getRequestNvlValue(request, "barReduceXAxisLabels") + : new Boolean(reportRuntime.isLessXaxisTickers()).toString();; + String timeAxis = AppUtils.getRequestNvlValue(request, "timeAxis").length() > 0 + ? AppUtils.getRequestNvlValue(request, "timeAxis") + : new Boolean(reportRuntime.isTimeAxis()).toString(); + String logScale = AppUtils.getRequestNvlValue(request, "logScale").length() > 0 + ? AppUtils.getRequestNvlValue(request, "logScale") + : new Boolean(reportRuntime.isLogScale()).toString(); + String precision = AppUtils.getRequestNvlValue(request, "precision").length() > 0 + ? AppUtils.getRequestNvlValue(request, "precision") + : "2"; + + + chartOptionsMap.put("width", width); + chartOptionsMap.put("height", height); + chartOptionsMap.put("animation", animationStr); + chartOptionsMap.put("rotateLabels", rotateLabels); + chartOptionsMap.put("staggerLabels", staggerLabelsStr); + chartOptionsMap.put("showMaxMin", showMaxMinStr); + chartOptionsMap.put("showControls", showControlsStr); + chartOptionsMap.put("showLegend", showLegendStr); + chartOptionsMap.put("topMargin", topMargin); + chartOptionsMap.put("bottomMargin", bottomMargin); + chartOptionsMap.put("leftMargin", leftMargin); + chartOptionsMap.put("rightMargin", rightMargin); + chartOptionsMap.put("showTitle", showTitleStr); + chartOptionsMap.put("subType", subType); + chartOptionsMap.put("stacked", stackedStr); + chartOptionsMap.put("horizontalBar", horizontalBar); + chartOptionsMap.put("timeAxis", timeAxis); + chartOptionsMap.put("barRealTimeAxis", barRealTimeAxis); + chartOptionsMap.put("barReduceXAxisLabels", barReduceXAxisLabels); + + chartOptionsMap.put("logScale", logScale); + chartOptionsMap.put("precision", precision); + + + } catch (RaptorException ex) { + logger.error("Exception in generateJSON", ex); + } + return generateJSON(reportRuntime, chartOptionsMap, request, showData); + } public String generateJSON(ReportRuntime reportRuntime, HttpServletRequest request, boolean showData) throws RaptorException { String rotateLabelsStr = ""; rotateLabelsStr = AppUtils.nvl(reportRuntime.getLegendLabelAngle()); - if(rotateLabelsStr.toLowerCase().equals("standard")) { - rotateLabelsStr = "0"; - } else if (rotateLabelsStr.toLowerCase().equals("up45")) { - rotateLabelsStr = "45"; - } else if (rotateLabelsStr.toLowerCase().equals("down45")) { - rotateLabelsStr = "-45"; - } else if (rotateLabelsStr.toLowerCase().equals("up90")) { - rotateLabelsStr = "90"; - } else if (rotateLabelsStr.toLowerCase().equals("down90")) { - rotateLabelsStr = "-90"; - } else - rotateLabelsStr = "0"; + if (rotateLabelsStr.equalsIgnoreCase("standard")) { + rotateLabelsStr = "0"; + } else if (rotateLabelsStr.equalsIgnoreCase("up45")) { + rotateLabelsStr = "45"; + } else if (rotateLabelsStr.equalsIgnoreCase("down45")) { + rotateLabelsStr = "-45"; + } else if (rotateLabelsStr.equalsIgnoreCase("up90")) { + rotateLabelsStr = "90"; + } else if (rotateLabelsStr.equalsIgnoreCase("down90")) { + rotateLabelsStr = "-90"; + } else { + rotateLabelsStr = "0"; + } - HashMap<String,String> chartOptionsMap = new HashMap<String, String>(); + HashMap<String,String> chartOptionsMap = new HashMap<>(); chartOptionsMap.put("width", reportRuntime.getChartWidth()); chartOptionsMap.put("height", reportRuntime.getChartHeight()); - chartOptionsMap.put("animation", new Boolean(reportRuntime.isAnimateAnimatedChart()).toString()); + chartOptionsMap.put("animation", Boolean.toString(reportRuntime.isAnimateAnimatedChart())); chartOptionsMap.put("rotateLabels", rotateLabelsStr); chartOptionsMap.put("staggerLabels", "false"); chartOptionsMap.put("showMaxMin", "false"); - chartOptionsMap.put("showControls", new Boolean(reportRuntime.displayBarControls()).toString()); - chartOptionsMap.put("showLegend", new Boolean(!reportRuntime.hideChartLegend()).toString()); + chartOptionsMap.put("showControls", Boolean.toString(reportRuntime.displayBarControls())); + chartOptionsMap.put("showLegend", Boolean.toString(!reportRuntime.hideChartLegend())); chartOptionsMap.put("topMargin", reportRuntime.getTopMargin()!=null?reportRuntime.getTopMargin().toString():"30"); chartOptionsMap.put("bottomMargin", reportRuntime.getBottomMargin()!=null?reportRuntime.getBottomMargin().toString():"50"); chartOptionsMap.put("leftMargin", reportRuntime.getLeftMargin()!=null?reportRuntime.getLeftMargin().toString():"100"); chartOptionsMap.put("rightMargin", reportRuntime.getRightMargin()!=null?reportRuntime.getRightMargin().toString():"160"); - chartOptionsMap.put("showTitle", new Boolean(reportRuntime.displayChartTitle()).toString()); + chartOptionsMap.put("showTitle", Boolean.toString(reportRuntime.displayChartTitle())); chartOptionsMap.put("subType", (AppUtils.nvl(reportRuntime.getTimeSeriesRender()).equals("area")?reportRuntime.getTimeSeriesRender():"")); - chartOptionsMap.put("stacked", new Boolean(reportRuntime.isChartStacked()).toString()); - chartOptionsMap.put("horizontalBar", new Boolean(reportRuntime.isHorizontalOrientation()).toString()); - chartOptionsMap.put("timeAxis", new Boolean(reportRuntime.isTimeAxis()).toString()); - chartOptionsMap.put("barReduceXAxisLabels", new Boolean(reportRuntime.isLessXaxisTickers()).toString()); + chartOptionsMap.put("stacked", Boolean.toString(reportRuntime.isChartStacked())); + chartOptionsMap.put("horizontalBar", Boolean.toString(reportRuntime.isHorizontalOrientation())); + chartOptionsMap.put("timeAxis", Boolean.toString(reportRuntime.isTimeAxis())); + chartOptionsMap.put("barReduceXAxisLabels", Boolean.toString(reportRuntime.isLessXaxisTickers())); - chartOptionsMap.put("logScale", new Boolean(reportRuntime.isLogScale()).toString()); + chartOptionsMap.put("logScale", Boolean.toString(reportRuntime.isLogScale())); chartOptionsMap.put("precision", "2"); @@ -247,7 +300,7 @@ public class ChartJSONHelper { return generateJSON(reportRuntime, chartOptionsMap, request, showData); } - public String generateJSON(ReportRuntime reportRuntime, HashMap<String,String> chartOptionsMap, HttpServletRequest request, boolean showData) throws RaptorException { + public String generateJSON(ReportRuntime reportRuntime,Map<String, String> chartOptionsMap, HttpServletRequest request, boolean showData) throws RaptorException { //String width, String height, boolean animation, String rotateLabels, boolean staggerLabels, boolean showMaxMin, boolean showLegend, boolean showControls, String topMargin, String bottomMargin, boolean showTitle, String subType String userId = AppUtils.getUserID(request); @@ -375,97 +428,6 @@ public class ChartJSONHelper { chartColumnJSONList.add(ccJSON); } chartJSON.setChartColumnJSONList(chartColumnJSONList); - /* setting formfields show only showForm got triggered*/ - /*ArrayList<IdNameValue> formFieldValues = new ArrayList<IdNameValue>(); - ArrayList<FormFieldJSON> formFieldJSONList = new ArrayList<FormFieldJSON>(); - if(reportRuntime.getReportFormFields()!=null) { - formFieldJSONList = new ArrayList<FormFieldJSON>(reportRuntime.getReportFormFields().size()); - for (Iterator iter = reportRuntime.getReportFormFields().iterator(); iter.hasNext();) { - formFieldValues = new ArrayList<IdNameValue>(); - FormField ff = (FormField) iter.next(); - ff.setDbInfo(reportRuntime.getDbInfo()); - FormFieldJSON ffJSON = new FormFieldJSON(); - ffJSON.setFieldId(ff.getFieldName()); - ffJSON.setFieldType(ff.getFieldType()); - ffJSON.setFieldDisplayName(ff.getFieldDisplayName()); - ffJSON.setHelpText(ff.getHelpText()); - ffJSON.setValidationType(ff.getValidationType()); - //ffJSON.setTriggerOtherFormFields(ff.getDependsOn()); - IdNameList lookup = null; - lookup = ff.getLookupList(); - String selectedValue = ""; - String oldSQL = ""; - IdNameList lookupList = null; - boolean readOnly = false; - if(lookup!=null) { - if(!ff.hasPredefinedList) { - IdNameSql lu = (IdNameSql) lookup; - String SQL = lu.getSql(); - oldSQL = lu.getSql(); - reportRuntime.setTriggerFormFieldCheck( reportRuntime.getReportFormFields(), ff); - ffJSON.setTriggerOtherFormFields(ff.isTriggerOtherFormFields()); - SQL = reportRuntime.parseAndFillReq_Session_UserValues(request, SQL, userId); - SQL = reportRuntime.parseAndFillWithCurrentValues(request, SQL, ff); - String defaultSQL = lu.getDefaultSQL(); - defaultSQL = reportRuntime.parseAndFillReq_Session_UserValues(request, defaultSQL, userId); - defaultSQL = reportRuntime.parseAndFillWithCurrentValues(request, SQL, ff); - lookup = new IdNameSql(-1,SQL,defaultSQL); - - lookupList = lookup; - try { - lookup.loadUserData(0, "", ff.getDbInfo(), ff.getUserId()); - } catch (Exception e ){ e.printStackTrace(); //throw new RaptorRuntimeException(e); - } - } - lookup.trimToSize(); - - String[] requestValue = request.getParameterValues(ff.getFieldName()); - - if(lookup != null && lookup.size() > 0) { - for (lookup.resetNext(); lookup.hasNext();) { - IdNameValue value = lookup.getNext(); - readOnly = value.isReadOnly(); - if(requestValue != null && Arrays.asList(requestValue).contains(value.getId())) { - //if(value.getId().equals(requestValue)) - value.setDefaultValue(true); - } - if(!(ff.getFieldType().equals(FormField.FFT_CHECK_BOX) || ff.getFieldType().equals(FormField.FFT_COMBO_BOX) || ff.getFieldType().equals(FormField.FFT_LIST_BOX) - || ff.getFieldType().equals(FormField.FFT_LIST_MULTI)) && value.isDefaultValue()) - formFieldValues.add(value); - else if(ff.getFieldType().equals(FormField.FFT_CHECK_BOX) || ff.getFieldType().equals(FormField.FFT_COMBO_BOX) || ff.getFieldType().equals(FormField.FFT_LIST_BOX) - || ff.getFieldType().equals(FormField.FFT_LIST_MULTI)) { - formFieldValues.add(value); - } - //break; - } - } else { - if(requestValue!=null && requestValue.length>0) { - IdNameValue value = new IdNameValue(requestValue[0], requestValue[0], true, false); - formFieldValues.add(value); - } - } - - } else { - String[] requestValue = request.getParameterValues(ff.getFieldName()); - if(requestValue!=null && requestValue.length>0) { - IdNameValue value = new IdNameValue(requestValue[0], requestValue[0], true, false); - formFieldValues.add(value); - } - } - if(!ff.hasPredefinedList) { - if(oldSQL != null && !oldSQL.equals("")) { - ((IdNameSql)lookup).setSQL(oldSQL); - } - } - - - - ffJSON.setFormFieldValues(formFieldValues); - formFieldJSONList.add(ffJSON); - } // for - } - chartJSON.setFormFieldList(formFieldJSONList); - chartJSON.setChartSqlWhole(sql);*/ chartJSON.setChartAvailable(displayChart); ChartTypeJSON chartTypeJSON = new ChartTypeJSON(); @@ -687,7 +649,7 @@ public class ChartJSONHelper { } public boolean getFlagInBoolean(String s) { - return nvl(s).toUpperCase().startsWith("Y") || nvl(s).toLowerCase().equals("true"); + return nvl(s).toUpperCase().startsWith("Y") || nvl(s).equalsIgnoreCase("true"); } public DataSet loadChartData(String userId, HttpServletRequest request) throws RaptorException { |