it.eng.spagobi.engines.jasperreport
Class JasperReportRunner

java.lang.Object
  extended by it.eng.spagobi.engines.jasperreport.JasperReportRunner

public class JasperReportRunner
extends java.lang.Object

Jasper Report implementation built to provide all methods to run a report inside SpagoBI. It is the jasper report Engine implementation for SpagoBI.

Author:
Gioia

Field Summary
private static org.apache.log4j.Logger logger
           
private  java.lang.String spagobibaseurl
           
private  java.lang.String templatePath
           
 
Constructor Summary
JasperReportRunner(java.lang.String spagobibaseurl, java.lang.String templatePath)
          Class Constructor
 
Method Summary
private  java.io.File[] compileSubreports(java.util.Map params, java.io.File destDir)
           
private  java.util.List generateReportImages(net.sf.jasperreports.engine.JasperReport report, net.sf.jasperreports.engine.JasperPrint jasperPrint)
           
private  byte[] getImageBytes(net.sf.jasperreports.engine.JasperReport report, net.sf.jasperreports.engine.JasperPrint jasperPrint)
           
private  byte[] getImagesBase64Bytes(net.sf.jasperreports.engine.JasperReport report, net.sf.jasperreports.engine.JasperPrint jasperPrint)
           
 void runReport(java.sql.Connection conn, java.util.Map parameters, java.io.OutputStream out, javax.servlet.ServletContext servletContext, javax.servlet.http.HttpServletResponse servletResponse, javax.servlet.http.HttpServletRequest servletRequest)
          This method, known all input information, runs a report with JasperReport inside SpagoBI.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

templatePath

private java.lang.String templatePath

spagobibaseurl

private java.lang.String spagobibaseurl

logger

private static transient org.apache.log4j.Logger logger
Constructor Detail

JasperReportRunner

public JasperReportRunner(java.lang.String spagobibaseurl,
                          java.lang.String templatePath)
Class Constructor

Parameters:
spagobibaseurl - The basic url for SpagoBI
templatePath - The path for the report template
Method Detail

runReport

public void runReport(java.sql.Connection conn,
                      java.util.Map parameters,
                      java.io.OutputStream out,
                      javax.servlet.ServletContext servletContext,
                      javax.servlet.http.HttpServletResponse servletResponse,
                      javax.servlet.http.HttpServletRequest servletRequest)
               throws java.lang.Exception
This method, known all input information, runs a report with JasperReport inside SpagoBI. it is the Jasper Report Engine's core method.

Parameters:
ds - The input Data Source for the Report
parameters - The input parameters map
servletContext - The java servlet context object
servletResponse - The java http servlet response object
Throws:
java.lang.Exception - If any Exception occurred

getImagesBase64Bytes

private byte[] getImagesBase64Bytes(net.sf.jasperreports.engine.JasperReport report,
                                    net.sf.jasperreports.engine.JasperPrint jasperPrint)

getImageBytes

private byte[] getImageBytes(net.sf.jasperreports.engine.JasperReport report,
                             net.sf.jasperreports.engine.JasperPrint jasperPrint)

generateReportImages

private java.util.List generateReportImages(net.sf.jasperreports.engine.JasperReport report,
                                            net.sf.jasperreports.engine.JasperPrint jasperPrint)

compileSubreports

private java.io.File[] compileSubreports(java.util.Map params,
                                         java.io.File destDir)
                                  throws net.sf.jasperreports.engine.JRException
Throws:
net.sf.jasperreports.engine.JRException