You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by jo...@apache.org on 2008/09/29 20:48:44 UTC
svn commit: r700204 - in /poi/trunk/src/java/org/apache/poi/hssf:
eventmodel/ModelFactory.java model/RecordOrderer.java
record/aggregates/FormulaRecordAggregate.java
Author: josh
Date: Mon Sep 29 11:48:43 2008
New Revision: 700204
URL: http://svn.apache.org/viewvc?rev=700204&view=rev
Log:
Should have been submitted with c700203 (Refactoring row-blocks record reading logic in Sheet)
Modified:
poi/trunk/src/java/org/apache/poi/hssf/eventmodel/ModelFactory.java
poi/trunk/src/java/org/apache/poi/hssf/model/RecordOrderer.java
poi/trunk/src/java/org/apache/poi/hssf/record/aggregates/FormulaRecordAggregate.java
Modified: poi/trunk/src/java/org/apache/poi/hssf/eventmodel/ModelFactory.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/eventmodel/ModelFactory.java?rev=700204&r1=700203&r2=700204&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/eventmodel/ModelFactory.java (original)
+++ poi/trunk/src/java/org/apache/poi/hssf/eventmodel/ModelFactory.java Mon Sep 29 11:48:43 2008
@@ -31,9 +31,9 @@
/**
- * ModelFactory creates workbook and sheet models based upon
+ * ModelFactory creates workbook and sheet models based upon
* events thrown by them there events from the EventRecordFactory.
- *
+ *
* @see org.apache.poi.hssf.eventmodel.EventRecordFactory
* @author Andrew C. Oliver acoliver@apache.org
*/
@@ -43,7 +43,7 @@
List listeners;
Model currentmodel;
boolean lastEOF;
-
+
/**
* Constructor for ModelFactory. Does practically nothing.
*/
@@ -52,15 +52,15 @@
super();
listeners = new ArrayList(1);
}
-
+
/**
- * register a ModelFactoryListener so that it can receive
+ * register a ModelFactoryListener so that it can receive
* Models as they are created.
*/
public void registerListener(ModelFactoryListener listener) {
listeners.add(listener);
}
-
+
/**
* Start processing the Workbook stream into Model events.
*/
@@ -75,31 +75,31 @@
{
if (rec.getSid() == BOFRecord.sid) {
if (lastEOF != true) {
- throw new RuntimeException("Not yet handled embedded models");
+ throw new RuntimeException("Not yet handled embedded models");
} else {
BOFRecord bof = (BOFRecord)rec;
switch (bof.getType()) {
case BOFRecord.TYPE_WORKBOOK:
- currentmodel = new Workbook();
+ currentmodel = new Workbook();
break;
case BOFRecord.TYPE_WORKSHEET:
- currentmodel = new Sheet();
+ currentmodel = Sheet.createSheet();
break;
default:
throw new RuntimeException("Unsupported model type "+bof.getType());
- }
-
- }
+ }
+
+ }
}
-
+
if (rec.getSid() == EOFRecord.sid) {
lastEOF = true;
throwEvent(currentmodel);
} else {
- lastEOF = false;
+ lastEOF = false;
}
-
-
+
+
return true;
}
Modified: poi/trunk/src/java/org/apache/poi/hssf/model/RecordOrderer.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/model/RecordOrderer.java?rev=700204&r1=700203&r2=700204&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/model/RecordOrderer.java (original)
+++ poi/trunk/src/java/org/apache/poi/hssf/model/RecordOrderer.java Mon Sep 29 11:48:43 2008
@@ -19,7 +19,10 @@
import java.util.List;
+import org.apache.poi.hssf.record.ArrayRecord;
import org.apache.poi.hssf.record.BOFRecord;
+import org.apache.poi.hssf.record.BlankRecord;
+import org.apache.poi.hssf.record.BoolErrRecord;
import org.apache.poi.hssf.record.CalcCountRecord;
import org.apache.poi.hssf.record.CalcModeRecord;
import org.apache.poi.hssf.record.DVALRecord;
@@ -30,22 +33,30 @@
import org.apache.poi.hssf.record.DrawingRecord;
import org.apache.poi.hssf.record.DrawingSelectionRecord;
import org.apache.poi.hssf.record.EOFRecord;
+import org.apache.poi.hssf.record.FormulaRecord;
import org.apache.poi.hssf.record.GridsetRecord;
import org.apache.poi.hssf.record.GutsRecord;
import org.apache.poi.hssf.record.HyperlinkRecord;
import org.apache.poi.hssf.record.IndexRecord;
import org.apache.poi.hssf.record.IterationRecord;
+import org.apache.poi.hssf.record.LabelRecord;
+import org.apache.poi.hssf.record.LabelSSTRecord;
+import org.apache.poi.hssf.record.NumberRecord;
import org.apache.poi.hssf.record.ObjRecord;
import org.apache.poi.hssf.record.PaneRecord;
import org.apache.poi.hssf.record.PrecisionRecord;
import org.apache.poi.hssf.record.PrintGridlinesRecord;
import org.apache.poi.hssf.record.PrintHeadersRecord;
+import org.apache.poi.hssf.record.RKRecord;
import org.apache.poi.hssf.record.Record;
import org.apache.poi.hssf.record.RecordBase;
import org.apache.poi.hssf.record.RefModeRecord;
+import org.apache.poi.hssf.record.RowRecord;
import org.apache.poi.hssf.record.SCLRecord;
import org.apache.poi.hssf.record.SaveRecalcRecord;
import org.apache.poi.hssf.record.SelectionRecord;
+import org.apache.poi.hssf.record.SharedFormulaRecord;
+import org.apache.poi.hssf.record.TableRecord;
import org.apache.poi.hssf.record.TextObjectRecord;
import org.apache.poi.hssf.record.UncalcedRecord;
import org.apache.poi.hssf.record.UnknownRecord;
@@ -324,7 +335,7 @@
* It is assumed that at least one row or cell value record has been found prior to the current
* record
*/
- public static boolean isEndOfRowBlock(short sid) {
+ public static boolean isEndOfRowBlock(int sid) {
switch(sid) {
case DrawingRecord.sid:
case DrawingSelectionRecord.sid:
@@ -344,4 +355,29 @@
}
return PageSettingsBlock.isComponentRecord(sid);
}
+
+ /**
+ * @return <code>true</code> if the specified record id normally appears in the row blocks section
+ * of the sheet records
+ */
+ public static boolean isRowBlockRecord(int sid) {
+ switch (sid) {
+ case RowRecord.sid:
+
+ case BlankRecord.sid:
+ case BoolErrRecord.sid:
+ case FormulaRecord.sid:
+ case LabelRecord.sid:
+ case LabelSSTRecord.sid:
+ case NumberRecord.sid:
+ case RKRecord.sid:
+
+ case ArrayRecord.sid:
+ case SharedFormulaRecord.sid:
+ case TableRecord.sid:
+ return true;
+
+ }
+ return false;
+ }
}
Modified: poi/trunk/src/java/org/apache/poi/hssf/record/aggregates/FormulaRecordAggregate.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/aggregates/FormulaRecordAggregate.java?rev=700204&r1=700203&r2=700204&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/record/aggregates/FormulaRecordAggregate.java (original)
+++ poi/trunk/src/java/org/apache/poi/hssf/record/aggregates/FormulaRecordAggregate.java Mon Sep 29 11:48:43 2008
@@ -47,12 +47,12 @@
}
boolean hasStringRec = stringRec != null;
boolean hasCachedStringFlag = formulaRec.hasCachedResultString();
- if (hasStringRec != hasCachedStringFlag) {
- throw new RecordFormatException("String record was "
- + (hasStringRec ? "": "not ") + " supplied but formula record flag is "
- + (hasCachedStringFlag ? "" : "not ") + " set");
- }
-
+ if (hasStringRec != hasCachedStringFlag) {
+ throw new RecordFormatException("String record was "
+ + (hasStringRec ? "": "not ") + " supplied but formula record flag is "
+ + (hasCachedStringFlag ? "" : "not ") + " set");
+ }
+
if (formulaRec.isSharedFormula()) {
svm.convertSharedFormulaRecord(formulaRec);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org