https://issues.apache.org/bugzilla/show_bug.cgi?id=48087
--- Comment #2 from Robin Salkeld <[email protected]> 2009-10-30 10:26:36 UTC --- (In reply to comment #1) > It is not broken, rather not implemented. > > Initializing of the superclass is skipped intentionally. Chart sheets don't > have rows/columns and most of methods from XSSFSheet don't make sense for > XSSFChartSheet. > > Can you post a use-case that results in NPE? What methods are you calling? > > I agree that NPE is not appropriate. get* methods of the Sheet interface that > don't make sense should either return an empty iterator or false or 0: > At least, the code below should NOT throw NPE: > for(Row row : chartSheet) > for(int i=0; i < chartSheet.getPhysicalNumberOfRows()) > > set* modifiers should either do nothing or throw "Not supported for charts". > > > Yegor Nearly any method related to the data will do it, since all the fields are null. For a use case, let's say getFirstRowNum or getLastRowNum, since you'd need to call them at least to discover that a chart sheet has no actual data (or getPhysicalNumberOfRows() as you mentioned). Are you looking for a concrete test case? I should also point out that the implicit no argument constructor is inconsistent with the deserialization method (i.e. XSSFChartSheet(PackagePart part, PackageRelationship rel) followed by a call to #read), since the former actually DOES initialize the superclass. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
