You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ni...@apache.org on 2010/10/20 18:25:24 UTC

svn commit: r1025630 - in /poi/trunk: src/documentation/content/xdocs/ src/ooxml/java/org/apache/poi/xssf/eventusermodel/ src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/ test-data/spreadsheet/

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: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org