Hallo,
I have huge problems with vaadin spreadsheets and charts and I urgently need your help solving them.
Please read ISSUE 1 and 2.
ISSUE 1:
Please open the attached VaadinIssue1.xls with charts enabled and you will get the following exception.
It looks like whenever I create charts that refer to cells that do not contain any value, Vaadin completely crashes (see exception below).
Also if you add 3D Charts vaadin will crash again.
EXCEPTION:
java.lang.NullPointerException
at com.vaadin.addon.spreadsheet.charts.converter.xssfreader.AbstractSeriesReader.calculateDecimalsForTooltip(AbstractSeriesReader.java:236)
at com.vaadin.addon.spreadsheet.charts.converter.xssfreader.AbstractSeriesReader.createSeriesDataPoints(AbstractSeriesReader.java:213)
at com.vaadin.addon.spreadsheet.charts.converter.xssfreader.AbstractSeriesReader.fillSeriesData(AbstractSeriesReader.java:100)
at com.vaadin.addon.spreadsheet.charts.converter.xssfreader.BarSeriesReader.fillSeriesData(BarSeriesReader.java:65)
at com.vaadin.addon.spreadsheet.charts.converter.xssfreader.BarSeriesReader.fillSeriesData(BarSeriesReader.java:34)
at com.vaadin.addon.spreadsheet.charts.converter.xssfreader.AbstractSeriesReader.createAndFillSeriesDataObject(AbstractSeriesReader.java:81)
at com.vaadin.addon.spreadsheet.charts.converter.xssfreader.AbstractSeriesReader.getSeries(AbstractSeriesReader.java:73)
at com.vaadin.addon.spreadsheet.charts.converter.xssfreader.XSSFChartReader.readPlotData(XSSFChartReader.java:153)
at com.vaadin.addon.spreadsheet.charts.converter.xssfreader.XSSFChartReader.readXSSFChart(XSSFChartReader.java:74)
at com.vaadin.addon.spreadsheet.charts.converter.DefaultChartCreator.createChart(DefaultChartCreator.java:29)
at com.vaadin.addon.spreadsheet.SheetChartWrapper.initContent(SheetChartWrapper.java:105)
at com.vaadin.addon.spreadsheet.SheetChartWrapper.getComponent(SheetChartWrapper.java:138)
at com.vaadin.addon.spreadsheet.Spreadsheet.addOverlayData(Spreadsheet.java:3210)
at com.vaadin.addon.spreadsheet.Spreadsheet.loadOrUpdateOverlays(Spreadsheet.java:3193)
at com.vaadin.addon.spreadsheet.Spreadsheet.loadCells(Spreadsheet.java:2988)
at com.vaadin.addon.spreadsheet.Spreadsheet.onSheetScroll(Spreadsheet.java:766)
at com.vaadin.addon.spreadsheet.SpreadsheetHandlerImpl.onSheetScroll(SpreadsheetHandlerImpl.java:57)
at sun.reflect.GeneratedMethodAccessor1479.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:158)
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:118)
at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:408)
at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:273)
at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:79)
at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1409)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:364)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:65)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164)
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141)
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:417)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at nomitech.ces.webapp.LocaleFilter.doFilterInternal(LocaleFilter.java:78)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at nomitech.ces.valve.SessionFixationValve.invoke(SessionFixationValve.java:60)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:745)
ISSUE 2:
Open the attached file in the vaadin demo without charts and you will see that it completely destroys the colors and data is not visible. This is because it is Excel97 xls format. If I open it with Excel and save as later format it amazingly works, but if I export again from vaadin I am getting a warning in Excel.
28812.xls (10.5 KB)