mirror of https://github.com/apache/poi.git
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
ee00122cd8
commit
87a3a70f99
|
@ -7,10 +7,18 @@
|
||||||
package org.apache.poi.hdf.model;
|
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.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.POIFSFileSystem;
|
||||||
import org.apache.poi.poifs.filesystem.POIFSDocument;
|
import org.apache.poi.poifs.filesystem.POIFSDocument;
|
||||||
import org.apache.poi.poifs.filesystem.DocumentEntry;
|
import org.apache.poi.poifs.filesystem.DocumentEntry;
|
||||||
|
@ -41,13 +49,14 @@ public class HDFObjectFactory
|
||||||
private FontTable _fonts;
|
private FontTable _fonts;
|
||||||
|
|
||||||
/** text pieces */
|
/** text pieces */
|
||||||
BTreeSet _text = new BTreeSet();
|
//BTreeSet _text = new BTreeSet();
|
||||||
|
TreeSet _text = new TreeSet();
|
||||||
/** document sections */
|
/** document sections */
|
||||||
BTreeSet _sections = new BTreeSet();
|
TreeSet _sections = new TreeSet();
|
||||||
/** document paragraphs */
|
/** document paragraphs */
|
||||||
BTreeSet _paragraphs = new BTreeSet();
|
TreeSet _paragraphs = new TreeSet();
|
||||||
/** document character runs */
|
/** document character runs */
|
||||||
BTreeSet _characterRuns = new BTreeSet();
|
TreeSet _characterRuns = new TreeSet();
|
||||||
|
|
||||||
/** main document stream buffer*/
|
/** main document stream buffer*/
|
||||||
byte[] _mainDocument;
|
byte[] _mainDocument;
|
||||||
|
@ -78,9 +87,31 @@ public class HDFObjectFactory
|
||||||
initTextPieces();
|
initTextPieces();
|
||||||
initFormattingProperties();
|
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
|
* Initializes the table stream
|
||||||
*
|
*
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
<echo message=" scratchpad ------- build-run scratchpad code"/>
|
<echo message=" scratchpad ------- build-run scratchpad code"/>
|
||||||
<echo message=" contrib ---------- build-run contributed code"/>
|
<echo message=" contrib ---------- build-run contributed code"/>
|
||||||
<echo message=" generate-records - generate excel records"/>
|
<echo message=" generate-records - generate excel records"/>
|
||||||
|
<echo message=" generate-types --- generate word types"/>
|
||||||
|
|
||||||
<property name="input.selection" value="compile"/>
|
<property name="input.selection" value="compile"/>
|
||||||
<user-input name="input.selection">Please select a target </user-input>
|
<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
|
public class <xsl:value-of select="@name"/>Type
|
||||||
implements HDFType
|
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: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:apply-templates select="./bit|./const"/>
|
||||||
</xsl:for-each>
|
</xsl:for-each>
|
||||||
|
@ -110,18 +110,6 @@ public class <xsl:value-of select="@name"/>Type
|
||||||
return buffer.toString();
|
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)
|
* Size of record (exluding 4 byte header)
|
||||||
*/
|
*/
|
||||||
|
@ -134,10 +122,6 @@ public class <xsl:value-of select="@name"/>Type
|
||||||
</xsl:for-each>;
|
</xsl:for-each>;
|
||||||
}
|
}
|
||||||
|
|
||||||
public short getSid()
|
|
||||||
{
|
|
||||||
return this.sid;
|
|
||||||
}
|
|
||||||
|
|
||||||
<xsl:apply-templates select="//field" mode="getset"/>
|
<xsl:apply-templates select="//field" mode="getset"/>
|
||||||
<xsl:apply-templates select="//field" mode="bits"/>
|
<xsl:apply-templates select="//field" mode="bits"/>
|
||||||
|
@ -172,7 +156,7 @@ public class <xsl:value-of select="@name"/>Type
|
||||||
</xsl:for-each>
|
</xsl:for-each>
|
||||||
</xsl:template>
|
</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>
|
||||||
<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 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>
|
</xsl:template>
|
||||||
|
|
Loading…
Reference in New Issue