Chart Selection

vinayb
edited February 11, 2022 in Analytics #1
hi i am display a report through a servlet my problem i want a display a particular chart out of n number of charts in my designdepending upon user selection
my code
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.logging.Logger;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.eclipse.birt.chart.plugin.ChartEnginePlugin;
import org.eclipse.birt.core.archive.IDocArchiveReader;
import org.eclipse.birt.report.engine.api.EngineConstants;
import org.eclipse.birt.report.engine.api.HTMLRenderOption;
import org.eclipse.birt.report.engine.api.HTMLServerImageHandler;
import org.eclipse.birt.report.engine.api.IRenderOption;
import org.eclipse.birt.report.engine.api.IReportDocument;
import org.eclipse.birt.report.engine.api.IReportEngine;
import org.eclipse.birt.report.engine.api.IReportRunnable;
import org.eclipse.birt.report.engine.api.IRunAndRenderTask;


public class WebReport extends HttpServlet {

/**
*
*/
private static final long serialVersionUID = 1L;
/**
* Constructor of the object.
*/
private IReportEngine birtReportEngine = null;
protected static Logger logger = Logger.getLogger( "org.eclipse.birt" );

public WebReport() {
super();
}

/**
* Destruction of the servlet.

*/
public void destroy() {
super.destroy();
BirtEngine.destroyBirtEngine();
}


/**
* The doGet method of the servlet.

*
*/
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {

//get report name and launch the engine
resp.setContentType("text/html");
//resp.setContentType( "application/pdf" );
//resp.setHeader ("Content-Disposition","inline; filename=test.pdf");
String reportName = req.getParameter("ReportName");
String parameter = req.getParameter("product");
String component = req.getParameter("component");
String bug_status =req.getParameter("bug_status");
String bug_severity =req.getParameter("bug_severity");
ServletContext sc = req.getSession().getServletContext();
this.birtReportEngine = BirtEngine.getBirtEngine(sc);
if (parameter.equalsIgnoreCase("Alltel")){

IReportRunnable design;
try
{
//Open report design
design = birtReportEngine.openReportDesign( sc.getRealPath("/Reports")+"/"+reportName );

//create task to run and render report
IRunAndRenderTask task = birtReportEngine.createRunAndRenderTask( design );
task.getAppContext().put(EngineConstants.APPCONTEXT_CLASSLOADER_KEY, WebReport.class.getClassLoader());

//set output options
HTMLRenderOption options = new HTMLRenderOption();
//set the image handler to a HTMLServerImageHandler if you plan on using the base image url.
options.setImageHandler(new HTMLServerImageHandler());

//options.setOutputFormat(HTMLRenderOption.OUTPUT_FORMAT_PDF);
options.setOutputStream(resp.getOutputStream());

options.setBaseImageURL(req.getContextPath()+"/images");
options.setImageDirectory(sc.getRealPath("/images"));

options.setOutputFormat(HTMLRenderOption.OUTPUT_FORMAT_HTML);

String s= (String) task.getParameterValue("extensionName");
System.out.println("value 0f chart" + s);

task.setRenderOption(options);
task.setParameterValue("product", parameter);
task.setParameterValue("status", bug_status);
task.setParameterValue("severity", bug_severity);
task.setParameterValue("component", component);
System.out.println(" newtrhth ");
logger.info("newgfjhgf");
logger.info("value 0f chart" + s);

//run report
task.run();
System.out.println(" newtrhth ");
logger.info("value 0f chart" + s);
task.close();
}catch (Exception e){

e.printStackTrace();
throw new ServletException( e );
}
}
else{
IReportRunnable design;
try
{
//Open report design
design = birtReportEngine.openReportDesign( sc.getRealPath("/Reports")+"/"+reportName );

//create task to run and render report
IRunAndRenderTask task = birtReportEngine.createRunAndRenderTask( design );
task.getAppContext().put(EngineConstants.APPCONTEXT_CLASSLOADER_KEY, WebReport.class.getClassLoader());

//set output options
HTMLRenderOption options = new HTMLRenderOption();
//set the image handler to a HTMLServerImageHandler if you plan on using the base image url.
options.setImageHandler(new HTMLServerImageHandler());

//options.setOutputFormat(HTMLRenderOption.OUTPUT_FORMAT_PDF);
options.setOutputStream(resp.getOutputStream());

options.setBaseImageURL(req.getContextPath()+"/images");
options.setImageDirectory(sc.getRealPath("/images"));

options.setOutputFormat(HTMLRenderOption.OUTPUT_FORMAT_HTML);




task.setRenderOption(options);
task.setParameterValue("product", parameter);
task.setParameterValue("status", bug_status);
task.setParameterValue("severity", bug_severity);
task.setParameterValue("component", component);
System.out.println(" new ");
logger.info("new");
//run report
task.run();

task.close();
}catch (Exception e){

e.printStackTrace();
throw new ServletException( e );
}
}
}


public void init() throws ServletException {
BirtEngine.initBirtConfig();

}

}