Author: nick
Date: Fri May 13 12:22:24 2011
New Revision: 1102691

URL: http://svn.apache.org/viewvc?rev=1102691&view=rev
Log:
Autoboxing tweaks from bug #51175, and make the paragraph/table finding code 
generic

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

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/BreakClear.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/BreakClear.java?rev=1102691&r1=1102690&r2=1102691&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/BreakClear.java 
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/BreakClear.java Fri 
May 13 12:22:24 2011
@@ -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;
     }
-
 }

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/BreakType.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/BreakType.java?rev=1102691&r1=1102690&r2=1102691&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/BreakType.java 
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/BreakType.java Fri 
May 13 12:22:24 2011
@@ -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;
     }
-
 }

Modified: 
poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/LineSpacingRule.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/LineSpacingRule.java?rev=1102691&r1=1102690&r2=1102691&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/LineSpacingRule.java 
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/LineSpacingRule.java 
Fri May 13 12:22:24 2011
@@ -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;
     }
-
 }

Modified: 
poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/ParagraphAlignment.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/ParagraphAlignment.java?rev=1102691&r1=1102690&r2=1102691&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/ParagraphAlignment.java 
(original)
+++ 
poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/ParagraphAlignment.java 
Fri May 13 12:22:24 2011
@@ -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;
     }

Modified: 
poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/TextAlignment.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/TextAlignment.java?rev=1102691&r1=1102690&r2=1102691&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/TextAlignment.java 
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/TextAlignment.java 
Fri May 13 12:22:24 2011
@@ -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;
     }
-
 }

Modified: 
poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/UnderlinePatterns.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/UnderlinePatterns.java?rev=1102691&r1=1102690&r2=1102691&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/UnderlinePatterns.java 
(original)
+++ 
poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/UnderlinePatterns.java 
Fri May 13 12:22:24 2011
@@ -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;
     }
-
 }

Modified: 
poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/VerticalAlign.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/VerticalAlign.java?rev=1102691&r1=1102690&r2=1102691&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/VerticalAlign.java 
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/VerticalAlign.java 
Fri May 13 12:22:24 2011
@@ -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;
     }
-
 }

Modified: 
poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java?rev=1102691&r1=1102690&r2=1102691&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java 
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java 
Fri May 13 12:22:24 2011
@@ -583,35 +583,39 @@ public class XWPFDocument extends POIXML
                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 POIXML
             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) {

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/TestXWPFDocument.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/TestXWPFDocument.java?rev=1102691&r1=1102690&r2=1102691&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/TestXWPFDocument.java 
(original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/TestXWPFDocument.java Fri 
May 13 12:22:24 2011
@@ -105,6 +105,9 @@ public final class TestXWPFDocument exte
           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);



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to