]> source.dussan.org Git - poi.git/commitdiff
Started work
authorAndrew C. Oliver <acoliver@apache.org>
Sat, 23 Mar 2002 23:35:21 +0000 (23:35 +0000)
committerAndrew C. Oliver <acoliver@apache.org>
Sat, 23 Mar 2002 23:35:21 +0000 (23:35 +0000)
PR:
Obtained from:
Submitted by:
Reviewed by:

git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@352267 13f79535-47bb-0310-9956-ffa450edef68

src/scratchpad/src/org/apache/poi/hdf/model/HDFObjectFactory.java
src/targets/interactive.xtarget
src/types/styles/hdftype.xsl

index ba7f5c30ea6d5f292f2a5b68953a1fa777066d22..251d73e6e2d75ba0e6981e453529094b353def37 100644 (file)
@@ -7,10 +7,18 @@
 package org.apache.poi.hdf.model;
 
 
-import java.io.*;
+//import java.io;
+
+import java.util.ArrayList;
+import java.io.InputStream;
+import java.io.IOException;
+import java.util.List;
+import java.util.TreeSet;
+
 
 import org.apache.poi.hdf.model.hdftypes.*;
-import org.apache.poi.hdf.model.util.*;
+//import org.apache.poi.hdf.model.util.*;
+
 import org.apache.poi.poifs.filesystem.POIFSFileSystem;
 import org.apache.poi.poifs.filesystem.POIFSDocument;
 import org.apache.poi.poifs.filesystem.DocumentEntry;
@@ -41,13 +49,14 @@ public class HDFObjectFactory
     private FontTable _fonts;
 
     /** text pieces */
-    BTreeSet _text = new BTreeSet();
+    //BTreeSet _text = new BTreeSet();
+    TreeSet _text = new TreeSet();
     /** document sections */
-    BTreeSet _sections = new BTreeSet();
+    TreeSet _sections = new TreeSet();
     /** document paragraphs */
-    BTreeSet _paragraphs = new BTreeSet();
+    TreeSet _paragraphs = new TreeSet();
     /** document character runs */
-    BTreeSet _characterRuns = new BTreeSet();
+    TreeSet _characterRuns = new TreeSet();
 
     /** main document stream buffer*/
     byte[] _mainDocument;
@@ -78,9 +87,31 @@ public class HDFObjectFactory
         initTextPieces();
         initFormattingProperties();
 
-        istream.close();
+    }
+    
+    public static List getTypes(InputStream istream) throws IOException
+    {
+        List results = new ArrayList(1);
+        
+        //do Ole stuff
+        POIFSFileSystem filesystem = new POIFSFileSystem(istream);
+        
+        DocumentEntry headerProps =
+            (DocumentEntry)filesystem.getRoot().getEntry("WordDocument");
+
+        byte[] mainDocument = new byte[headerProps.getSize()];
+        filesystem.createDocumentInputStream("WordDocument").read(mainDocument);
+
+        FileInformationBlock fib = new FileInformationBlock(mainDocument);
 
+       // initTableStream();
+       // initTextPieces();
+       // initFormattingProperties();
+        
+        results.add(fib);
+        return results;
     }
+   
     /**
      * Initializes the table stream
      *
index d6413bccebcb111033918375528635c8ba0663d1..3dce9949d58afe0eea88f6b59c80f2585b818048 100644 (file)
@@ -24,6 +24,7 @@
     <echo message=" scratchpad ------- build-run scratchpad code"/>       
     <echo message=" contrib ---------- build-run contributed code"/>    
     <echo message=" generate-records - generate excel records"/>    
+    <echo message=" generate-types --- generate word types"/>    
 
     <property name="input.selection" value="compile"/>        
     <user-input name="input.selection">Please select a target </user-input>   
index 95a173348ac346f3ba0a83cce58e1831d5cec039..091b89bfb9ab93c3ee9b2fef5ccd90fcaec10b54 100644 (file)
@@ -79,7 +79,7 @@ import org.apache.poi.hdf.model.hdftypes.HDFType;
 public class <xsl:value-of select="@name"/>Type
     implements HDFType
 {
-    public final static short      sid                             = <xsl:value-of select="@id"/>;
+
 <xsl:for-each select="//fields/field">    private  <xsl:value-of select="recutil:getType(@size,@type,10)"/><xsl:text> </xsl:text><xsl:value-of select="recutil:getFieldName(position(),@name,0)"/>;
 <xsl:apply-templates select="./bit|./const"/>
 </xsl:for-each>
@@ -110,18 +110,6 @@ public class <xsl:value-of select="@name"/>Type
         return buffer.toString();
     }
 
-    public int serialize(int offset, byte[] data)
-    {
-        LittleEndian.putShort(data, 0 + offset, sid);
-        LittleEndian.putShort(data, 2 + offset, (short)(getSize() - 4));
-<xsl:variable name="fieldIterator" select="field:new()"/>
-<xsl:for-each select="//fields/field"><xsl:text>
-        </xsl:text><xsl:value-of select="field:serialiseEncoder($fieldIterator,position(),@name,@size,@type)"/>
-</xsl:for-each>
-
-        return getSize();
-    }
-
     /**
      * Size of record (exluding 4 byte header)
      */
@@ -134,10 +122,6 @@ public class <xsl:value-of select="@name"/>Type
 </xsl:for-each>;
     }
 
-    public short getSid()
-    {
-        return this.sid;
-    }
 
 <xsl:apply-templates select="//field" mode="getset"/>
 <xsl:apply-templates select="//field" mode="bits"/>
@@ -172,7 +156,7 @@ public class <xsl:value-of select="@name"/>Type
 </xsl:for-each>
 </xsl:template>
 
-<xsl:template match = "bit" >    private BitField   <xsl:value-of select="recutil:getFieldName(@name,42)"/> = new BitField(<xsl:value-of select="recutil:getMask(@number)"/>);
+<xsl:template match = "bit" >    private BitField   <xsl:value-of select="recutil:getFieldName(@name,42)"/> = new BitField(<xsl:value-of select="@mask"/>);
 </xsl:template>
 <xsl:template match = "const">    public final static <xsl:value-of select="recutil:getType(../@size,../@type,10)"/><xsl:text>  </xsl:text><xsl:value-of select="recutil:getConstName(../@name,@name,30)"/> = <xsl:value-of select="@value"/>;
 </xsl:template>