poi-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From max...@apache.org
Subject svn commit: r1172583 - in /poi/trunk/src: documentation/content/xdocs/status.xml scratchpad/src/org/apache/poi/hslf/record/ExOleObjStg.java
Date Mon, 19 Sep 2011 12:06:58 GMT
Author: maxcom
Date: Mon Sep 19 12:06:58 2011
New Revision: 1172583

URL: http://svn.apache.org/viewvc?rev=1172583&view=rev
Log:
HSLF: support for uncompressed OLE embeddings

Modified:
    poi/trunk/src/documentation/content/xdocs/status.xml
    poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/ExOleObjStg.java

Modified: poi/trunk/src/documentation/content/xdocs/status.xml
URL: http://svn.apache.org/viewvc/poi/trunk/src/documentation/content/xdocs/status.xml?rev=1172583&r1=1172582&r2=1172583&view=diff
==============================================================================
--- poi/trunk/src/documentation/content/xdocs/status.xml (original)
+++ poi/trunk/src/documentation/content/xdocs/status.xml Mon Sep 19 12:06:58 2011
@@ -47,6 +47,7 @@
            <action dev="poi-developers" type="add">XSLFPowerPointExtractor support
for including comment authors with comment text</action>
            <action dev="poi-developers" type="fix">Converted XSLFPowerPointExtractor
to use UserModel for all text extraction</action>
            <action dev="poi-developers" type="add">XSLF initial UserModel support for
Notes and Comments for Slides</action>
+           <action dev="poi-developers" type="add">HSLF: support for uncompressed OLE
embeddings</action>
         </release>
         <release version="3.8-beta4" date="2011-08-26">
            <action dev="poi-developers" type="fix">51678 - Extracting text from Bug51524.zip
is slow</action>

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/ExOleObjStg.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/ExOleObjStg.java?rev=1172583&r1=1172582&r2=1172583&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/ExOleObjStg.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/ExOleObjStg.java Mon Sep 19 12:06:58
2011
@@ -73,13 +73,21 @@ public class ExOleObjStg extends RecordA
         System.arraycopy(source,start+8,_data,0,len-8);
     }
 
+    public boolean isCompressed() {
+        return LittleEndian.getShort(_header, 0)!=0;
+    }
+
     /**
      * Gets the uncompressed length of the data.
      *
      * @return the uncompressed length of the data.
      */
     public int getDataLength() {
-        return LittleEndian.getInt(_data, 0);
+        if (isCompressed()) {
+            return LittleEndian.getInt(_data, 0);
+        } else {
+            return _data.length;
+        }
     }
 
     /**
@@ -88,8 +96,12 @@ public class ExOleObjStg extends RecordA
      * @return the data input stream.
      */
     public InputStream getData() {
-        InputStream compressedStream = new ByteArrayInputStream(_data, 4, _data.length);
-        return new InflaterInputStream(compressedStream);
+        if (isCompressed()) {
+            InputStream compressedStream = new ByteArrayInputStream(_data, 4, _data.length);
+            return new InflaterInputStream(compressedStream);
+        } else {
+            return new ByteArrayInputStream(_data, 0, _data.length);
+        }
     }
 
     public byte[] getRawData() {



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org


Mime
View raw message