]> source.dussan.org Git - poi.git/commitdiff
added a set accessor for embedded ole data
authorYegor Kozlov <yegor@apache.org>
Thu, 15 May 2008 15:23:38 +0000 (15:23 +0000)
committerYegor Kozlov <yegor@apache.org>
Thu, 15 May 2008 15:23:38 +0000 (15:23 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@656699 13f79535-47bb-0310-9956-ffa450edef68

src/scratchpad/src/org/apache/poi/hslf/record/ExOleObjStg.java
src/scratchpad/src/org/apache/poi/hslf/usermodel/ObjectData.java

index f729c2da1afe1a2cd1a125106f6e3de4bc8b98da..c7408b0fe4e5ffbe903c27659d9abedd37341c7d 100644 (file)
@@ -90,8 +90,18 @@ public class ExOleObjStg extends RecordAtom implements PersistRecord {
         return new InflaterInputStream(compressedStream);
     }
 
-    public void setData(byte[] data) throws IOException {
-        ByteArrayOutputStream out = new ByteArrayOutputStream(data.length);
+    /**
+     * Sets the embedded data.
+     *
+     * @param data the embedded data.
+     */
+     public void setData(byte[] data) throws IOException {
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        //first four bytes is the length of the raw data
+        byte[] b = new byte[4];
+        LittleEndian.putInt(b, data.length);
+        out.write(b);
+
         DeflaterOutputStream def = new DeflaterOutputStream(out);
         def.write(data, 0, data.length);
         def.finish();
index 957e78868ed6345a1fcc8769a69d865dc3bfac56..bbef87a96cf2b34536af5cff307baa8b5d453e01 100644 (file)
@@ -17,6 +17,7 @@
 package org.apache.poi.hslf.usermodel;
 
 import java.io.InputStream;
+import java.io.IOException;
 
 import org.apache.poi.hslf.record.ExOleObjStg;
 
@@ -49,6 +50,15 @@ public class ObjectData {
         return storage.getData();
     }
 
+    /**
+     * Sets the embedded data.
+     *
+     * @param data the embedded data.
+     */
+     public void setData(byte[] data) throws IOException {
+        storage.setData(data);    
+    }
+
     /**
      * Return the record that contains the object data.
      *