Started work
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
This commit is contained in:
parent
84a76b619f
commit
36d74af3e4
@ -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
|
||||
*
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
Loading…
Reference in New Issue
Block a user