]> source.dussan.org Git - poi.git/commitdiff
Autoboxing tweaks from bug #51175, and make the paragraph/table finding code generic
authorNick Burch <nick@apache.org>
Fri, 13 May 2011 12:22:24 +0000 (12:22 +0000)
committerNick Burch <nick@apache.org>
Fri, 13 May 2011 12:22:24 +0000 (12:22 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1102691 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/java/org/apache/poi/xwpf/usermodel/BreakClear.java
src/ooxml/java/org/apache/poi/xwpf/usermodel/BreakType.java
src/ooxml/java/org/apache/poi/xwpf/usermodel/LineSpacingRule.java
src/ooxml/java/org/apache/poi/xwpf/usermodel/ParagraphAlignment.java
src/ooxml/java/org/apache/poi/xwpf/usermodel/TextAlignment.java
src/ooxml/java/org/apache/poi/xwpf/usermodel/UnderlinePatterns.java
src/ooxml/java/org/apache/poi/xwpf/usermodel/VerticalAlign.java
src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java
src/ooxml/testcases/org/apache/poi/xwpf/TestXWPFDocument.java

index ec107931bc636b216d6802b191f0293713a98abb..8ad98905e058190d8c4a3f093e5fa07c9f8e8b74 100644 (file)
@@ -86,26 +86,25 @@ public enum BreakClear {
     private final int value;
 
     private BreakClear(int val) {
-       value = val;
+       value = val;
     }
 
     public int getValue() {
-       return value;
+       return value;
     }
 
     private static Map<Integer, BreakClear> imap = new HashMap<Integer, BreakClear>();
     static {
-       for (BreakClear p : values()) {
-           imap.put(p.getValue(), p);
-       }
+       for (BreakClear p : values()) {
+          imap.put(new Integer(p.getValue()), p);
+       }
     }
 
     public static BreakClear valueOf(int type) {
-       BreakClear bType = imap.get(type);
-       if (bType == null)
-           throw new IllegalArgumentException("Unknown break clear type: "
-                   + type);
-       return bType;
+       BreakClear bType = imap.get(new Integer(type));
+       if (bType == null)
+          throw new IllegalArgumentException("Unknown break clear type: "
+                + type);
+       return bType;
     }
-
 }
index 97e9ad27deec779db2b71050a84294ffaf7694b4..60b35225b74418a59f4b347d6d2b41812f4dda65 100644 (file)
@@ -59,26 +59,25 @@ public enum BreakType {
     private final int value;
 
     private BreakType(int val) {
-       value = val;
+       value = val;
     }
 
     public int getValue() {
-       return value;
+       return value;
     }
 
     private static Map<Integer, BreakType> imap = new HashMap<Integer, BreakType>();
     static {
-       for (BreakType p : values()) {
-           imap.put(p.getValue(), p);
-       }
+       for (BreakType p : values()) {
+          imap.put(new Integer(p.getValue()), p);
+       }
     }
 
     public static BreakType valueOf(int type) {
-       BreakType bType = imap.get(type);
-       if (bType == null)
-           throw new IllegalArgumentException("Unknown break type: "
-                   + type);
-       return bType;
+       BreakType bType = imap.get(new Integer(type));
+       if (bType == null)
+          throw new IllegalArgumentException("Unknown break type: "
+                + type);
+       return bType;
     }
-
 }
index be77ff70de9148963247893dfc93f8270a2a3442..166d8e70123f375de790a7d8700e99b427b7a24d 100644 (file)
@@ -52,25 +52,24 @@ public enum LineSpacingRule {
     private final int value;
 
     private LineSpacingRule(int val) {
-       value = val;
+       value = val;
     }
 
     public int getValue() {
-       return value;
+       return value;
     }
 
     private static Map<Integer, LineSpacingRule> imap = new HashMap<Integer, LineSpacingRule>();
     static {
-       for (LineSpacingRule p : values()) {
-           imap.put(p.getValue(), p);
-       }
+       for (LineSpacingRule p : values()) {
+          imap.put(new Integer(p.getValue()), p);
+       }
     }
 
     public static LineSpacingRule valueOf(int type) {
-       LineSpacingRule lineType = imap.get(type);
-       if (lineType == null)
-           throw new IllegalArgumentException("Unknown line type: " + type);
-       return lineType;
+       LineSpacingRule lineType = imap.get(new Integer(type));
+       if (lineType == null)
+          throw new IllegalArgumentException("Unknown line type: " + type);
+       return lineType;
     }
-
 }
index 2fd6acade0c1349e34176892d065345981b5f4ef..0585ecb4c45ad372a47e25cb03f82bc4a4fd8256 100644 (file)
@@ -53,12 +53,12 @@ public enum ParagraphAlignment {
     private static Map<Integer, ParagraphAlignment> imap = new HashMap<Integer, ParagraphAlignment>();
     static{
         for (ParagraphAlignment p : values()) {
-            imap.put(p.getValue(), p);
+            imap.put(new Integer(p.getValue()), p);
         }
     }
 
     public static ParagraphAlignment valueOf(int type){
-        ParagraphAlignment err = imap.get(type);
+        ParagraphAlignment err = imap.get(new Integer(type));
         if(err == null) throw new IllegalArgumentException("Unknown paragraph alignment: " + type);
         return err;
     }
index 4bf1f86d122764331fb5e333d5efbbdc087368c5..b2a8c13c780ff9c7782ca10d701b575258cbb1ba 100644 (file)
@@ -59,20 +59,19 @@ public enum TextAlignment {
     }
 
     public int getValue(){
-       return value;
+       return value;
     }
 
     private static Map<Integer, TextAlignment> imap = new HashMap<Integer, TextAlignment>();
     static{
-       for (TextAlignment p : values()) {
-           imap.put(p.getValue(), p);
-       }
+       for (TextAlignment p : values()) {
+          imap.put(new Integer(p.getValue()), p);
+       }
     }
 
     public static TextAlignment valueOf(int type){
-       TextAlignment align = imap.get(type);
-       if(align == null) throw new IllegalArgumentException("Unknown text alignment: " + type);
-       return align;
+       TextAlignment align = imap.get(new Integer(type));
+       if(align == null) throw new IllegalArgumentException("Unknown text alignment: " + type);
+       return align;
     }
-
 }
index a2d3682a4a2ab31345186d2441350b50d4393ae8..578dec33253b84bfd27fc5a3c214e0ce19f559a5 100644 (file)
@@ -138,26 +138,25 @@ public enum UnderlinePatterns {
     private final int value;
 
     private UnderlinePatterns(int val) {
-       value = val;
+       value = val;
     }
 
     public int getValue() {
-       return value;
+       return value;
     }
 
     private static Map<Integer, UnderlinePatterns> imap = new HashMap<Integer, UnderlinePatterns>();
     static {
-       for (UnderlinePatterns p : values()) {
-           imap.put(p.getValue(), p);
-       }
+       for (UnderlinePatterns p : values()) {
+          imap.put(new Integer(p.getValue()), p);
+       }
     }
 
     public static UnderlinePatterns valueOf(int type) {
-       UnderlinePatterns align = imap.get(type);
-       if (align == null)
-           throw new IllegalArgumentException("Unknown underline pattern: "
-                   + type);
-       return align;
+       UnderlinePatterns align = imap.get(new Integer(type));
+       if (align == null)
+          throw new IllegalArgumentException("Unknown underline pattern: "
+                + type);
+       return align;
     }
-
 }
index 691d856c1087c77a851fff4f0767352b25928477..84ff628587f542fb70cea4afbca3459561be67c5 100644 (file)
@@ -50,26 +50,25 @@ public enum VerticalAlign {
     private final int value;
 
     private VerticalAlign(int val) {
-       value = val;
+       value = val;
     }
 
     public int getValue() {
-       return value;
+       return value;
     }
 
     private static Map<Integer, VerticalAlign> imap = new HashMap<Integer, VerticalAlign>();
     static {
-       for (VerticalAlign p : values()) {
-           imap.put(p.getValue(), p);
-       }
+       for (VerticalAlign p : values()) {
+          imap.put(new Integer(p.getValue()), p);
+       }
     }
 
     public static VerticalAlign valueOf(int type) {
-       VerticalAlign align = imap.get(type);
-       if (align == null)
-           throw new IllegalArgumentException("Unknown vertical alignment: "
-                   + type);
-       return align;
+       VerticalAlign align = imap.get(new Integer(type));
+       if (align == null)
+          throw new IllegalArgumentException("Unknown vertical alignment: "
+                + type);
+       return align;
     }
-
 }
index 7a34c7e5ba866c363edc20dbdfbddc3b798f9363..a1f23cef8ff1594ce210fc3c5f4983aa2bbf6403 100644 (file)
@@ -583,35 +583,39 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
                return false;
                
        }
+       
+       private int getPosOfBodyElement(IBodyElement needle) {
+          BodyElementType type = needle.getElementType();
+      IBodyElement current; 
+          for(int i=0; i<bodyElements.size(); i++) {
+             current = bodyElements.get(i);
+             if(current.getElementType() == type) {
+                if(current.equals(needle)) {
+                   return i;
+                }
+             }
+          }
+          return -1;
+       }
 
        /**
-        * get position of the paragraph
-        * @param p
+        * Get the position of the paragraph, within the list
+        *  of all the body elements.
+        * @param p The paragraph to find
+        * @return The location, or -1 if the paragraph couldn't be found 
         */
-       public Integer getPosOfParagraph(XWPFParagraph p){
-       int i, pos = 0;
-       for (i = 0 ; i < bodyElements.size() ; i++) {
-               if (bodyElements.get(i) instanceof XWPFParagraph){
-                       if (bodyElements.get(i).equals(p)){
-                               return pos;
-                       }
-                       pos++;
-               }
-               }
-       return null;
+       public int getPosOfParagraph(XWPFParagraph p){
+          return getPosOfBodyElement(p);
     }
        
-       public Integer getPosOfTable(XWPFTable t){
-               int i, pos = 0;
-               for(i = 0; i < bodyElements.size(); i++){
-                       if(bodyElements.get(i).getElementType() == BodyElementType.TABLE){
-                               if (bodyElements.get(i) == t){
-                                       return pos;
-                               }
-                               pos++;
-                       }
-               }
-               return null;
+       /**
+        * Get the position of the table, within the list of
+        *  all the body elements.
+        * @param t The table to find
+        * @return The location, or -1 if the table couldn't be found
+        */
+       public int getPosOfTable(XWPFTable t){
+      return getPosOfBodyElement(t);
        }
 
     /**
@@ -728,7 +732,7 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
             String parStyle = par.getStyle();
             if (parStyle != null && parStyle.substring(0, 7).equals("Heading")) {
                 try {
-                    int level = Integer.valueOf(parStyle.substring("Heading".length()));
+                    int level = Integer.valueOf(parStyle.substring("Heading".length())).intValue();
                     toc.addRow(level, par.getText(), 1, "112723803");
                 }
                 catch (NumberFormatException e) {
index cf313063a68afc5f1be005b24a6728caec9b9e86..ebdeea294be67a4174aed2953529ef51167ac846 100644 (file)
@@ -105,6 +105,9 @@ public final class TestXWPFDocument extends TestCase {
           XWPFParagraph p = doc.createParagraph();
           assertEquals(p, doc.getParagraphs().get(3));
           assertEquals(4, doc.getParagraphs().size());
+          
+          assertEquals(3, doc.getParagraphPos(3));
+      assertEquals(3, doc.getPosOfParagraph(p));
 
           CTP ctp = p.getCTP();
           XWPFParagraph newP = doc.getParagraph(ctp);