]> source.dussan.org Git - poi.git/commitdiff
latest update
authorSaid Ryan Ackley <sackley@apache.org>
Tue, 1 Jul 2003 23:57:07 +0000 (23:57 +0000)
committerSaid Ryan Ackley <sackley@apache.org>
Tue, 1 Jul 2003 23:57:07 +0000 (23:57 +0000)
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353185 13f79535-47bb-0310-9956-ffa450edef68

src/scratchpad/src/org/apache/poi/hwpf/model/hdftypes/CHPBinTable.java
src/scratchpad/src/org/apache/poi/hwpf/model/hdftypes/CHPFormattedDiskPage.java
src/scratchpad/src/org/apache/poi/hwpf/model/hdftypes/PAPBinTable.java
src/scratchpad/src/org/apache/poi/hwpf/model/hdftypes/PAPFormattedDiskPage.java
src/scratchpad/src/org/apache/poi/hwpf/model/hdftypes/PAPX.java
src/scratchpad/src/org/apache/poi/hwpf/model/hdftypes/ParagraphHeight.java
src/scratchpad/src/org/apache/poi/hwpf/model/hdftypes/PieceDescriptor.java
src/scratchpad/src/org/apache/poi/hwpf/model/hdftypes/TextPiece.java
src/scratchpad/src/org/apache/poi/hwpf/model/hdftypes/TextPieceTable.java

index 1e199a9b6e9b1ee2c28a1b4a8983e880b27e4fca..0b74c23ceba0bc00d6400f96869a0069b1aa853d 100644 (file)
@@ -94,6 +94,11 @@ public class CHPBinTable
     }
   }
 
+  public ArrayList getTextRuns()
+  {
+    return _textRuns;
+  }
+
   public void writeTo(HWPFFileSystem sys, int fcMin)
     throws IOException
   {
@@ -122,7 +127,6 @@ public class CHPBinTable
 
 
     ArrayList overflow = _textRuns;
-    byte[] intHolder = new byte[4];
     do
     {
       PropertyNode startingProp = (PropertyNode)overflow.get(0);
@@ -138,9 +142,10 @@ public class CHPBinTable
       int end = endingFc;
       if (overflow != null)
       {
-        end = ((PropertyNode)overflow.get(0)).getEnd();
+        end = ((PropertyNode)overflow.get(0)).getStart();
       }
 
+      byte[] intHolder = new byte[4];
       LittleEndian.putInt(intHolder, pageNum++);
       binTable.addProperty(new PropertyNode(start, end, intHolder));
 
index b453c7cffd464fc199a26a2a5fce17b08829be70..a906c46515dfb045d8afc859b788826bd96e2ae2 100644 (file)
@@ -178,7 +178,7 @@ public class CHPFormattedDiskPage extends FormattedDiskPage
       if (index != size)
       {
         _overFlow = new ArrayList();
-        _overFlow.addAll(index, _chpxList);
+        _overFlow.addAll(_chpxList.subList(index, size));
       }
 
       // index should equal number of CHPXs that will be in this fkp now.
index 92f954cbf98846a124a7b89f8a1864a9c9efe8ac..18cb0d12ef2ad0638e49be815da15aceeac43bae 100644 (file)
@@ -126,7 +126,6 @@ public class PAPBinTable
 
 
     ArrayList overflow = _paragraphs;
-    byte[] intHolder = new byte[4];
     do
     {
       PropertyNode startingProp = (PropertyNode)overflow.get(0);
@@ -142,9 +141,10 @@ public class PAPBinTable
       int end = endingFc;
       if (overflow != null)
       {
-        end = ((PropertyNode)overflow.get(0)).getEnd();
+        end = ((PropertyNode)overflow.get(0)).getStart();
       }
 
+      byte[] intHolder = new byte[4];
       LittleEndian.putInt(intHolder, pageNum++);
       binTable.addProperty(new PropertyNode(start, end, intHolder));
 
index 2890bc0850840f06983d4a671e6f7b33c1606472..4887c7dabd259debf45ed043550123bfebdbf412 100644 (file)
@@ -187,7 +187,7 @@ public class PAPFormattedDiskPage extends FormattedDiskPage
       if (index != size)
       {
         _overFlow = new ArrayList();
-        _overFlow.addAll(index, _papxList);
+        _overFlow.addAll(_papxList.subList(index, size));
       }
 
       // index should equal number of papxs that will be in this fkp now.
@@ -234,7 +234,7 @@ public class PAPFormattedDiskPage extends FormattedDiskPage
 
     private ParagraphHeight getParagraphHeight(int index)
     {
-      int pheOffset = 1 + (((_crun + 1) * 4) + (index * 13));
+      int pheOffset = _offset + 1 + (((_crun + 1) * 4) + (index * 13));
 
       ParagraphHeight phe = new ParagraphHeight(_fkp, pheOffset);
 
index 95ddb53a7ed8abc9379194f28f3200dd0d3f0b28..15b1326b6cd0920c37ced55b836dd4a8b5b19669 100644 (file)
@@ -82,5 +82,13 @@ public class PAPX extends PropertyNode
     return super.getBuf();
   }
 
+  public boolean equals(Object o)
+  {
+    if (super.equals(o))
+    {
+      return _phe.equals(((PAPX)o)._phe);
+    }
+    return false;
+  }
 
 }
index 2177007f5a2ab71e55a889a0811f4286c3585bfa..11287d9425a687a6a422aba74a7c01528dee3dc4 100644 (file)
@@ -105,4 +105,11 @@ public class ParagraphHeight
     return buf;
   }
 
+  public boolean equals(Object o)
+  {
+    ParagraphHeight ph = (ParagraphHeight)o;
+
+    return infoField == ph.infoField && reserved == ph.reserved &&
+           dxaCol == ph.dxaCol && dymLineOrHeight == ph.dymLineOrHeight;
+  }
 }
index 582692324942ef0ff084591e838ed4904b8de0fe..3dfd2f99defa9a2084c35fea6f913c3faa4d68ad 100644 (file)
@@ -135,4 +135,10 @@ public class PieceDescriptor
     return 8;
   }
 
+  public boolean equals(Object o)
+  {
+    PieceDescriptor pd = (PieceDescriptor)o;
+
+    return descriptor == pd.descriptor && prm == pd.prm && unicode == pd.unicode;
+  }
 }
index 91308c2b10eb6bf339d090f1dc1d8beec223451a..dbcb2192b044e236d16675be3714157d0a7f069e 100644 (file)
@@ -92,4 +92,14 @@ public class TextPiece extends PropertyNode implements Comparable
    {
      return _pd;
    }
+
+   public boolean equals(Object o)
+   {
+     if (super.equals(o))
+     {
+       TextPiece tp = (TextPiece)o;
+       return tp._usesUnicode == _usesUnicode && _pd.equals(tp._pd);
+     }
+     return false;
+   }
 }
index 257df115f614ef3a5e91c67a15ead51d6e4c1701..ddac07795262bc273dbea0a8722ec4355d313286 100644 (file)
@@ -147,5 +147,23 @@ public class TextPieceTable
 
   }
 
+  public boolean equals(Object o)
+  {
+    TextPieceTable tpt = (TextPieceTable)o;
+
+    int size = tpt._textPieces.size();
+    if (size == _textPieces.size())
+    {
+      for (int x = 0; x < size; x++)
+      {
+        if (!tpt._textPieces.get(x).equals(_textPieces.get(x)))
+        {
+          return false;
+        }
+      }
+      return true;
+    }
+    return false;
+  }
 
 }