Home
Analytics
java.lang.NullPointerException at org.eclipse.birt.report.engine.api.impl.ReportE
hq4ever
Hello<br />
<br />
I'm using Tomcat 6.0.20, javac -version javac 1.6.0_14<br />
On Linux RedHat5, i586.<br />
<br />
I'm getting the following exception from birt :<br />
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>java.lang.NullPointerException
at org.eclipse.birt.report.engine.api.impl.ReportEngine$EngineExtensionManager.<init>(ReportEngine.java:830)
at org.eclipse.birt.report.engine.api.impl.ReportEngine.<init>(ReportEngine.java:109)
at org.eclipse.birt.report.engine.api.impl.ReportEngineFactory$1.run(ReportEngineFactory.java:18)
at org.eclipse.birt.report.engine.api.impl.ReportEngineFactory$1.run(ReportEngineFactory.java:1)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.birt.report.engine.api.impl.ReportEngineFactory.createReportEngine(ReportEngineFactory.java:14)
at com.ml.birt.test.DisplayReport.<clinit>(DisplayReport.java:33)
at com.ml.reports.externalInterface.PerformanceJasperReport.service(PerformanceJasperReport.java:73)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)
</pre>From the following code which is called by my webapp (Don't mind the ugly code it's just for testing). I'm calling <strong class='bbc'>displayInFlightReport()</strong><br />
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
package com.ml.birt.test;
import java.util.logging.Level;
import org.eclipse.birt.core.framework.Platform;
import org.eclipse.birt.report.engine.api.EngineConfig;
import org.eclipse.birt.report.engine.api.EngineConstants;
import org.eclipse.birt.report.engine.api.EngineException;
import org.eclipse.birt.report.engine.api.HTMLRenderOption;
import org.eclipse.birt.report.engine.api.IPDFRenderOption;
import org.eclipse.birt.report.engine.api.IRenderOption;
import org.eclipse.birt.report.engine.api.IReportEngine;
import org.eclipse.birt.report.engine.api.IReportEngineFactory;
import org.eclipse.birt.report.engine.api.IReportRunnable;
import org.eclipse.birt.report.engine.api.IRunAndRenderTask;
import org.eclipse.birt.report.engine.api.PDFRenderOption;
import org.eclipse.birt.report.engine.api.RenderOption;
import com.ml.reports.campaign.CampaignCalculations;
public class DisplayReport {
static IReportEngine engine = null;
static {
try {
EngineConfig config = new EngineConfig();
config.setEngineHome("/home/maximv/Desktop/Reporting/BIRT/birt-runtime-2_5_0/ReportEngine");
config.setLogConfig(null, Level.FINE);
Platform.startup(config);
IReportEngineFactory factory = (IReportEngineFactory) Platform
.createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY);
engine = factory.createReportEngine( config );
engine.changeLogLevel( Level.WARNING );
} catch (Exception e) {
e.printStackTrace();
}
}
public static void displayInFlightReport() {
try {
{
IReportRunnable design = engine.openReportDesign("/..../webapps/birt/Test/InFlight.rptdesign");
// IReportDocument iReportDocument = engine.openReportDocument("/..../webapps/birt/test.rptdocument");
IRunAndRenderTask task = engine.createRunAndRenderTask(design);
task.getAppContext().put(EngineConstants.APPCONTEXT_CLASSLOADER_KEY, DisplayReport.class.getClassLoader());
task.getAppContext().put("CampaignCalculations", new CampaignCalculations());
IRenderOption options = new RenderOption();
options.setOutputFormat("pdf");
options.setOutputFileName("XXXXX.pdf");
if(options.getOutputFormat().equalsIgnoreCase("html")) {
HTMLRenderOption htmlOptions = new HTMLRenderOption(options);
htmlOptions.setImageDirectory("output/image");
htmlOptions.setHtmlPagination(false);
//set this if you want your image source url to be altered
//If using the setBaseImageURL, make sure to set image handler to HTMLServerImageHandler
htmlOptions.setBaseImageURL("http://myhost/prependme?image=");
htmlOptions.setHtmlRtLFlag(false);
htmlOptions.setEmbeddable(false);
task.setRenderOption(htmlOptions);
}else if( options.getOutputFormat().equalsIgnoreCase("pdf") ){
PDFRenderOption pdfOptions = new PDFRenderOption(options);
pdfOptions.setOption(IPDFRenderOption.FIT_TO_PAGE, new Boolean(true));
pdfOptions.setOption(IPDFRenderOption.PAGEBREAK_PAGINATION_ONLY, new Boolean(true));
task.setRenderOption(pdfOptions);
}
task.run();
}
} catch (EngineException e1) {
e1.printStackTrace();
}
// try {
// engine.destroy();
// Platform.shutdown();
// } catch (Exception e) {
// e.printStackTrace();
// }
}
}
</pre>
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>ls /home/maximv/Desktop/Reporting/BIRT/birt-runtime-2_5_0/ReportEngine</pre>
<br />
What can be the reason for this?<br />
<br />
Thank you,<br />
Maxim.
Find more posts tagged with
Comments
There are no comments yet