-
Bug
-
Resolution: Fixed
-
Normal
-
2.6.0, 3.0.0 RC
-
None
If load a xls file with line chart and non-contiguous series data, ZSS will throw a exception with message "Null 'key' argument."
The series data are incorrect when loading data into chart model.
reproducing step:
- load the attached file chart-separate.xls
- ZSS will throw a exception and doesn't draw such chart
Note that another attached file chart-separate.xlsx won't get this issue.
stack trace:
Jul 4, 2013 4:52:30 PM org.zkoss.zk.ui.impl.UiEngineImpl handleError:1352 SEVERE: >>java.lang.IllegalArgumentException: Null 'key' argument. >> at org.jfree.data.DefaultKeyedValues.setValue(DefaultKeyedValues.java:229) >> at org.jfree.data.DefaultKeyedValues2D.setValue(DefaultKeyedValues2D.java:337) >> at org.jfree.data.category.DefaultCategoryDataset.setValue(DefaultCategoryDataset.java:252) >> at org.zkoss.zkex.zul.impl.JFreeChartEngine.CategoryModelToCategoryDataset(JFreeChartEngine.java:554) >> at org.zkoss.zkex.zul.impl.JFreeChartEngine.access$3300(JFreeChartEngine.java:182) >> at org.zkoss.zkex.zul.impl.JFreeChartEngine$Line.createChart(JFreeChartEngine.java:1160) >> at org.zkoss.zkex.zul.impl.JFreeChartEngine.drawChart(JFreeChartEngine.java:336) >> at org.zkoss.zul.Chart.doSmartDraw(Chart.java:242) >> at org.zkoss.zul.Chart.access$100(Chart.java:82) >> at org.zkoss.zul.Chart$SmartDrawListener.onEvent(Chart.java:223) >> at org.zkoss.zk.ui.AbstractComponent.onEvent(AbstractComponent.java:2732) >> at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:2703) >> at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:2644) >> at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:136) >> at org.zkoss.zk.ui.impl.UiEngineImpl.processEvent(UiEngineImpl.java:1710) >> at org.zkoss.zk.ui.impl.UiEngineImpl.process(UiEngineImpl.java:1495) >> at org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage0(UiEngineImpl.java:464) >> at org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage(UiEngineImpl.java:316) >> at org.zkoss.zk.ui.http.DHtmlLayoutServlet.process(DHtmlLayoutServlet.java:215) >> at org.zkoss.zk.ui.http.DHtmlLayoutServlet.doGet(DHtmlLayoutServlet.java:135) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) >> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) >> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401) >> at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) >> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) >> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) >> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450) >> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) >> at org.mortbay.jetty.Server.handle(Server.java:326) >> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) >> at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928) >> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549) >> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) >> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) >> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410) >> at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)