Uploaded image for project: 'JBoss BPMS Platform'
  1. JBoss BPMS Platform
  2. RHBPMS-4570

Excel export feature broken in old dashbuilder

    XMLWordPrintable

Details

    • CR2
    • Hide

      replace the following 3 jars (poi-3.15.jar poi-ooxml-3.15.jar poi-ooxml-schemas-3.15.jar) in EAP_HOME/standalone/deployments/dashbuilder.war/WEB-INF/lib by the version 3.13 which was used in BPM Suite 6.4.0 GA

      Show
      replace the following 3 jars (poi-3.15.jar poi-ooxml-3.15.jar poi-ooxml-schemas-3.15.jar) in EAP_HOME/standalone/deployments/dashbuilder.war/WEB-INF/lib by the version 3.13 which was used in BPM Suite 6.4.0 GA
    • Hide

      In Dashbuilder Showcase go to Sample Dashboards > Sales opportunities > Sales report and in the table displayer click the export to excel button. You'll see dialog with error (screenshot)

      Show
      In Dashbuilder Showcase go to Sample Dashboards > Sales opportunities > Sales report and in the table displayer click the export to excel button. You'll see dialog with error (screenshot)

    Description

      The "export to excel" feature of the old dashbuilder is broken in BPM Sute 6.4.1 CR1 patch.

      Whenever I try to export any table data I see the following exception:

      Thread id=default task-24
      Thread begin date=Thu Jan 12 08:00:06 CET 2017
      Thread group=main
      Request URL=/dashbuilder/Controller?idPanel=2975&dataExportFormat=xlsx&pAction=_factory&_fp=0&_fb=default_table_viewer&csrf=67624731
      Request IP=127.0.0.1
      Request date=Thu Jan 12 08:00:06 CET 2017
      Request header:user-agent=Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36
      Request header:referer=http://localhost:8080/dashbuilder/workspace/en/showcase/sales-report?csrf=34021497
      Request header:cookie=JSESSIONID=3LaGJDO0HLpxuTs9-F75fPOyPgfqP4SuJOaJ0HxL.pc; dashbuilderNavigationPoint=en-2bn-1; JSESSIONIDSSO=HEZsilEq5GqtBYes9_-VKqYk2RR1wdZSAgyhh-37; region_left_web_2_0_cookie=1
      Request param:idPanel=2975
      Request param:dataExportFormat=xlsx
      Request param:_fp=0
      Request param:pAction=_factory
      Request param:_fb=default_table_viewer
      Request param:csrf=67624731
      Tx id=1229720877
      Tx Isolation=2
      Tx Auto commit=false
      Error id=1484204407071
      Error date=Thu Jan 12 08:00:07 CET 2017
      Error stack trace=java.lang.IllegalStateException: Column was never explicitly tracked and isAllColumnsTracked() is false (trackAllColumns() was never called or untrackAllColumns() was called after trackAllColumns() was called).
      	at org.apache.poi.xssf.streaming.AutoSizeColumnTracker.getBestFitColumnWidth(AutoSizeColumnTracker.java:275)
      	at org.apache.poi.xssf.streaming.SXSSFSheet.autoSizeColumn(SXSSFSheet.java:1603)
      	at org.apache.poi.xssf.streaming.SXSSFSheet.autoSizeColumn(SXSSFSheet.java:1560)
      	at org.jboss.dashboard.displayer.table.ExportTool.exportExcel(ExportTool.java:160)
      	at org.jboss.dashboard.ui.components.table.TableHandler.actionExportData(TableHandler.java:341)
      	at org.jboss.dashboard.ui.components.table.TableViewer.actionExportData(TableViewer.java:59)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at org.jboss.dashboard.ui.components.BeanHandler.handle(BeanHandler.java:152)
      	at org.jboss.dashboard.ui.components.BeanDispatcher.handle(BeanDispatcher.java:133)
      	at org.jboss.dashboard.ui.components.BeanDispatcher.performRequestHandling(BeanDispatcher.java:124)
      	at org.jboss.dashboard.ui.components.BeanDispatcher.handleRequest(BeanDispatcher.java:46)
      	at org.jboss.dashboard.ui.components.BeanDispatcher$Proxy$_$$_WeldClientProxy.handleRequest(Unknown Source)
      	at org.jboss.dashboard.ui.panel.PanelDriver.panelActionFactory(PanelDriver.java:1237)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at org.jboss.dashboard.ui.panel.PanelDriver._execute(PanelDriver.java:817)
      	at org.jboss.dashboard.ui.panel.PanelDriver.execute(PanelDriver.java:780)
      	at org.jboss.dashboard.ui.panel.kpi.KPIDriver$Proxy$_$$_WeldClientProxy.execute(Unknown Source)
      	at org.jboss.dashboard.ui.controller.requestChain.RequestDispatcher.processRequest(RequestDispatcher.java:93)
      	at org.jboss.dashboard.ui.controller.requestChain.RequestDispatcher$Proxy$_$$_WeldClientProxy.processRequest(Unknown Source)
      	at org.jboss.dashboard.ui.controller.RequestProcessor.run(RequestProcessor.java:68)
      	at org.jboss.dashboard.ui.controller.RequestProcessor$Proxy$_$$_WeldClientProxy.run(Unknown Source)
      	at org.jboss.dashboard.ui.controller.ControllerServlet$1.txFragment(ControllerServlet.java:174)
      	at org.jboss.dashboard.database.hibernate.HibernateTransaction.executeFragment(HibernateTransaction.java:252)
      	at org.jboss.dashboard.database.hibernate.HibernateTxFragment.executeInitiator(HibernateTxFragment.java:179)
      	at org.jboss.dashboard.database.hibernate.HibernateTxFragment.execute(HibernateTxFragment.java:167)
      	at org.jboss.dashboard.ui.controller.ControllerServlet.processTheRequest(ControllerServlet.java:180)
      	at org.jboss.dashboard.ui.controller.ControllerServlet.service(ControllerServlet.java:135)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
      	at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
      	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
      	at org.jboss.dashboard.ui.controller.SecureHeaderFilter.doFilter(SecureHeaderFilter.java:62)
      	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
      	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
      	at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
      	at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
      	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
      	at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
      	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
      	at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
      	at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
      	at io.undertow.server.handlers.DisableCacheHandler.handleRequest(DisableCacheHandler.java:33)
      	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
      	at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:51)
      	at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
      	at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
      	at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:59)
      	at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
      	at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
      	at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
      	at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
      	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
      	at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
      	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
      	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
      	at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:285)
      	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:264)
      	at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
      	at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:175)
      	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:207)
      	at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:802)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      
      

      I tried replacing the following 3 jars (poi-3.15.jar poi-ooxml-3.15.jar poi-ooxml-schemas-3.15.jar) in EAP_HOME/standalone/deployments/dashbuilder.war/WEB-INF/lib by the version 3.13 which was used in BPM Suite 6.4.0 GA and the export started to work correctly.

      Therefore we either need to downgrade the version of library used in the patch back to 3.13 OR fix the implementation of org.jboss.dashboard.displayer.table.ExportTool not to throw an exception.

      Attachments

        Activity

          People

            david.magallanes David Gutierrez
            jhrcek Jan Hrcek (Inactive)
            Jan Hrcek Jan Hrcek (Inactive)
            Jan Hrcek Jan Hrcek (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: