← Back to team overview

dhis2-devs team mailing list archive

[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