dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #10848
[Bug 731078] Re: data-browser-export-to-excel-fails-with-NPE-when-datavalue-is-NULL
** Changed in: dhis2
Status: New => Fix Committed
** Changed in: dhis2
Assignee: (unassigned) => Hieu Duy Dang (hieu-hispvietnam)
--
You received this bug notification because you are a member of DHIS 2
developers, which is subscribed to DHIS.
https://bugs.launchpad.net/bugs/731078
Title:
data-browser-export-to-excel-fails-with-NPE-when-datavalue-is-NULL
Status in DHIS 2 - District Health Information Software:
Fix Committed
Bug description:
A single data element is displayed with a value $rowItem and
appears in the raw data mode of the data browser. It would seem that
the data value for the particular data element is also stored as a
blank cell in the database.
207;131097;7101;13;"";"admin";"2011-02-09";"No transport";f
On Export to PDF..
Exception (java.lang.NumberFormatException): For input string: ""
On Export to Excel..
An exception occurred
Sorry! The system failed to execute the operation. Usually, no data is
lost and you can continue working by going back to the previous page.
If you wish to report the incident, please save this page by choosing
"File -> Save (page as)" in your browser and include the saved page in
the report. The problem details are listed below.
[-] Exception (java.lang.NullPointerException): null
* org.hisp.dhis.system.util.ExcelUtils.writeDataBrowserResults(ExcelUtils.java:372)
* org.hisp.dhis.databrowser.DefaultDataBrowserXLSService.writeDataBrowserResult(DefaultDataBrowserXLSService.java:93)
* org.hisp.dhis.dataadmin.action.databrowser.ExportDrillDownResultAction.executeExportResult(ExportDrillDownResultAction.java:95)
* org.hisp.dhis.dataadmin.action.AbstractExportDataBrowserResult.execute(AbstractExportDataBrowserResult.java:162)
* sun.reflect.NativeMethodAccessorImpl.invoke0(Unknown source)
* sun.reflect.NativeMethodAccessorImpl.invoke(Unknown source)
* sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown source)
* java.lang.reflect.Method.invoke(Unknown source)
* com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
* com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
* com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
* org.hisp.dhis.webportal.interceptor.XWorkPortalUserInterceptor.intercept(XWorkPortalUserInterceptor.java:82)
* com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
* org.hisp.dhis.webportal.interceptor.XWorkPortalModuleInterceptor.intercept(XWorkPortalModuleInterceptor.java:85)
* com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
* org.hisp.dhis.webportal.interceptor.XWorkPortalMenuInterceptor.intercept(XWorkPortalMenuInterceptor.java:91)
* com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
* org.hisp.dhis.webportal.interceptor.XWorkPortalParamsInterceptor.intercept(XWorkPortalParamsInterceptor.java:117)
* com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
* org.hisp.dhis.interceptor.ContextInterceptor.intercept(ContextInterceptor.java:70)
* com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
* org.hisp.dhis.interceptor.StyleInterceptor.intercept(StyleInterceptor.java:107)
* com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
* org.hisp.dhis.interceptor.SystemSettingInterceptor.intercept(SystemSettingInterceptor.java:94)
* com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
* org.hisp.dhis.interceptor.DisplayPropertyInterceptor.intercept(DisplayPropertyInterceptor.java:90)
* com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
* org.hisp.dhis.interceptor.SortOrderInterceptor.intercept(SortOrderInterceptor.java:124)
* com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
* org.hisp.dhis.security.intercept.XWorkSecurityInterceptor.intercept(XWorkSecurityInterceptor.java:98)
* com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
* org.hisp.dhis.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:141)
* com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
* com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
* com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
* com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
* com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
* com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
* com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
* com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
* org.hisp.dhis.interceptor.ExceptionInterceptor.intercept(ExceptionInterceptor.java:98)
* com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
* org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
* org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
* org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
* org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
* org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
* org.hisp.dhis.security.filter.RequiredLoginFilter.doFilter(RequiredLoginFilter.java:129)
* org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
* org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(AutomaticAccessFilter.java:112)
* org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
* org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
* org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
* org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
* org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
* org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
* org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
* org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169)
* org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
* org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
* org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
* org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
* org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
* org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
* org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
* org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
* org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
* org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
* org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:440)
* org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
* org.mortbay.jetty.Server.handle(Server.java:326)
* org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
* org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:926)
* org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
* org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
* org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
* org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
* org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
References