Jump to content
We've recently updated our Privacy Statement, available here ×

Strange exception on JasperFillManager.fillReport()


dosadi

Recommended Posts

Hi, I am getting an exception calling JasperFillManager.fillReport() that I am having trouble tracking down a good description of:

point a

point b

point c

Feb 6, 2012 7:55:43 PM net.sf.jasperreports.engine.query.JRXPathQueryExecuter WARNING: The supplied org.w3c.dom.Document object is null. Exception in thread "main" java.lang.VerifyError: class org.codehaus.groovy.runtime.callsite.GroovySunClassLoader$2 overrides final method visit.(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:634) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:277) at java.net.URLClassLoader.access$000(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:212) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) at org.codehaus.groovy.runtime.callsite.CallSiteGenerator.isCompilable(CallSiteGenerator.java:245) at org.codehaus.groovy.reflection.CachedMethod.createPogoMetaMethodSite(CachedMethod.java:227) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.createCachedMethodSite(PogoMetaMethodSite.java:207) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.createPogoMetaMethodSite(PogoMetaMethodSite.java:183) at groovy.lang.MetaClassImpl.createPogoCallCurrentSite(MetaClassImpl.java:3014) at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallCurrentSite(CallSiteArray.java:95) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141) at weeklyReport_subreport4_1328328559346_876051.customizedInit(calculator_weeklyReport_subreport4_1328328559346_876051:67) at net.sf.jasperreports.engine.fill.JREvaluator.init(JREvaluator.java:88) at net.sf.jasperreports.engine.fill.JRCalculator.init(JRCalculator.java:111) at net.sf.jasperreports.engine.fill.JRFillDataset.initCalculator(JRFillDataset.java:439) at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:506) at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:77) at net.sf.jasperreports.engine.fill.JRFillSubreport.initSubreportFiller(JRFillSubreport.java:431) at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateSubreport(JRFillSubreport.java:369) at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubreport.java:275) at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:257) at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:473) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummaryNoLastFooterSamePage(JRVerticalFiller.java:1067) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummary(JRVerticalFiller.java:1032) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportEnd(JRVerticalFiller.java:296) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:135) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:836) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:765) at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:84) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624) at Listener.compile_report(Listener.java:84) at Listener.main(Listener.java:185)

Here is the generating code:

JasperDesign jasperdesign = null;

try {

if (doctype.contentEquals("weekly")) {

jasperdesign = JRXmlLoader.load("/root/weeklyReport.jrxml");

} else if (doctype.contentEquals("monthly")) {

jasperdesign = JRXmlLoader.load("/root/monthlyReport.jrxml");

} else if (doctype.contentEquals("custom")) {

jasperdesign = JRXmlLoader.load("/root/customReport.jrxml");

}

// else if (doctype.contentEquals("single"))

// {

// jasperdesign = JRXmlLoader.load("/root/weeklyReport.jrxml"); //

}

else {

throw new Exception("Unknown content type " + doctype.toString());

}

} catch (JRException e2)

{ // TODO Auto-generated catch block e2.printStackTrace();

} catch (Exception e)

{

// TODO Auto-generated catch block e.printStackTrace();

}

System.err.println("point a");

JasperReport jasperreport = null;

try {

jasperreport = JasperCompileManager.compileReport(jasperdesign);

}

catch (JRException e)

{

// TODO Auto-generated catch block e.printStackTrace();

}

System.err.println("point b");

JRXmlDataSource jrxmldatasource = null;

try

{

jrxmldatasource = new JRXmlDataSource("tempfile.tmp");

} catch (JRException e1)

{

// TODO Auto-generated catch block

e1.printStackTrace();

}

System.err.println("point c");

JasperPrint jasperprint = null;

try {

jasperprint = JasperFillManager.fillReport(jasperreport, null, jrxmldatasource); }

catch (JRException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

System.err.println("point d");

 

I am not sure why a groovy-related class is being invoked, since I have explicitly set the language="java" in the .jrxml file used. Is there a global setting somewhere for the language= parameter?

 

Jon



Post Edited by dosadi at 02/07/2012 19:05
Link to comment
Share on other sites

  • Replies 1
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Hi,

From the error I guess the problem is with your Xml Data Source.

Why do you use a .tmp file? Shouldn't it be an xml file? It seems that the loaded document is null:

The supplied org.w3c.dom.Document object is null: If you check the javadoc this interface is related to xml files so the problem happens when you try to load the tempfile.tmp file.

Don't know if JRXmlDataSource supports another kind of file but I think it should be an xml file.

Hope this helps.

Regards.

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...