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

Crosstabs and NullPointerException


Recommended Posts

By: nsorochan - nsorochan

Crosstabs and NullPointerException

2006-01-09 16:17

In my report, I have a report level query and a crosstab using another dataset. The crosstab receives a parameter value from the report level dataset.

 

The report displays properly when there is data.

However, If the crosstab dataset returns no data, I get a nullpointerexception. Can anyone tell me how I can get rid of this?

 

 

By: Lucian Chirita - lucianc

RE: Crosstabs and NullPointerException

2006-01-10 00:11

Could you post more details: JR version, exception stack trace?

 

Regards,

Lucian

 

 

By: nsorochan - nsorochan

RE: Crosstabs and NullPointerException

2006-01-10 15:49

Sorry version is 1.1.1

 

 

By: nsorochan - nsorochan

RE: Crosstabs and NullPointerException

2006-01-10 13:01

version is 0.5.3

 

13:53:52,704 INFO [sTDOUT] 13:53:52,703 ERROR [ReportWriteProviderImpl] Error creating report: java.lang.NullPointerException

java.lang.NullPointerException

at net.sf.jasperreports.engine.fill.JRFillCrosstab$CrosstabFiller.fill(JRFillCrosstab.java:747)

at net.sf.jasperreports.engine.fill.JRFillCrosstab.prepare(JRFillCrosstab.java:437)

at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:278)

at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:313)

at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:279)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:1309)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:639)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:230)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128)

at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:826)

at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:697)

at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:63)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)

at org.efs.openreports.providers.impl.ReportWriteProviderImpl.fillReport(ReportWriteProviderImpl.java:103)

at org.efs.openreports.actions.ReportRunAction.execute(ReportRunAction.java:165)

at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168)

at org.efs.openreports.interceptors.SecurityInterceptor.intercept(SecurityInterceptor.java:56)

at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)

at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)

at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)

at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)

at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)

at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)

at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)

at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:115)

at com.opensymphony.xwork.ActionChainResult.execute(ActionChainResult.java:115)

at com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:263)

at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:187)

at org.efs.openreports.interceptors.SecurityInterceptor.intercept(SecurityInterceptor.java:56)

at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)

at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)

at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)

at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)

at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)

at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)

at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)

at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:115)

at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:280)

at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:250)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

at com.opensymphony.webwork.lifecycle.RequestLifecycleFilter.doFilter(RequestLifecycleFilter.java:69)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)

at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)

at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153)

at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)

at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)

at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)

at java.lang.Thread.run(Thread.java:534)

13:53:52,705 INFO [sTDOUT] 13:53:52,705 ERROR [ReportRunAction] Error creating report: java.lang.NullPointerException

 

 

 

By: Lucian Chirita - lucianc

RE: Crosstabs and NullPointerException

2006-01-11 03:24

This was a bug introduced in 1.1.1 and fixed on CVS in JRFillCrosstab.java rev 1.17. It occurs when the first crosstab does not contain any data.

 

Regards,

Lucian

 

 

By: nsorochan - nsorochan

RE: Crosstabs and NullPointerException

2006-01-11 10:29

ya, problem is, is that I downloaded just that file and tried to compile, but it would not compile as there must have been other fixes. So I checked out the whole jasperreports repository and compiled it and it compiled (just some warnings about deprecated methods).

 

But, we are using a 3rd party application called OpenReports, and I tried to use this "new version" with openreports and it would not work.

 

I put in a line of code that catches the nullpointerexception. The reports do not crash now, but it is still not the proper fix. We will just have to wait until openreports "catches up" with Jasper.

 

thanx

 

 

By: Lucian Chirita - lucianc

RE: Crosstabs and NullPointerException

2006-01-11 23:26

You should do this: see the diff between the 1.17 and 1.16 revisions:

http://cvs.sourceforge.net/viewcvs.py/jasperreports/jasperreports/src/net/sf/jasperreports/engine/fill/JRFillCrosstab.java?r1=1.16&r2=1.17

 

Apply the change to the 1.15 revision (which is the 1.1.1 realease revision).

 

The fix consists of moving the

printRows = new ArrayList();

line from the CrosstabFiller.initCrosstab() crosstab method to the inner class CrosstabFiller constructor.

 

HTH,

Lucian

 

 

By: nsorochan - nsorochan

RE: Crosstabs and NullPointerException

2006-01-12 12:17

thanx, this was a better fix than I did.

Link to comment
Share on other sites

  • Replies 0
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

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...