/** * Some checks for the htmlEscape() method. */ public void testHTMLEscape() { assertEquals("", ImageMapUtilities.htmlEscape("")); assertEquals("abc", ImageMapUtilities.htmlEscape("abc")); assertEquals("&", ImageMapUtilities.htmlEscape("&")); assertEquals(""", ImageMapUtilities.htmlEscape("\"")); assertEquals("<", ImageMapUtilities.htmlEscape("<")); assertEquals(">", ImageMapUtilities.htmlEscape(">")); assertEquals("'", ImageMapUtilities.htmlEscape("\'")); assertEquals("\abc", ImageMapUtilities.htmlEscape("\\abc")); assertEquals("abc\n", ImageMapUtilities.htmlEscape("abc\n")); }
/** * Some checks for the javascriptEscape() method. */ public void testJavascriptEscape() { assertEquals("", ImageMapUtilities.javascriptEscape("")); assertEquals("abc", ImageMapUtilities.javascriptEscape("abc")); assertEquals("\\\'", ImageMapUtilities.javascriptEscape("\'")); assertEquals("\\\"", ImageMapUtilities.javascriptEscape("\"")); assertEquals("\\\\", ImageMapUtilities.javascriptEscape("\\")); }
public String execute() { ReportUser user = (ReportUser) ActionContext.getContext().getSession().get( ORStatics.REPORT_USER); report = (Report) ActionContext.getContext().getSession().get(ORStatics.REPORT); Map<String,Object> reportParameters = getReportParameterMap(user); ReportLog reportLog = new ReportLog(user, report, new Date()); try { log.debug("Starting Chart Report: " + report.getName()); reportLogProvider.insertReportLog(reportLog); ChartReportEngine chartReportEngine = new ChartReportEngine( dataSourceProvider, directoryProvider, propertiesProvider); ReportEngineInput input = new ReportEngineInput(report, reportParameters); ChartEngineOutput chartOutput = (ChartEngineOutput) chartReportEngine .generateReport(input); chartValues = chartOutput.getChartValues(); if (chartValues.length == 0) { addActionError(getText(LocalStrings.ERROR_REPORT_EMPTY)); } imageMap = ImageMapUtilities.getImageMap("chart", chartOutput.getChartRenderingInfo()); HashMap<String,byte[]> imagesMap = new HashMap<String,byte[]>(); imagesMap.put("ChartImage", chartOutput.getContent()); session.put(ORStatics.IMAGES_MAP, imagesMap); reportLog.setEndTime(new Date()); reportLog.setStatus(ReportLog.STATUS_SUCCESS); reportLogProvider.updateReportLog(reportLog); /* * set chartRequestId to the current time so that it can be added to * the imageLoader URL to make a unique URL and prevent image caching */ chartRequestId = reportLog.getEndTime().getTime(); log.debug("Finished Chart Report: " + report.getName()); } catch (Exception e) { addActionError(getText(e.getMessage())); reportLog.setMessage(getText(e.getMessage())); reportLog.setStatus(ReportLog.STATUS_FAILURE); reportLog.setEndTime(new Date()); try { reportLogProvider.updateReportLog(reportLog); } catch (Exception ex) { log.error("Unable to create ReportLog: " + ex.getMessage()); } return ERROR; } return SUCCESS; }
/** * Writes an image map to the specified writer. * * @param writer the writer (<code>null</code> not permitted). * @param name the map name (<code>null</code> not permitted). * @param info the chart rendering info (<code>null</code> not permitted). * @param toolTipTagFragmentGenerator a generator for the HTML fragment * that will contain the tooltip text (<code>null</code> not permitted * if <code>info</code> contains tooltip information). * @param urlTagFragmentGenerator a generator for the HTML fragment that * will contain the URL reference (<code>null</code> not permitted if * <code>info</code> contains URLs). * * @throws IOException if there are any I/O errors. */ public static void writeImageMap(PrintWriter writer, String name, ChartRenderingInfo info, ToolTipTagFragmentGenerator toolTipTagFragmentGenerator, URLTagFragmentGenerator urlTagFragmentGenerator) throws IOException { writer.println(ImageMapUtilities.getImageMap(name, info, toolTipTagFragmentGenerator, urlTagFragmentGenerator)); }
/** * Creates an HTML image map. This method maps directly to * {@link ImageMapUtilities#getImageMap(String, ChartRenderingInfo, * ToolTipTagFragmentGenerator, URLTagFragmentGenerator)}. * * @param name the map name (<code>null</code> not permitted). * @param info the chart rendering info (<code>null</code> not permitted). * @param toolTipTagFragmentGenerator a generator for the HTML fragment * that will contain the tooltip text (<code>null</code> not permitted * if <code>info</code> contains tooltip information). * @param urlTagFragmentGenerator a generator for the HTML fragment that * will contain the URL reference (<code>null</code> not permitted if * <code>info</code> contains URLs). * * @return The map tag. */ public static String getImageMap(String name, ChartRenderingInfo info, ToolTipTagFragmentGenerator toolTipTagFragmentGenerator, URLTagFragmentGenerator urlTagFragmentGenerator) { return ImageMapUtilities.getImageMap(name, info, toolTipTagFragmentGenerator, urlTagFragmentGenerator); }
/** * Creates an HTML image map. This method maps to * {@link ImageMapUtilities#getImageMap(String, ChartRenderingInfo, * ToolTipTagFragmentGenerator, URLTagFragmentGenerator)}, using default * generators. * * @param name the map name (<code>null</code> not permitted). * @param info the chart rendering info (<code>null</code> not permitted). * * @return The map tag. */ public static String getImageMap(String name, ChartRenderingInfo info) { return ImageMapUtilities.getImageMap(name, info, new StandardToolTipTagFragmentGenerator(), new StandardURLTagFragmentGenerator()); }