-
Bug
-
Resolution: Done
-
Blocker
-
6.4.1
-
-
-
-
-
-
-
CR2
-
-
-
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.