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