Author: nick
Date: Tue Aug 11 20:10:53 2015
New Revision: 1695365

URL: http://svn.apache.org/r1695365
Log:
Fix some eclipse warnings, add TODOs for fields/hyperlinks XWPF add support, 
and give a more helpful exception if someone tries to remove a XWPFRun that is 
not a direct paragraph child

Modified:
    poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java

Modified: 
poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java?rev=1695365&r1=1695364&r2=1695365&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java 
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java 
Tue Aug 11 20:10:53 2015
@@ -131,6 +131,7 @@ public class XWPFParagraph implements IB
      * sub-paragraph that correspond to character text
      * runs, and builds the appropriate runs for these.
      */
+    @SuppressWarnings("deprecation")
     private void buildRunsInOrderFromXml(XmlObject object) {
         XmlCursor c = object.newCursor();
         c.selectPath("child::*");
@@ -1322,7 +1323,7 @@ public class XWPFParagraph implements IB
      * @return a new text run
      */
     public XWPFRun createRun() {
-        XWPFRun xwpfRun = new XWPFRun(paragraph.addNewR(), this);
+        XWPFRun xwpfRun = new XWPFRun(paragraph.addNewR(), (IRunBody)this);
         runs.add(xwpfRun);
         iruns.add(xwpfRun);
         return xwpfRun;
@@ -1337,7 +1338,7 @@ public class XWPFParagraph implements IB
     public XWPFRun insertNewRun(int pos) {
         if (pos >= 0 && pos <= paragraph.sizeOfRArray()) {
             CTR ctRun = paragraph.insertNewR(pos);
-            XWPFRun newRun = new XWPFRun(ctRun, this);
+            XWPFRun newRun = new XWPFRun(ctRun, (IRunBody)this);
 
             // To update the iruns, find where we're going
             // in the normal runs, and go in there
@@ -1358,6 +1359,7 @@ public class XWPFParagraph implements IB
         }
         return null;
     }
+    // TODO Add methods to allow adding a HyperlinkRun or a FieldRun
 
     /**
      * this methods parse the paragraph and search for the string searched.
@@ -1369,10 +1371,12 @@ public class XWPFParagraph implements IB
      */
     public TextSegement searchText(String searched, PositionInParagraph 
startPos) {
         int startRun = startPos.getRun(),
-                startText = startPos.getText(),
-                startChar = startPos.getChar();
+            startText = startPos.getText(),
+            startChar = startPos.getChar();
         int beginRunPos = 0, candCharPos = 0;
         boolean newList = false;
+        
+        @SuppressWarnings("deprecation")
         CTR[] rArray = paragraph.getRArray();
         for (int runPos = startRun; runPos < rArray.length; runPos++) {
             int beginTextPos = 0, beginCharPos = 0, textPos = 0, charPos = 0;
@@ -1433,6 +1437,7 @@ public class XWPFParagraph implements IB
      *
      * @param segment
      */
+    @SuppressWarnings("deprecation")
     public String getText(TextSegement segment) {
         int runBegin = segment.getBeginRun();
         int textBegin = segment.getBeginText();
@@ -1473,6 +1478,12 @@ public class XWPFParagraph implements IB
         if (pos >= 0 && pos < paragraph.sizeOfRArray()) {
             // Remove the run from our high level lists
             XWPFRun run = runs.get(pos);
+            if (run instanceof XWPFHyperlinkRun ||
+                run instanceof XWPFFieldRun) {
+                // TODO Add support for removing these kinds of nested runs,
+                //  which aren't on the CTP -> R array, but CTP -> XXX -> R 
array
+                throw new IllegalArgumentException("Removing Field or 
Hyperlink runs not yet supported");
+            }
             runs.remove(pos);
             iruns.remove(run);
             // Remove the run from the low-level XML



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

Reply via email to