Author: nick
Date: Wed Oct 20 16:25:24 2010
New Revision: 1025630
URL: http://svn.apache.org/viewvc?rev=1025630&view=rev
Log:
Fix bug #50119 - avoid NPE when XSSFReader comes across chart sheets
Added:
poi/trunk/test-data/spreadsheet/WithChartSheet.xlsx (with props)
Modified:
poi/trunk/src/documentation/content/xdocs/status.xml
poi/trunk/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java
Modified: poi/trunk/src/documentation/content/xdocs/status.xml
URL:
http://svn.apache.org/viewvc/poi/trunk/src/documentation/content/xdocs/status.xml?rev=1025630&r1=1025629&r2=1025630&view=diff
==============================================================================
--- poi/trunk/src/documentation/content/xdocs/status.xml (original)
+++ poi/trunk/src/documentation/content/xdocs/status.xml Wed Oct 20 16:25:24
2010
@@ -34,7 +34,7 @@
<changes>
<release version="3.8-beta1" date="2010-??-??">
-
+ <action dev="poi-developers" type="fix">50119 - avoid NPE when
XSSFReader comes across chart sheets</action>
</release>
<release version="3.7" date="2010-10-25">
<action dev="poi-developers" type="fix">50075 - avoid NPE in
ListLevel.getNumberText() when numberText is null </action>
Modified:
poi/trunk/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java
URL:
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java?rev=1025630&r1=1025629&r2=1025630&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFReader.java
Wed Oct 20 16:25:24 2010
@@ -177,7 +177,8 @@ public class XSSFReader {
//step 1. Map sheet's relationship Id and the corresponding
PackagePart
sheetMap = new HashMap<String, PackagePart>();
for(PackageRelationship rel : wb.getRelationships()){
-
if(rel.getRelationshipType().equals(XSSFRelation.WORKSHEET.getRelation())){
+
if(rel.getRelationshipType().equals(XSSFRelation.WORKSHEET.getRelation()) ||
+
rel.getRelationshipType().equals(XSSFRelation.CHARTSHEET.getRelation())){
PackagePartName relName =
PackagingURIHelper.createPartName(rel.getTargetURI());
sheetMap.put(rel.getId(),
wb.getPackage().getPart(relName));
}
Modified:
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java
URL:
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java?rev=1025630&r1=1025629&r2=1025630&view=diff
==============================================================================
---
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java
(original)
+++
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestXSSFReader.java
Wed Oct 20 16:25:24 2010
@@ -116,4 +116,22 @@ public final class TestXSSFReader extend
}
assertEquals(4, count);
}
+
+
+ /**
+ * Iterating over a workbook with chart sheets in it, using the
+ * XSSFReader method
+ * @throws Exception
+ */
+ public void test50119() throws Exception {
+ OPCPackage pkg =
XSSFTestDataSamples.openSamplePackage("WithChartSheet.xlsx");
+ XSSFReader r = new XSSFReader(pkg);
+ XSSFReader.SheetIterator it =
(XSSFReader.SheetIterator)r.getSheetsData();
+
+ while(it.hasNext())
+ {
+ InputStream stream = it.next();
+ stream.close();
+ }
+ }
}
Added: poi/trunk/test-data/spreadsheet/WithChartSheet.xlsx
URL:
http://svn.apache.org/viewvc/poi/trunk/test-data/spreadsheet/WithChartSheet.xlsx?rev=1025630&view=auto
==============================================================================
Binary file - no diff available.
Propchange: poi/trunk/test-data/spreadsheet/WithChartSheet.xlsx
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]