aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPJ Fanning <fanningpj@apache.org>2022-06-19 13:37:14 +0000
committerPJ Fanning <fanningpj@apache.org>2022-06-19 13:37:14 +0000
commitb24d8ca779cacbff53f55e4f45c9f1e5364eeff1 (patch)
tree678f8f876226a96532967d69cea9526c4ef7ce09
parent96079c05b72f63ab043efdaacab35c06fb2d62fd (diff)
downloadpoi-b24d8ca779cacbff53f55e4f45c9f1e5364eeff1.tar.gz
poi-b24d8ca779cacbff53f55e4f45c9f1e5364eeff1.zip
remove use of some calls to deprecated cursor dispose()
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1902065 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFAbstractFootnoteEndnote.java47
-rw-r--r--poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java71
-rw-r--r--poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeader.java41
-rw-r--r--poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeaderFooter.java45
4 files changed, 74 insertions, 130 deletions
diff --git a/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFAbstractFootnoteEndnote.java b/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFAbstractFootnoteEndnote.java
index 0be1a2f74b..083ede0968 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFAbstractFootnoteEndnote.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFAbstractFootnoteEndnote.java
@@ -72,8 +72,7 @@ public abstract class XWPFAbstractFootnoteEndnote implements Iterable<XWPFParag
}
protected void init() {
- XmlCursor cursor = ctFtnEdn.newCursor();
- try {
+ try (XmlCursor cursor = ctFtnEdn.newCursor()) {
//copied from XWPFDocument...should centralize this code
//to avoid duplication
cursor.selectPath("./*");
@@ -93,8 +92,6 @@ public abstract class XWPFAbstractFootnoteEndnote implements Iterable<XWPFParag
}
}
- } finally {
- cursor.dispose();
}
}
@@ -251,8 +248,7 @@ public abstract class XWPFAbstractFootnoteEndnote implements Iterable<XWPFParag
public XWPFTableCell getTableCell(CTTc cell) {
XmlObject o;
CTRow row;
- final XmlCursor cursor = cell.newCursor();
- try {
+ try (final XmlCursor cursor = cell.newCursor()) {
cursor.toParent();
o = cursor.getObject();
if (!(o instanceof CTRow)) {
@@ -261,8 +257,6 @@ public abstract class XWPFAbstractFootnoteEndnote implements Iterable<XWPFParag
row = (CTRow) o;
cursor.toParent();
o = cursor.getObject();
- } finally {
- cursor.dispose();
}
if (!(o instanceof CTTbl)) {
return null;
@@ -285,13 +279,9 @@ public abstract class XWPFAbstractFootnoteEndnote implements Iterable<XWPFParag
* @return true if the cursor is within a CTFtnEdn element.
*/
private boolean isCursorInFtn(XmlCursor cursor) {
- XmlCursor verify = cursor.newCursor();
- try {
+ try (XmlCursor verify = cursor.newCursor()) {
verify.toParent();
return (verify.getObject() == this.ctFtnEdn);
- } finally {
- verify.dispose();
-
}
}
@@ -329,19 +319,17 @@ public abstract class XWPFAbstractFootnoteEndnote implements Iterable<XWPFParag
tables.add(pos, newT);
}
int i = 0;
- cursor = t.newCursor();
- while (cursor.toPrevSibling()) {
- o = cursor.getObject();
- if (o instanceof CTP || o instanceof CTTbl)
- i++;
+ try (XmlCursor cursor1 = t.newCursor()) {
+ while (cursor1.toPrevSibling()) {
+ o = cursor1.getObject();
+ if (o instanceof CTP || o instanceof CTTbl)
+ i++;
+ }
+ bodyElements.add(i, newT);
}
- bodyElements.add(i, newT);
- XmlCursor c2 = t.newCursor();
- try {
+ try (XmlCursor c2 = t.newCursor()) {
cursor.toCursor(c2);
cursor.toEndToken();
- } finally {
- c2.dispose();
}
return newT;
}
@@ -373,11 +361,8 @@ public abstract class XWPFAbstractFootnoteEndnote implements Iterable<XWPFParag
paragraphs.add(pos, newP);
}
int i = 0;
- XmlCursor p2 = p.newCursor();
- try {
+ try (XmlCursor p2 = p.newCursor()) {
cursor.toCursor(p2);
- } finally {
- p2.dispose();
}
while (cursor.toPrevSibling()) {
o = cursor.getObject();
@@ -385,10 +370,10 @@ public abstract class XWPFAbstractFootnoteEndnote implements Iterable<XWPFParag
i++;
}
bodyElements.add(i, newP);
- p2 = p.newCursor();
- cursor.toCursor(p2);
- cursor.toEndToken();
- p2.dispose();
+ try (XmlCursor p2 = p.newCursor()) {
+ cursor.toCursor(p2);
+ cursor.toEndToken();
+ }
return newP;
}
return null;
diff --git a/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java b/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java
index 06a53322b2..7814406ec5 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java
@@ -201,34 +201,33 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
// parse the document with cursor and add
// the XmlObject to its lists
- XmlCursor docCursor = ctDocument.newCursor();
- docCursor.selectPath("./*");
- while (docCursor.toNextSelection()) {
- XmlObject o = docCursor.getObject();
- if (o instanceof CTBody) {
- XmlCursor bodyCursor = o.newCursor();
- bodyCursor.selectPath("./*");
- while (bodyCursor.toNextSelection()) {
- XmlObject bodyObj = bodyCursor.getObject();
- if (bodyObj instanceof CTP) {
- XWPFParagraph p = new XWPFParagraph((CTP) bodyObj,
- this);
- bodyElements.add(p);
- paragraphs.add(p);
- } else if (bodyObj instanceof CTTbl) {
- XWPFTable t = new XWPFTable((CTTbl) bodyObj, this);
- bodyElements.add(t);
- tables.add(t);
- } else if (bodyObj instanceof CTSdtBlock) {
- XWPFSDT c = new XWPFSDT((CTSdtBlock) bodyObj, this);
- bodyElements.add(c);
- contentControls.add(c);
+ try (XmlCursor docCursor = ctDocument.newCursor()) {
+ docCursor.selectPath("./*");
+ while (docCursor.toNextSelection()) {
+ XmlObject o = docCursor.getObject();
+ if (o instanceof CTBody) {
+ try (XmlCursor bodyCursor = o.newCursor()) {
+ bodyCursor.selectPath("./*");
+ while (bodyCursor.toNextSelection()) {
+ XmlObject bodyObj = bodyCursor.getObject();
+ if (bodyObj instanceof CTP) {
+ XWPFParagraph p = new XWPFParagraph((CTP) bodyObj, this);
+ bodyElements.add(p);
+ paragraphs.add(p);
+ } else if (bodyObj instanceof CTTbl) {
+ XWPFTable t = new XWPFTable((CTTbl) bodyObj, this);
+ bodyElements.add(t);
+ tables.add(t);
+ } else if (bodyObj instanceof CTSdtBlock) {
+ XWPFSDT c = new XWPFSDT((CTSdtBlock) bodyObj, this);
+ bodyElements.add(c);
+ contentControls.add(c);
+ }
+ }
}
}
- bodyCursor.dispose();
}
}
- docCursor.dispose();
// Sort out headers and footers
if (doc.getDocument().getBody().getSectPr() != null) {
headerFooterPolicy = new XWPFHeaderFooterPolicy(this);
@@ -724,8 +723,7 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
* create a new cursor, that points to the START token of the just
* inserted paragraph
*/
- XmlCursor newParaPos = p.newCursor();
- try {
+ try (XmlCursor newParaPos = p.newCursor()) {
/*
* Calculate the paragraphs index in the list of all body
* elements
@@ -742,8 +740,6 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
cursor.toCursor(newParaPos);
cursor.toEndToken();
return newP;
- } finally {
- newParaPos.dispose();
}
}
return null;
@@ -769,8 +765,7 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
tables.add(pos, newT);
}
int i = 0;
- XmlCursor tableCursor = t.newCursor();
- try {
+ try (XmlCursor tableCursor = t.newCursor()) {
cursor.toCursor(tableCursor);
while (cursor.toPrevSibling()) {
o = cursor.getObject();
@@ -782,8 +777,6 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
cursor.toCursor(tableCursor);
cursor.toEndToken();
return newT;
- } finally {
- tableCursor.dispose();
}
}
return null;
@@ -793,11 +786,10 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
* verifies that cursor is on the right position
*/
private boolean isCursorInBody(XmlCursor cursor) {
- XmlCursor verify = cursor.newCursor();
- verify.toParent();
- boolean result = (verify.getObject() == this.ctDocument.getBody());
- verify.dispose();
- return result;
+ try (XmlCursor verify = cursor.newCursor()) {
+ verify.toParent();
+ return (verify.getObject() == this.ctDocument.getBody());
+ }
}
private int getPosOfBodyElement(IBodyElement needle) {
@@ -1661,8 +1653,7 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
public XWPFTableCell getTableCell(CTTc cell) {
XmlObject o;
CTRow row;
- final XmlCursor cursor = cell.newCursor();
- try {
+ try (final XmlCursor cursor = cell.newCursor()) {
cursor.toParent();
o = cursor.getObject();
if (!(o instanceof CTRow)) {
@@ -1671,8 +1662,6 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
row = (CTRow) o;
cursor.toParent();
o = cursor.getObject();
- } finally {
- cursor.dispose();
}
if (!(o instanceof CTTbl)) {
return null;
diff --git a/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeader.java b/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeader.java
index d3ef04e5e1..66740468c3 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeader.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeader.java
@@ -55,8 +55,7 @@ public class XWPFHeader extends XWPFHeaderFooter {
public XWPFHeader(XWPFDocument doc, CTHdrFtr hdrFtr) {
super(doc, hdrFtr);
- XmlCursor cursor = headerFooter.newCursor();
- try {
+ try (XmlCursor cursor = headerFooter.newCursor()) {
cursor.selectPath("./*");
while (cursor.toNextSelection()) {
XmlObject o = cursor.getObject();
@@ -69,8 +68,6 @@ public class XWPFHeader extends XWPFHeaderFooter {
tables.add(t);
}
}
- } finally {
- cursor.dispose();
}
}
@@ -99,26 +96,26 @@ public class XWPFHeader extends XWPFHeaderFooter {
headerFooter = hdrDocument.getHdr();
// parse the document with cursor and add
// the XmlObject to its lists
- XmlCursor cursor = headerFooter.newCursor();
- cursor.selectPath("./*");
- while (cursor.toNextSelection()) {
- XmlObject o = cursor.getObject();
- if (o instanceof CTP) {
- XWPFParagraph p = new XWPFParagraph((CTP) o, this);
- paragraphs.add(p);
- bodyElements.add(p);
- }
- if (o instanceof CTTbl) {
- XWPFTable t = new XWPFTable((CTTbl) o, this);
- tables.add(t);
- bodyElements.add(t);
- }
- if (o instanceof CTSdtBlock) {
- XWPFSDT c = new XWPFSDT((CTSdtBlock) o, this);
- bodyElements.add(c);
+ try (XmlCursor cursor = headerFooter.newCursor()) {
+ cursor.selectPath("./*");
+ while (cursor.toNextSelection()) {
+ XmlObject o = cursor.getObject();
+ if (o instanceof CTP) {
+ XWPFParagraph p = new XWPFParagraph((CTP) o, this);
+ paragraphs.add(p);
+ bodyElements.add(p);
+ }
+ if (o instanceof CTTbl) {
+ XWPFTable t = new XWPFTable((CTTbl) o, this);
+ tables.add(t);
+ bodyElements.add(t);
+ }
+ if (o instanceof CTSdtBlock) {
+ XWPFSDT c = new XWPFSDT((CTSdtBlock) o, this);
+ bodyElements.add(c);
+ }
}
}
- cursor.dispose();
} catch (XmlException e) {
throw new POIXMLException(e);
}
diff --git a/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeaderFooter.java b/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeaderFooter.java
index 5ea795fe66..f9b2773de9 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeaderFooter.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeaderFooter.java
@@ -330,11 +330,8 @@ public abstract class XWPFHeaderFooter extends POIXMLDocumentPart implements IBo
public void removeParagraph(XWPFParagraph paragraph) {
if (paragraphs.contains(paragraph)) {
CTP ctP = paragraph.getCTP();
- XmlCursor c = ctP.newCursor();
- try {
+ try (XmlCursor c = ctP.newCursor()) {
c.removeXml();
- } finally {
- c.dispose();
}
paragraphs.remove(paragraph);
bodyElements.remove(paragraph);
@@ -349,11 +346,8 @@ public abstract class XWPFHeaderFooter extends POIXMLDocumentPart implements IBo
public void removeTable(XWPFTable table) {
if (tables.contains(table)) {
CTTbl ctTbl = table.getCTTbl();
- XmlCursor c = ctTbl.newCursor();
- try {
+ try (XmlCursor c = ctTbl.newCursor()) {
c.removeXml();
- } finally {
- c.dispose();
}
tables.remove(table);
bodyElements.remove(table);
@@ -364,11 +358,8 @@ public abstract class XWPFHeaderFooter extends POIXMLDocumentPart implements IBo
* Clears all paragraphs and tables from this header / footer
*/
public void clearHeaderFooter() {
- XmlCursor c = headerFooter.newCursor();
- try {
+ try (XmlCursor c = headerFooter.newCursor()) {
c.removeXmlContents();
- } finally {
- c.dispose();
}
paragraphs.clear();
tables.clear();
@@ -400,11 +391,8 @@ public abstract class XWPFHeaderFooter extends POIXMLDocumentPart implements IBo
paragraphs.add(pos, newP);
}
int i = 0;
- final XmlCursor p2 = p.newCursor();
- try {
+ try (final XmlCursor p2 = p.newCursor()) {
cursor.toCursor(p2);
- } finally {
- p2.dispose();
}
while (cursor.toPrevSibling()) {
o = cursor.getObject();
@@ -412,12 +400,9 @@ public abstract class XWPFHeaderFooter extends POIXMLDocumentPart implements IBo
i++;
}
bodyElements.add(i, newP);
- final XmlCursor p3 = p.newCursor();
- try {
+ try(final XmlCursor p3 = p.newCursor()) {
cursor.toCursor(p3);
cursor.toEndToken();
- } finally {
- p3.dispose();
}
return newP;
}
@@ -449,24 +434,18 @@ public abstract class XWPFHeaderFooter extends POIXMLDocumentPart implements IBo
tables.add(pos, newT);
}
int i = 0;
- final XmlCursor cursor2 = t.newCursor();
- try {
+ try (final XmlCursor cursor2 = t.newCursor()) {
while (cursor2.toPrevSibling()) {
o = cursor2.getObject();
if (o instanceof CTP || o instanceof CTTbl) {
i++;
}
}
- } finally {
- cursor2.dispose();
}
bodyElements.add(i, newT);
- final XmlCursor cursor3 = t.newCursor();
- try {
+ try(final XmlCursor cursor3 = t.newCursor()) {
cursor.toCursor(cursor3);
cursor.toEndToken();
- } finally {
- cursor3.dispose();
}
return newT;
}
@@ -477,13 +456,10 @@ public abstract class XWPFHeaderFooter extends POIXMLDocumentPart implements IBo
* verifies that cursor is on the right position
*/
private boolean isCursorInHdrF(XmlCursor cursor) {
- XmlCursor verify = cursor.newCursor();
- try {
+ try (XmlCursor verify = cursor.newCursor()) {
verify.toParent();
boolean result = (verify.getObject() == this.headerFooter);
return result;
- } finally {
- verify.dispose();
}
}
@@ -526,8 +502,7 @@ public abstract class XWPFHeaderFooter extends POIXMLDocumentPart implements IBo
tables = new ArrayList<>();
// parse the document with cursor and add
// the XmlObject to its lists
- XmlCursor cursor = headerFooter.newCursor();
- try {
+ try (XmlCursor cursor = headerFooter.newCursor()) {
cursor.selectPath("./*");
while (cursor.toNextSelection()) {
XmlObject o = cursor.getObject();
@@ -542,8 +517,6 @@ public abstract class XWPFHeaderFooter extends POIXMLDocumentPart implements IBo
bodyElements.add(t);
}
}
- } finally {
- cursor.dispose();
}
}