diff --git a/src/scratchpad/src/org/apache/poi/hdf/model/HDFObjectFactory.java b/src/scratchpad/src/org/apache/poi/hdf/model/HDFObjectFactory.java
index ba7f5c30ea..251d73e6e2 100644
--- a/src/scratchpad/src/org/apache/poi/hdf/model/HDFObjectFactory.java
+++ b/src/scratchpad/src/org/apache/poi/hdf/model/HDFObjectFactory.java
@@ -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
*
diff --git a/src/targets/interactive.xtarget b/src/targets/interactive.xtarget
index d6413bcceb..3dce9949d5 100644
--- a/src/targets/interactive.xtarget
+++ b/src/targets/interactive.xtarget
@@ -24,6 +24,7 @@
+
Please select a target
diff --git a/src/types/styles/hdftype.xsl b/src/types/styles/hdftype.xsl
index 95a173348a..091b89bfb9 100644
--- a/src/types/styles/hdftype.xsl
+++ b/src/types/styles/hdftype.xsl
@@ -79,7 +79,7 @@ import org.apache.poi.hdf.model.hdftypes.HDFType;
public class Type
implements HDFType
{
- public final static short sid = ;
+
private ;
@@ -110,18 +110,6 @@ public class 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));
-
-
-
-
-
- return getSize();
- }
-
/**
* Size of record (exluding 4 byte header)
*/
@@ -134,10 +122,6 @@ public class Type
;
}
- public short getSid()
- {
- return this.sid;
- }
@@ -172,7 +156,7 @@ public class Type
- private BitField = new BitField();
+ private BitField = new BitField();
public final static = ;