Author: yegor
Date: Fri Oct 26 12:21:33 2012
New Revision: 1402482
URL: http://svn.apache.org/viewvc?rev=1402482&view=rev
Log:
Bug #54016 - Avoid exception when parsing workbooks with DConRefRecord in row
aggregate
Added:
poi/trunk/test-data/spreadsheet/54016.xls (with props)
Modified:
poi/trunk/src/documentation/content/xdocs/status.xml
poi/trunk/src/java/org/apache/poi/hssf/record/aggregates/RowRecordsAggregate.java
poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.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=1402482&r1=1402481&r2=1402482&view=diff
==============================================================================
--- poi/trunk/src/documentation/content/xdocs/status.xml (original)
+++ poi/trunk/src/documentation/content/xdocs/status.xml Fri Oct 26 12:21:33
2012
@@ -34,6 +34,7 @@
<changes>
<release version="3.9-beta1" date="2012-??-??">
+ <action dev="poi-developers" type="fix">54016 - Avoid exception when
parsing workbooks with DConRefRecord in row aggregate</action>
<action dev="poi-developers" type="fix">54008 - Fixed Ant build to
support build directories with blanks</action>
<action dev="poi-developers" type="fix">53374 - Avoid exceptions
when parsing hyperlinks of type "javascript://"</action>
<action dev="poi-developers" type="fix">53404 - Fixed compatibility
bug with modifying xls files created by POI-3.6 and earlier</action>
Modified:
poi/trunk/src/java/org/apache/poi/hssf/record/aggregates/RowRecordsAggregate.java
URL:
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/aggregates/RowRecordsAggregate.java?rev=1402482&r1=1402481&r2=1402482&view=diff
==============================================================================
---
poi/trunk/src/java/org/apache/poi/hssf/record/aggregates/RowRecordsAggregate.java
(original)
+++
poi/trunk/src/java/org/apache/poi/hssf/record/aggregates/RowRecordsAggregate.java
Fri Oct 26 12:21:33 2012
@@ -24,20 +24,7 @@ import java.util.Map;
import java.util.TreeMap;
import org.apache.poi.hssf.model.RecordStream;
-import org.apache.poi.hssf.record.ArrayRecord;
-import org.apache.poi.hssf.record.CellValueRecordInterface;
-import org.apache.poi.hssf.record.ContinueRecord;
-import org.apache.poi.hssf.record.DBCellRecord;
-import org.apache.poi.hssf.record.DimensionsRecord;
-import org.apache.poi.hssf.record.FormulaRecord;
-import org.apache.poi.hssf.record.IndexRecord;
-import org.apache.poi.hssf.record.MergeCellsRecord;
-import org.apache.poi.hssf.record.MulBlankRecord;
-import org.apache.poi.hssf.record.Record;
-import org.apache.poi.hssf.record.RowRecord;
-import org.apache.poi.hssf.record.SharedFormulaRecord;
-import org.apache.poi.hssf.record.TableRecord;
-import org.apache.poi.hssf.record.UnknownRecord;
+import org.apache.poi.hssf.record.*;
import org.apache.poi.ss.formula.FormulaShifter;
import org.apache.poi.ss.SpreadsheetVersion;
@@ -86,7 +73,10 @@ public final class RowRecordsAggregate e
case RowRecord.sid:
insertRow((RowRecord) rec);
continue;
- case DBCellRecord.sid:
+ case DConRefRecord.sid:
+ addUnknownRecord(rec);
+ continue;
+ case DBCellRecord.sid:
// end of 'Row Block'. Should only
occur after cell records
// ignore DBCELL records because POI
generates them upon re-serialization
continue;
Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java
URL:
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java?rev=1402482&r1=1402481&r2=1402482&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java
(original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java Fri Oct
26 12:21:33 2012
@@ -2313,4 +2313,10 @@ if(1==2) {
wb = writeOutAndReadBack((HSSFWorkbook) wb);
}
+
+ public void test54016() {
+ // This used to break
+ HSSFWorkbook wb = openSample("54016.xls");
+ wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
+ }
}
Added: poi/trunk/test-data/spreadsheet/54016.xls
URL:
http://svn.apache.org/viewvc/poi/trunk/test-data/spreadsheet/54016.xls?rev=1402482&view=auto
==============================================================================
Binary file - no diff available.
Propchange: poi/trunk/test-data/spreadsheet/54016.xls
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]