You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by fa...@apache.org on 2022/01/06 17:54:31 UTC
svn commit: r1896764 [4/7] - in /xmlbeans/trunk/src: main/java/org/apache/xmlbeans/ main/java/org/apache/xmlbeans/impl/inst2xsd/ main/java/org/apache/xmlbeans/impl/inst2xsd/util/ main/java/org/apache/xmlbeans/impl/schema/ main/java/org/apache/xmlbeans/...
Modified: xmlbeans/trunk/src/test/java/xmlcursor/checkin/StoreTests.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/checkin/StoreTests.java?rev=1896764&r1=1896763&r2=1896764&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/xmlcursor/checkin/StoreTests.java (original)
+++ xmlbeans/trunk/src/test/java/xmlcursor/checkin/StoreTests.java Thu Jan 6 17:54:30 2022
@@ -42,7 +42,10 @@ public class StoreTests {
private void streamTest(String xml)
throws Exception {
XmlObject x1 = XmlObject.Factory.parse(xml);
- XmlObject x2 = XmlObject.Factory.parse(x1.newCursor().newXMLStreamReader());
+ XmlObject x2;
+ try (XmlCursor c = x1.newCursor()) {
+ x2 = XmlObject.Factory.parse(c.newXMLStreamReader());
+ }
String x1Text = x1.xmlText();
String x2Text = x2.xmlText();
@@ -79,23 +82,25 @@ public class StoreTests {
xDst = XmlObject.Factory.parse("<bar/>");
xSrc = XmlObject.Factory.parse("<foo/>");
- XmlCursor c = xDst.newCursor();
- c.toNextToken();
- xDst = c.getObject();
- xDst.set(xSrc);
- c.toStartDoc();
- xDst = c.getObject();
+ try (XmlCursor c = xDst.newCursor()) {
+ c.toNextToken();
+ xDst = c.getObject();
+ xDst.set(xSrc);
+ c.toStartDoc();
+ xDst = c.getObject();
+ }
assertEquals("<bar><foo/></bar>", xDst.xmlText());
xDst = XmlObject.Factory.parse("<bar x='y'/>");
xSrc = XmlObject.Factory.parse("<foo>moo</foo>");
- c = xDst.newCursor();
- c.toNextToken();
- c.toNextToken();
- xDst = c.getObject();
- xDst.set(xSrc);
- c.toStartDoc();
- xDst = c.getObject();
+ try (XmlCursor c = xDst.newCursor()) {
+ c.toNextToken();
+ c.toNextToken();
+ xDst = c.getObject();
+ xDst.set(xSrc);
+ c.toStartDoc();
+ xDst = c.getObject();
+ }
assertEquals("<bar x=\"moo\"/>", xDst.xmlText());
}
@@ -129,16 +134,17 @@ public class StoreTests {
@Test
public void testCursorStack() throws Exception {
XmlObject x = XmlObject.Factory.parse("<foo x='y'/>");
- XmlCursor c = x.newCursor();
- c.push();
- c.toNextToken();
- c.push();
- c.toNextToken();
- assertTrue(c.isAttr());
- c.pop();
- assertTrue(c.isStart());
- c.pop();
- assertTrue(c.isStartdoc());
+ try (XmlCursor c = x.newCursor()) {
+ c.push();
+ c.toNextToken();
+ c.push();
+ c.toNextToken();
+ assertTrue(c.isAttr());
+ c.pop();
+ assertTrue(c.isStart());
+ c.pop();
+ assertTrue(c.isStartdoc());
+ }
}
@Test
@@ -152,13 +158,13 @@ public class StoreTests {
options.setSaveImplicitNamespaces(namespaces);
XmlObject x = XmlObject.Factory.newInstance();
- XmlCursor c = x.newCursor();
-
- c.toNextToken();
+ try (XmlCursor c = x.newCursor()) {
+ c.toNextToken();
- c.beginElement("a", "foo.com");
- c.beginElement("b", "default.com");
- c.beginElement("c", "bar.com");
+ c.beginElement("a", "foo.com");
+ c.beginElement("b", "default.com");
+ c.beginElement("c", "bar.com");
+ }
assertEquals("<foo:a><b><bar:c/></b></foo:a>", x.xmlText(options));
}
@@ -383,39 +389,39 @@ public class StoreTests {
int line = 1;
int col = 1;
- XmlCursor c =
- XmlObject.Factory.parse(
+ try (XmlCursor c = XmlObject.Factory.parse(
xml, new XmlOptions().setLoadLineNumbers()).
- newCursor();
+ newCursor()) {
- for (int i = 0; i < xml.length(); i++) {
- char ch = xml.charAt(i);
+ for (int i = 0; i < xml.length(); i++) {
+ char ch = xml.charAt(i);
- if (ch == '<' && Character.isLetter(xml.charAt(i + 1))) {
- while (!c.currentTokenType().isStart()) {
- c.toNextToken();
- }
+ if (ch == '<' && Character.isLetter(xml.charAt(i + 1))) {
+ while (!c.currentTokenType().isStart()) {
+ c.toNextToken();
+ }
- assertTrue(c.currentTokenType().isStart());
+ assertTrue(c.currentTokenType().isStart());
- XmlLineNumber ln =
- (XmlLineNumber)
- c.getBookmark(XmlLineNumber.class);
+ XmlLineNumber ln =
+ (XmlLineNumber)
+ c.getBookmark(XmlLineNumber.class);
- assertNotNull(ln);
+ assertNotNull(ln);
- assertTrue(ln.getLine() == -1 || ln.getLine() == line);
- assertTrue(ln.getColumn() == -1 || ln.getColumn() == col);
- assertTrue(ln.getOffset() == -1 || ln.getOffset() == i);
+ assertTrue(ln.getLine() == -1 || ln.getLine() == line);
+ assertTrue(ln.getColumn() == -1 || ln.getColumn() == col);
+ assertTrue(ln.getOffset() == -1 || ln.getOffset() == i);
- c.toNextToken();
- }
+ c.toNextToken();
+ }
- if (ch == '\n') {
- line++;
- col = 1;
- } else {
- col++;
+ if (ch == '\n') {
+ line++;
+ col = 1;
+ } else {
+ col++;
+ }
}
}
}
@@ -714,74 +720,76 @@ public class StoreTests {
throws Exception {
XmlObject x = XmlObject.Factory.parse("<foo x='y'>abcdefg<!---->xy</foo>");
- XmlCursor c = x.newCursor();
- MyMark m1 = new MyMark();
- c.setBookmark(m1);
-
- c.toNextToken();
- MyMark m2 = new MyMark();
- c.setBookmark(m2);
-
- c.toNextToken();
- MyMark m3 = new MyMark();
- c.setBookmark(m3);
-
- c.toNextToken();
- MyMark m4 = new MyMark();
- c.setBookmark(m4);
-
- c.toNextChar(1);
- MyMark m5 = new MyMark();
- c.setBookmark(m5);
-
- c.toNextChar(3);
- MyMark m6 = new MyMark();
- c.setBookmark(m6);
-
- c.toNextToken();
- c.toNextToken();
- c.toNextToken();
- MyMark m7 = new MyMark();
- c.setBookmark(m7);
-
- c.toNextToken();
- MyMark m8 = new MyMark();
- c.setBookmark(m8);
-
- c.toStartDoc();
-
- assertSame(c.getBookmark(MyMark.class), m1);
- assertSame(c.toNextBookmark(MyMark.class), m2);
- assertSame(c.toNextBookmark(MyMark.class), m3);
- assertSame(c.toNextBookmark(MyMark.class), m4);
- assertSame(c.toNextBookmark(MyMark.class), m5);
- assertSame(c.toNextBookmark(MyMark.class), m6);
- assertSame(c.toNextBookmark(MyMark.class), m7);
- assertSame(c.toNextBookmark(MyMark.class), m8);
- assertNull(c.toNextBookmark(MyMark.class));
-
- c.toEndDoc();
-
- assertSame(c.getBookmark(MyMark.class), m8);
- assertSame(c.toPrevBookmark(MyMark.class), m7);
- assertSame(c.toPrevBookmark(MyMark.class), m6);
- assertSame(c.toPrevBookmark(MyMark.class), m5);
- assertSame(c.toPrevBookmark(MyMark.class), m4);
- assertSame(c.toPrevBookmark(MyMark.class), m3);
- assertSame(c.toPrevBookmark(MyMark.class), m2);
- assertSame(c.toPrevBookmark(MyMark.class), m1);
- assertNull(c.toPrevBookmark(MyMark.class));
+ try (XmlCursor c = x.newCursor()) {
+ MyMark m1 = new MyMark();
+ c.setBookmark(m1);
+
+ c.toNextToken();
+ MyMark m2 = new MyMark();
+ c.setBookmark(m2);
+
+ c.toNextToken();
+ MyMark m3 = new MyMark();
+ c.setBookmark(m3);
+
+ c.toNextToken();
+ MyMark m4 = new MyMark();
+ c.setBookmark(m4);
+
+ c.toNextChar(1);
+ MyMark m5 = new MyMark();
+ c.setBookmark(m5);
+
+ c.toNextChar(3);
+ MyMark m6 = new MyMark();
+ c.setBookmark(m6);
+
+ c.toNextToken();
+ c.toNextToken();
+ c.toNextToken();
+ MyMark m7 = new MyMark();
+ c.setBookmark(m7);
+
+ c.toNextToken();
+ MyMark m8 = new MyMark();
+ c.setBookmark(m8);
+
+ c.toStartDoc();
+
+ assertSame(c.getBookmark(MyMark.class), m1);
+ assertSame(c.toNextBookmark(MyMark.class), m2);
+ assertSame(c.toNextBookmark(MyMark.class), m3);
+ assertSame(c.toNextBookmark(MyMark.class), m4);
+ assertSame(c.toNextBookmark(MyMark.class), m5);
+ assertSame(c.toNextBookmark(MyMark.class), m6);
+ assertSame(c.toNextBookmark(MyMark.class), m7);
+ assertSame(c.toNextBookmark(MyMark.class), m8);
+ assertNull(c.toNextBookmark(MyMark.class));
+
+ c.toEndDoc();
+
+ assertSame(c.getBookmark(MyMark.class), m8);
+ assertSame(c.toPrevBookmark(MyMark.class), m7);
+ assertSame(c.toPrevBookmark(MyMark.class), m6);
+ assertSame(c.toPrevBookmark(MyMark.class), m5);
+ assertSame(c.toPrevBookmark(MyMark.class), m4);
+ assertSame(c.toPrevBookmark(MyMark.class), m3);
+ assertSame(c.toPrevBookmark(MyMark.class), m2);
+ assertSame(c.toPrevBookmark(MyMark.class), m1);
+ assertNull(c.toPrevBookmark(MyMark.class));
+ }
}
@Test
public void testSetName()
throws Exception {
XmlObject x = XmlObject.Factory.parse("<foo x='a'/>");
- XmlCursor c = x.newCursor();
- c.toNextToken();
- c.setName(new QName("bar"));
- c.toNextToken();
- c.setName(new QName("y"));
+ try (XmlCursor c = x.newCursor()) {
+ c.toNextToken();
+ c.setName(new QName("bar"));
+ c.toNextToken();
+ c.setName(new QName("y"));
+ }
assertEquals("<bar y=\"a\"/>", x.xmlText());
}
@@ -792,21 +800,21 @@ public class StoreTests {
@Test
public void testBasicXml()
throws Exception {
- XmlCursor c = XmlObject.Factory.parse(Common.XML_ATTR_TEXT, null).newCursor();
-
- int n = 0;
+ try (XmlCursor c = XmlObject.Factory.parse(Common.XML_ATTR_TEXT, null).newCursor()) {
+ int n = 0;
- for (; ; ) {
- TokenType t = c.toNextToken();
+ for (; ; ) {
+ TokenType t = c.toNextToken();
- n++;
+ n++;
- if (t == TokenType.NONE) {
- break;
+ if (t == TokenType.NONE) {
+ break;
+ }
}
- }
- assertEquals(6, n);
+ assertEquals(6, n);
+ }
}
//
@@ -818,24 +826,23 @@ public class StoreTests {
throws Exception {
ArrayList<TokenType> l = new ArrayList<>();
- XmlCursor c = XmlObject.Factory.parse(Common.XML_ATTR_TEXT, null).newCursor();
-
-
- do {
- // System.err.println(c.currentTokenType());
- l.add(c.currentTokenType());
+ try (XmlCursor c = XmlObject.Factory.parse(Common.XML_ATTR_TEXT, null).newCursor()) {
+ do {
+ // System.err.println(c.currentTokenType());
+ l.add(c.currentTokenType());
- } while (c.toNextToken() != TokenType.NONE);
+ } while (c.toNextToken() != TokenType.NONE);
- c.toEndDoc();
- // System.err.println("Reversing");
+ c.toEndDoc();
+ // System.err.println("Reversing");
- for (int i = l.size() - 1; ; i--) {
- // System.err.println(c.currentTokenType());
- assertEquals(l.get(i), c.currentTokenType());
+ for (int i = l.size() - 1; ; i--) {
+ // System.err.println(c.currentTokenType());
+ assertEquals(l.get(i), c.currentTokenType());
- if (c.toPrevToken() == TokenType.NONE) {
- break;
+ if (c.toPrevToken() == TokenType.NONE) {
+ break;
+ }
}
}
}
@@ -845,34 +852,36 @@ public class StoreTests {
@Test(expected = IllegalStateException.class)
public void testIllegalTextInsert()
throws Exception {
- XmlCursor c = XmlObject.Factory.parse(Common.XML_ATTR_TEXT, null).newCursor();
- c.insertChars("Ho ho ho");
+ try (XmlCursor c = XmlObject.Factory.parse(Common.XML_ATTR_TEXT, null).newCursor()) {
+ c.insertChars("Ho ho ho");
+ }
}
// Make sure getText works in a basic way
@Test
public void testgetText()
throws Exception {
- XmlCursor c = XmlObject.Factory.parse(Common.XML_ATTR_TEXT, null).newCursor();
- assertEquals("ab", c.getTextValue()); // Doc node
+ try (XmlCursor c = XmlObject.Factory.parse(Common.XML_ATTR_TEXT, null).newCursor()) {
+ assertEquals("ab", c.getTextValue()); // Doc node
- c.toNextToken();
- assertEquals("ab", c.getTextValue()); // Doc elem
+ c.toNextToken();
+ assertEquals("ab", c.getTextValue()); // Doc elem
- c.toNextToken();
- assertEquals("y", c.getTextValue()); // Attr x
+ c.toNextToken();
+ assertEquals("y", c.getTextValue()); // Attr x
- c.toNextToken();
- assertEquals("ab", c.getChars()); // Text
+ c.toNextToken();
+ assertEquals("ab", c.getChars()); // Text
- c.toNextChar(1);
- assertEquals("b", c.getChars()); // Text
+ c.toNextChar(1);
+ assertEquals("b", c.getChars()); // Text
- c.toNextToken();
- assertEquals(0, c.getChars().length()); // End tag
+ c.toNextToken();
+ assertEquals(0, c.getChars().length()); // End tag
- c.toNextToken();
- assertEquals(0, c.getChars().length()); // End doc
+ c.toNextToken();
+ assertEquals(0, c.getChars().length()); // End doc
+ }
}
//
@@ -880,8 +889,9 @@ public class StoreTests {
//
private void doSaverTest(String xml) throws Exception {
- XmlCursor c = XmlObject.Factory.parse(xml).newCursor();
- assertEquals(xml, c.xmlText());
+ try (XmlCursor c = XmlObject.Factory.parse(xml).newCursor()) {
+ assertEquals(xml, c.xmlText());
+ }
}
private void doSaveTest(String xml) throws Exception {
@@ -894,8 +904,9 @@ public class StoreTests {
String xml = "<foo>Unable to render embedded object: <![CDATA[>>>>>>>><<<<<<<<<<<]]></foo>";
String expected = "<foo><![CDATA[Unable to render embedded object: >>>>>>>><<<<<<<<<<<]]></foo>";
XmlOptions options = new XmlOptions().setSaveCDataLengthThreshold(0);
- XmlCursor c = XmlObject.Factory.parse(xml, options).newCursor();
- assertEquals(expected, c.xmlText(options));
+ try (XmlCursor c = XmlObject.Factory.parse(xml, options).newCursor()) {
+ assertEquals(expected, c.xmlText(options));
+ }
}
@Test
@@ -915,21 +926,21 @@ public class StoreTests {
XmlObject x =
XmlObject.Factory.parse("<foo xmlns:a='a.com'><bar xmlns:a='b.com'/></foo>");
- XmlCursor c = x.newCursor();
+ try (XmlCursor c = x.newCursor()) {
+ c.toFirstChild();
+ c.toFirstChild();
- c.toFirstChild();
- c.toFirstChild();
+ assertEquals("<bar xmlns:a=\"b.com\"/>", c.xmlText());
- assertEquals("<bar xmlns:a=\"b.com\"/>", c.xmlText());
-
- x = XmlObject.Factory.parse("<foo xmlns:a='a.com'><bar/></foo>");
-
- c = x.newCursor();
+ x = XmlObject.Factory.parse("<foo xmlns:a='a.com'><bar/></foo>");
+ }
- c.toFirstChild();
- c.toFirstChild();
+ try (XmlCursor c = x.newCursor()) {
+ c.toFirstChild();
+ c.toFirstChild();
- assertEquals("<bar xmlns:a=\"a.com\"/>", c.xmlText());
+ assertEquals("<bar xmlns:a=\"a.com\"/>", c.xmlText());
+ }
}
@@ -1035,17 +1046,17 @@ public class StoreTests {
public void testOps()
throws Exception {
XmlObject x, x2, y;
- XmlCursor cFrom, cTo, cTemp, cTemp2, c, d;
XmlBookmark anno;
//
x = XmlObject.Factory.parse("<foo>abcdef</foo>");
- cFrom = navDoc(x, "d");
- cTo = navNewCursor(cFrom, "");
- assertTrue(cFrom.moveXml(cTo));
- cFrom.insertChars("[FROM]");
- cTo.insertChars("[TO]");
+ try (XmlCursor cFrom = navDoc(x, "d");
+ XmlCursor cTo = navNewCursor(cFrom, "")) {
+ assertTrue(cFrom.moveXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+ }
XmlOptions options = new XmlOptions();
@@ -1059,11 +1070,12 @@ public class StoreTests {
x = XmlObject.Factory.parse("<foo>abcdef</foo>");
- cFrom = navDoc(x, "d");
- cTo = navNewCursor(cFrom, "ttt");
- assertTrue(cFrom.moveXml(cTo));
- cFrom.insertChars("[FROM]");
- cTo.insertChars("[TO]");
+ try (XmlCursor cFrom = navDoc(x, "d");
+ XmlCursor cTo = navNewCursor(cFrom, "ttt")) {
+ assertTrue(cFrom.moveXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+ }
assertTrue(
x.xmlText(options).equals("<bar><foo>abcdef</foo>[FROM][TO]</bar>") ||
@@ -1073,11 +1085,12 @@ public class StoreTests {
x = XmlObject.Factory.parse("<foo>abcdef</foo>");
- cFrom = navDoc(x, "d");
- cTo = navNewCursor(cFrom, "t3c");
- assertFalse(cFrom.moveXml(cTo));
- cFrom.insertChars("[FROM]");
- cTo.insertChars("[TO]");
+ try (XmlCursor cFrom = navDoc(x, "d");
+ XmlCursor cTo = navNewCursor(cFrom, "t3c")) {
+ assertFalse(cFrom.moveXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+ }
assertEquals("<bar>[FROM]<foo>abc[TO]def</foo></bar>", x.xmlText(options));
@@ -1085,11 +1098,12 @@ public class StoreTests {
x = XmlObject.Factory.parse("<r><a>xyz</a><b>pqr</b></r>");
- cFrom = navDoc(x, "dd");
- cTo = navNewCursor(cFrom, "r-1t");
- assertTrue(cFrom.moveXml(cTo));
- cFrom.insertChars("[FROM]");
- cTo.insertChars("[TO]");
+ try (XmlCursor cFrom = navDoc(x, "dd");
+ XmlCursor cTo = navNewCursor(cFrom, "r-1t")) {
+ assertTrue(cFrom.moveXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+ }
assertEquals("<r>[FROM]<b>pqr</b><a>xyz</a>[TO]</r>", x.xmlText());
@@ -1097,11 +1111,12 @@ public class StoreTests {
x = XmlObject.Factory.parse("<r><a>xyz</a><b>pqr</b>AB</r>");
- cFrom = navDoc(x, "dd");
- cTo = navNewCursor(cFrom, "r-1t-1c");
- assertTrue(cFrom.moveXml(cTo));
- cFrom.insertChars("[FROM]");
- cTo.insertChars("[TO]");
+ try (XmlCursor cFrom = navDoc(x, "dd");
+ XmlCursor cTo = navNewCursor(cFrom, "r-1t-1c")) {
+ assertTrue(cFrom.moveXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+ }
assertEquals("<r>[FROM]<b>pqr</b>A<a>xyz</a>[TO]B</r>", x.xmlText());
@@ -1109,11 +1124,12 @@ public class StoreTests {
x = XmlObject.Factory.parse("<r><a>xyz</a><b>pqr</b>AB</r>");
- cFrom = navDoc(x, "dd");
- cTo = navNewCursor(cFrom, "stc");
- assertTrue(cFrom.moveXml(cTo));
- cFrom.insertChars("[FROM]");
- cTo.insertChars("[TO]");
+ try (XmlCursor cFrom = navDoc(x, "dd");
+ XmlCursor cTo = navNewCursor(cFrom, "stc")) {
+ assertTrue(cFrom.moveXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+ }
assertEquals("<r>[FROM]<b>p<a>xyz</a>[TO]qr</b>AB</r>", x.xmlText());
@@ -1121,11 +1137,12 @@ public class StoreTests {
x = XmlObject.Factory.parse("<r><a>xyz</a><b>pqr</b>AB</r>");
- cFrom = navDoc(x, "dd");
- cTo = navDoc(x, "d");
- assertTrue(cFrom.moveXml(cTo));
- cFrom.insertChars("[FROM]");
- cTo.insertChars("[TO]");
+ try (XmlCursor cFrom = navDoc(x, "dd");
+ XmlCursor cTo = navDoc(x, "d")) {
+ assertTrue(cFrom.moveXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+ }
testTextFrag(x.xmlText(), "<a>xyz</a>[TO]<r>[FROM]<b>pqr</b>AB</r>");
@@ -1133,11 +1150,12 @@ public class StoreTests {
x = XmlObject.Factory.parse("<r><a>xyz</a><b>pqr</b>AB</r>");
- cFrom = navDoc(x, "dd");
- cTo = navDoc(x, "r");
- assertTrue(cFrom.moveXml(cTo));
- cFrom.insertChars("[FROM]");
- cTo.insertChars("[TO]");
+ try (XmlCursor cFrom = navDoc(x, "dd");
+ XmlCursor cTo = navDoc(x, "r")) {
+ assertTrue(cFrom.moveXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+ }
assertEquals("<bar><r>[FROM]<b>pqr</b>AB</r><a>xyz</a>[TO]</bar>", x.xmlText(options));
@@ -1146,11 +1164,12 @@ public class StoreTests {
x = XmlObject.Factory.parse("<r><a>xyz</a></r>");
x2 = XmlObject.Factory.parse("<s></s>");
- cFrom = navDoc(x, "dd");
- cTo = navDoc(x2, "dt");
- assertTrue(cFrom.moveXml(cTo));
- cFrom.insertChars("[FROM]");
- cTo.insertChars("[TO]");
+ try (XmlCursor cFrom = navDoc(x, "dd");
+ XmlCursor cTo = navDoc(x2, "dt")) {
+ assertTrue(cFrom.moveXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+ }
assertEquals("<r>[FROM]</r>", x.xmlText());
assertEquals("<s><a>xyz</a>[TO]</s>", x2.xmlText());
@@ -1159,13 +1178,14 @@ public class StoreTests {
x = XmlObject.Factory.parse("<r><a>pq</a><b></b></r>");
- cFrom = navDoc(x, "dd");
- cTo = navDoc(x, "ddst");
- cTemp = navDoc(x, "ddt1c");
- assertTrue(cFrom.moveXml(cTo));
- cFrom.insertChars("[FROM]");
- cTo.insertChars("[TO]");
- cTemp.insertChars("[TEMP]");
+ try (XmlCursor cFrom = navDoc(x, "dd");
+ XmlCursor cTo = navDoc(x, "ddst");
+ XmlCursor cTemp = navDoc(x, "ddt1c")) {
+ assertTrue(cFrom.moveXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+ cTemp.insertChars("[TEMP]");
+ }
assertEquals("<r>[FROM][TEMP]<b><a>pq</a>[TO]</b></r>", x.xmlText());
@@ -1173,11 +1193,12 @@ public class StoreTests {
x = XmlObject.Factory.parse("<foo>abcdef</foo>");
- cFrom = navDoc(x, "2t2c");
- cTo = navNewCursor(cFrom, "-1c");
- cFrom.moveChars(2, cTo);
- cFrom.insertChars("[FROM]");
- cTo.insertChars("[TO]");
+ try (XmlCursor cFrom = navDoc(x, "2t2c");
+ XmlCursor cTo = navNewCursor(cFrom, "-1c")) {
+ cFrom.moveChars(2, cTo);
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+ }
assertEquals("<foo>acd[TO]b[FROM]ef</foo>", x.xmlText());
@@ -1185,11 +1206,12 @@ public class StoreTests {
x = XmlObject.Factory.parse("<foo>abcdef</foo>");
- cFrom = navDoc(x, "2t2c");
- cTo = navNewCursor(cFrom, "3c");
- cFrom.moveChars(2, cTo);
- cFrom.insertChars("[FROM]");
- cTo.insertChars("[TO]");
+ try (XmlCursor cFrom = navDoc(x, "2t2c");
+ XmlCursor cTo = navNewCursor(cFrom, "3c")) {
+ cFrom.moveChars(2, cTo);
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+ }
assertEquals("<foo>ab[FROM]ecd[TO]f</foo>", x.xmlText());
@@ -1197,11 +1219,12 @@ public class StoreTests {
x = XmlObject.Factory.parse("<bar><foo>abcdef</foo><foo>123456</foo></bar>");
- cFrom = navDoc(x, "3t2c");
- cTo = navNewCursor(cFrom, "3t3c");
- cFrom.moveChars(2, cTo);
- cFrom.insertChars("[FROM]");
- cTo.insertChars("[TO]");
+ try (XmlCursor cFrom = navDoc(x, "3t2c");
+ XmlCursor cTo = navNewCursor(cFrom, "3t3c")) {
+ cFrom.moveChars(2, cTo);
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+ }
assertEquals("<bar><foo>ab[FROM]ef</foo><foo>123cd[TO]456</foo></bar>", x.xmlText());
@@ -1209,11 +1232,12 @@ public class StoreTests {
x = XmlObject.Factory.parse("<bar><foo>abcdef</foo><foo>123456</foo></bar>");
- cFrom = navDoc(x, "2d");
- cTo = navDoc(x, "2dst2c");
- assertTrue(cFrom.copyXml(cTo));
- cFrom.insertChars("[FROM]");
- cTo.insertChars("[TO]");
+ try (XmlCursor cFrom = navDoc(x, "2d");
+ XmlCursor cTo = navDoc(x, "2dst2c")) {
+ assertTrue(cFrom.copyXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+ }
assertEquals(x.xmlText(),
"<bar>[FROM]<foo>abcdef</foo><foo>12" +
@@ -1224,11 +1248,12 @@ public class StoreTests {
x = XmlObject.Factory.parse("<r><a>xyz</a></r>");
x2 = XmlObject.Factory.parse("<s></s>");
- cFrom = navDoc(x, "dd");
- cTo = navDoc(x2, "dt");
- assertTrue(cFrom.copyXml(cTo));
- cFrom.insertChars("[FROM]");
- cTo.insertChars("[TO]");
+ try (XmlCursor cFrom = navDoc(x, "dd");
+ XmlCursor cTo = navDoc(x2, "dt")) {
+ assertTrue(cFrom.copyXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+ }
assertEquals("<r>[FROM]<a>xyz</a></r>", x.xmlText());
assertEquals("<s><a>xyz</a>[TO]</s>", x2.xmlText());
@@ -1238,11 +1263,12 @@ public class StoreTests {
x = XmlObject.Factory.parse(
"<bar><foo>abcdef</foo>blah<foo>123456</foo></bar>");
- cFrom = navDoc(x, "2d");
- cTo = navDoc(x, "2dst2c");
- assertTrue(cFrom.copyXml(cTo));
- cFrom.insertChars("[FROM]");
- cTo.insertChars("[TO]");
+ try (XmlCursor cFrom = navDoc(x, "2d");
+ XmlCursor cTo = navDoc(x, "2dst2c")) {
+ assertTrue(cFrom.copyXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+ }
assertEquals(x.xmlText(), "<bar>[FROM]<foo>abcdef</foo>blah<foo>12" +
"<foo>abcdef</foo>[TO]3456</foo></bar>");
@@ -1252,13 +1278,14 @@ public class StoreTests {
x = XmlObject.Factory.parse(
"<bar><foo x='y'>abcdef</foo><foo>123456</foo>7890</bar>");
- cFrom = navDoc(x, "2dt");
- cTo = navDoc(x, "2dst");
- cTemp = navDoc(x, "2dst3c");
- cTemp2 = navDoc(x, "2ds3t2c");
- assertTrue(cFrom.copyXml(cTo));
- cTemp.insertChars("[TEMP]");
- cTemp2.insertChars("[TEMP2]");
+ try (XmlCursor cFrom = navDoc(x, "2dt");
+ XmlCursor cTo = navDoc(x, "2dst");
+ XmlCursor cTemp = navDoc(x, "2dst3c");
+ XmlCursor cTemp2 = navDoc(x, "2ds3t2c")) {
+ assertTrue(cFrom.copyXml(cTo));
+ cTemp.insertChars("[TEMP]");
+ cTemp2.insertChars("[TEMP2]");
+ }
assertEquals(x.xmlText(),
"<bar><foo x=\"y\">abcdef</foo>" +
@@ -1269,13 +1296,13 @@ public class StoreTests {
x = XmlObject.Factory.parse(
"<bar>xy<foo x='y'>abcdef</foo>pqr<foo>123456</foo></bar>");
- cFrom = navDoc(x, "2d");
- cTo = navDoc(x, "2ds-2c");
-
- assertTrue(cFrom.removeXml());
+ try (XmlCursor cFrom = navDoc(x, "2d");
+ XmlCursor cTo = navDoc(x, "2ds-2c")) {
+ assertTrue(cFrom.removeXml());
- cFrom.insertChars("[FROM]");
- cTo.insertChars("[TO]");
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+ }
assertEquals("<bar>xy[FROM]p[TO]qr<foo>123456</foo></bar>", x.xmlText());
@@ -1284,13 +1311,13 @@ public class StoreTests {
x = XmlObject.Factory.parse(
"<bar>xy<foo x='y'>abcdef</foo>pqr<foo>123456</foo></bar>");
- cFrom = navDoc(x, "2d2t2c");
- cTo = navDoc(x, "2d2t5c");
-
- cFrom.removeChars(2);
+ try (XmlCursor cFrom = navDoc(x, "2d2t2c");
+ XmlCursor cTo = navDoc(x, "2d2t5c")) {
+ cFrom.removeChars(2);
- cFrom.insertChars("[FROM]");
- cTo.insertChars("[TO]");
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+ }
assertEquals(x.xmlText(),
"<bar>xy<foo x=\"y\">ab[FROM]e[TO]f" +
@@ -1300,13 +1327,13 @@ public class StoreTests {
x = XmlObject.Factory.parse("<bar><!---->abc</bar>");
- cFrom = navDoc(x, "tt");
- cTo = navDoc(x, "tttc");
-
- assertTrue(cFrom.removeXml());
+ try (XmlCursor cFrom = navDoc(x, "tt");
+ XmlCursor cTo = navDoc(x, "tttc")) {
+ assertTrue(cFrom.removeXml());
- cFrom.insertChars("[FROM]");
- cTo.insertChars("[TO]");
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+ }
assertEquals("<bar>[FROM]a[TO]bc</bar>", x.xmlText());
@@ -1314,12 +1341,13 @@ public class StoreTests {
x = XmlObject.Factory.newInstance();
- cTo = navDoc(x, "t");
- cTo.insertElement("boo");
- cTo.toPrevToken();
- cTo.insertElement("moo");
- cTo.toPrevToken();
- cTo.insertElement("goo");
+ try (XmlCursor cTo = navDoc(x, "t")) {
+ cTo.insertElement("boo");
+ cTo.toPrevToken();
+ cTo.insertElement("moo");
+ cTo.toPrevToken();
+ cTo.insertElement("goo");
+ }
assertEquals("<boo><moo><goo/></moo></boo>", x.xmlText());
@@ -1327,34 +1355,39 @@ public class StoreTests {
x = XmlObject.Factory.newInstance();
- cTo = navDoc(x, "t");
- cTo.insertElement("boo");
- cTo.toPrevToken();
- cTo.insertElement("moo");
- cTo.toPrevToken();
- cTo.insertAttributeWithValue("x", "y");
+ try (XmlCursor cTo = navDoc(x, "t")) {
+ cTo.insertElement("boo");
+ cTo.toPrevToken();
+ cTo.insertElement("moo");
+ cTo.toPrevToken();
+ cTo.insertAttributeWithValue("x", "y");
+ }
assertEquals("<boo><moo x=\"y\"/></boo>", x.xmlText());
//
x = XmlObject.Factory.parse("<bar x='y'>abc</bar>");
- cTo = navDoc(x, "tt");
- cTo.insertAttributeWithValue("p", "q");
+ try (XmlCursor cTo = navDoc(x, "tt")) {
+ cTo.insertAttributeWithValue("p", "q");
+ }
assertEquals("<bar p=\"q\" x=\"y\">abc</bar>", x.xmlText());
// Text XmlBookmark
x = XmlObject.Factory.parse("<r><foo>abc</foo><bar></bar></r>");
- cFrom = navDoc(x, "tt");
- anno = new Anno();
- cFrom.setBookmark(anno);
- cTo = navDoc(x, "6t");
- assertTrue(cFrom.moveXml(cTo));
- cFrom.insertChars("[FROM]");
- cTo.insertChars("[TO]");
- anno.createCursor().insertChars("[ANNO]");
+ try (XmlCursor cFrom = navDoc(x, "tt");
+ XmlCursor cTo = navDoc(x, "6t")) {
+ anno = new Anno();
+ cFrom.setBookmark(anno);
+ assertTrue(cFrom.moveXml(cTo));
+ cFrom.insertChars("[FROM]");
+ cTo.insertChars("[TO]");
+ try (XmlCursor c = anno.createCursor()) {
+ c.insertChars("[ANNO]");
+ }
+ }
assertEquals("<r>[FROM]<bar>[ANNO]<foo>abc</foo>[TO]</bar></r>", x.xmlText());
@@ -1362,31 +1395,38 @@ public class StoreTests {
x = XmlObject.Factory.parse("<foo x='y'>abc</foo>");
y = XmlObject.Factory.newInstance();
- d = y.newCursor();
- d.toNextToken();
- x.newCursor().moveXmlContents(d);
+ try (XmlCursor d = y.newCursor()) {
+ d.toNextToken();
+ try (XmlCursor c = x.newCursor()) {
+ c.moveXmlContents(d);
+ }
+ }
assertEquals("<foo x=\"y\">abc</foo>", y.xmlText());
x = XmlObject.Factory.parse("<bar><foo x='y'>abc</foo></bar>");
y = XmlObject.Factory.newInstance();
- c = x.newCursor();
- c.toNextToken();
- d = y.newCursor();
- d.toNextToken();
- c.moveXmlContents(d);
+ try (XmlCursor c = x.newCursor();
+ XmlCursor d = y.newCursor()) {
+ c.toNextToken();
+ d.toNextToken();
+ c.moveXmlContents(d);
+ }
assertEquals("<foo x=\"y\">abc</foo>", y.xmlText());
x = XmlObject.Factory.parse("<bar><foo x='y'>abc</foo></bar>");
- c = x.newCursor();
- c.toNextToken();
- c.removeXmlContents();
+ try (XmlCursor c = x.newCursor()) {
+ c.toNextToken();
+ c.removeXmlContents();
+ }
assertEquals("<bar/>", x.xmlText());
x = XmlObject.Factory.parse("<foo x='y'>abc</foo>");
y = XmlObject.Factory.newInstance();
- d = y.newCursor();
- d.toNextToken();
- x.newCursor().copyXmlContents(d);
+ try (XmlCursor d = y.newCursor();
+ XmlCursor e = x.newCursor()) {
+ d.toNextToken();
+ e.copyXmlContents(d);
+ }
assertEquals("<foo x=\"y\">abc</foo>", y.xmlText());
}
@@ -1396,7 +1436,7 @@ public class StoreTests {
@Test
public void testSave() throws Exception {
XmlObject x;
- XmlCursor cTo;
+ XmlOptions options;
//
@@ -1414,8 +1454,9 @@ public class StoreTests {
x = XmlObject.Factory.parse("<foo></foo>");
- cTo = navDoc(x, "dt");
- cTo.insertChars("&<");
+ try (XmlCursor cTo = navDoc(x, "dt")) {
+ cTo.insertChars("&<");
+ }
assertEquals("<foo>&<</foo>", x.xmlText());
@@ -1423,83 +1464,80 @@ public class StoreTests {
x = XmlObject.Factory.parse("<foo><boo>bar</boo></foo>");
- cTo = navDoc(x, "dt");
-
- assertEquals("<boo>bar</boo>", cTo.xmlText());
+ try (XmlCursor cTo = navDoc(x, "dt")) {
+ assertEquals("<boo>bar</boo>", cTo.xmlText());
+ }
//
x = XmlObject.Factory.parse("<foo><boo x=\"y\">bar</boo></foo>");
- cTo = navDoc(x, "dt");
-
- assertEquals("<boo x=\"y\">bar</boo>", cTo.xmlText());
+ try (XmlCursor cTo = navDoc(x, "dt")) {
+ assertEquals("<boo x=\"y\">bar</boo>", cTo.xmlText());
+ }
// Tests fragment saving and loading
x = XmlObject.Factory.parse("<foo>Eric</foo>");
- cTo = navDoc(x, "dt");
-
- x = XmlObject.Factory.parse(cTo.xmlText());
-
- cTo = navDoc(x, "");
+ try (XmlCursor cTo = navDoc(x, "dt")) {
+ x = XmlObject.Factory.parse(cTo.xmlText());
+ }
- assertEquals("Eric", cTo.getTextValue());
+ try (XmlCursor cTo = navDoc(x, "")) {
+ assertEquals("Eric", cTo.getTextValue());
+ }
// test save where I replace the name of an element
x = XmlObject.Factory.parse("<foo>Eric</foo>");
- cTo = navDoc(x, "d");
-
- XmlOptions options = new XmlOptions();
-
+ options = new XmlOptions();
options.setSaveSyntheticDocumentElement(new QName(null, "bar"));
+ try (XmlCursor cTo = navDoc(x, "d")) {
+ x = XmlObject.Factory.parse(cTo.xmlText(options));
+ }
- x = XmlObject.Factory.parse(cTo.xmlText(options));
-
- cTo = navDoc(x, "");
-
- assertEquals("<bar>Eric</bar>", cTo.xmlText());
+ try (XmlCursor cTo = navDoc(x, "")) {
+ assertEquals("<bar>Eric</bar>", cTo.xmlText());
+ }
// test save where I replace the name of the document
x = XmlObject.Factory.parse("<foo>Eric</foo>");
- cTo = navDoc(x, "");
-
- options = new XmlOptions();
-
- options.setSaveSyntheticDocumentElement(new QName(null, "bar"));
-
- x = XmlObject.Factory.parse(cTo.xmlText(options));
+ try (XmlCursor cTo = navDoc(x, "")) {
+ options = new XmlOptions();
+ options.setSaveSyntheticDocumentElement(new QName(null, "bar"));
- cTo = navDoc(x, "");
+ x = XmlObject.Factory.parse(cTo.xmlText(options));
+ }
- assertEquals("<bar><foo>Eric</foo></bar>", cTo.xmlText());
+ try (XmlCursor cTo = navDoc(x, "")) {
+ assertEquals("<bar><foo>Eric</foo></bar>", cTo.xmlText());
+ }
x = XmlObject.Factory.parse("<a xmlns='foo'/>");
- XmlCursor c = x.newCursor();
-
- c.toFirstContentToken();
- c.toFirstContentToken();
-
- c.insertElement("b");
- c.toPrevSibling();
- assertEquals("b", c.getName().getLocalPart());
- assertEquals(0, c.getName().getNamespaceURI().length());
+ try (XmlCursor c = x.newCursor()) {
+ c.toFirstContentToken();
+ c.toFirstContentToken();
- x = XmlObject.Factory.parse(x.xmlText());
+ c.insertElement("b");
+ c.toPrevSibling();
+ assertEquals("b", c.getName().getLocalPart());
+ assertEquals(0, c.getName().getNamespaceURI().length());
- c = x.newCursor();
+ x = XmlObject.Factory.parse(x.xmlText());
+ }
- c.toFirstContentToken();
- c.toFirstContentToken();
+ try (XmlCursor c = x.newCursor()) {
+ c.toFirstContentToken();
+ c.toFirstContentToken();
- assertEquals("b", c.getName().getLocalPart());
- assertEquals(0, c.getName().getNamespaceURI().length());
+ assertEquals("b", c.getName().getLocalPart());
+ assertEquals(0, c.getName().getNamespaceURI().length());
+ }
}
private void testTextFrag(String actual, String expected) {
@@ -1517,55 +1555,46 @@ public class StoreTests {
@Test
public void testSaveFrag() {
XmlObject x;
- XmlCursor c;
x = XmlObject.Factory.newInstance();
- c = x.newCursor();
-
- c.toNextToken();
-
- c.insertChars("Eric");
-
+ try (XmlCursor c = x.newCursor()) {
+ c.toNextToken();
+ c.insertChars("Eric");
+ }
testTextFrag(x.xmlText(), "Eric");
//
x = XmlObject.Factory.newInstance();
- c = x.newCursor();
-
- c.toNextToken();
-
- c.insertComment("");
- c.insertChars("x");
-
+ try (XmlCursor c = x.newCursor()) {
+ c.toNextToken();
+ c.insertComment("");
+ c.insertChars("x");
+ }
testTextFrag(x.xmlText(), "<!---->x");
//
x = XmlObject.Factory.newInstance();
- c = x.newCursor();
-
- c.toNextToken();
-
- c.insertElement("foo");
- c.insertChars("x");
-
+ try (XmlCursor c = x.newCursor()) {
+ c.toNextToken();
+ c.insertElement("foo");
+ c.insertChars("x");
+ }
testTextFrag(x.xmlText(), "<foo/>x");
//
x = XmlObject.Factory.newInstance();
- c = x.newCursor();
-
- c.toNextToken();
-
- c.insertElement("foo");
- c.insertElement("bar");
-
+ try (XmlCursor c = x.newCursor()) {
+ c.toNextToken();
+ c.insertElement("foo");
+ c.insertElement("bar");
+ }
testTextFrag(x.xmlText(), "<foo/><bar/>");
}
@@ -1580,9 +1609,9 @@ public class StoreTests {
XmlObject.Factory.parse(
"<bar p='q' x='y'>ab<foo>xy</foo>cd</bar>", options);
- XmlCursor c = navDoc(x, "t");
-
- assertSame(c.currentTokenType(), TokenType.ATTR);
+ try (XmlCursor c = navDoc(x, "t")) {
+ assertSame(c.currentTokenType(), TokenType.ATTR);
+ }
String open = "xmlns:open='http://www.openuri.org/fragment'";
@@ -1591,37 +1620,36 @@ public class StoreTests {
"<open:fragment p='q' x='y' " + open +
">ab<foo>xy</foo>cd</open:fragment>");
- c = navDoc(x, "t");
-
- assertSame(c.currentTokenType(), TokenType.ATTR);
+ try (XmlCursor c = navDoc(x, "t")) {
+ assertSame(c.currentTokenType(), TokenType.ATTR);
+ }
}
@Test
public void testCompare() throws Exception {
XmlObject x;
- XmlCursor cFrom, cTo;
// Forward navigation
x = XmlObject.Factory.parse("<bar p='q' x='y'>ab<foo>xy</foo>cd</bar>");
- cFrom = navDoc(x, "");
- cTo = navDoc(x, "");
-
- for (; ; ) {
- assertEquals(0, cFrom.comparePosition(cTo));
- assertTrue(cFrom.isAtSamePositionAs(cTo));
+ try (XmlCursor cFrom = navDoc(x, "");
+ XmlCursor cTo = navDoc(x, "")){
+ for (; ; ) {
+ assertEquals(0, cFrom.comparePosition(cTo));
+ assertTrue(cFrom.isAtSamePositionAs(cTo));
- TokenType tt = cFrom.currentTokenType();
+ TokenType tt = cFrom.currentTokenType();
- if (tt == TokenType.ENDDOC) {
- break;
- } else if (tt == TokenType.TEXT) {
- cFrom.toNextChar(1);
- cTo.toNextChar(1);
- } else {
- cFrom.toNextToken();
- cTo.toNextToken();
+ if (tt == TokenType.ENDDOC) {
+ break;
+ } else if (tt == TokenType.TEXT) {
+ cFrom.toNextChar(1);
+ cTo.toNextChar(1);
+ } else {
+ cFrom.toNextToken();
+ cTo.toNextToken();
+ }
}
}
@@ -1629,19 +1657,19 @@ public class StoreTests {
x = XmlObject.Factory.parse("<bar p='q' x='y'>ab<foo>xy</foo>cd</bar>");
- cFrom = navDoc(x, "r");
- cTo = navDoc(x, "r");
+ try (XmlCursor cFrom = navDoc(x, "r");
+ XmlCursor cTo = navDoc(x, "r")) {
+ for (; ; ) {
+ assertEquals(0, cFrom.comparePosition(cTo));
+ assertTrue(cFrom.isAtSamePositionAs(cTo));
- for (; ; ) {
- assertEquals(0, cFrom.comparePosition(cTo));
- assertTrue(cFrom.isAtSamePositionAs(cTo));
-
- if (cFrom.toPrevChar(1) == 1) {
- cTo.toPrevChar(1);
- } else if (cFrom.toPrevToken() != TokenType.NONE) {
- cTo.toPrevToken();
- } else {
- break;
+ if (cFrom.toPrevChar(1) == 1) {
+ cTo.toPrevChar(1);
+ } else if (cFrom.toPrevToken() != TokenType.NONE) {
+ cTo.toPrevToken();
+ } else {
+ break;
+ }
}
}
@@ -1650,34 +1678,34 @@ public class StoreTests {
x = XmlObject.Factory.parse(
"<bar p='q' x='y'>ab<foo>xy</foo>c<f y='x'>xy</f>d</bar>");
- cFrom = navDoc(x, "");
-
- for (; ; ) {
- boolean passed = false;
-
- cTo = navDoc(x, "");
-
+ try (XmlCursor cFrom = navDoc(x, "")) {
for (; ; ) {
- if (cTo.isAtSamePositionAs(cFrom)) {
- assertFalse(passed);
- passed = true;
- } else if (cTo.isLeftOf(cFrom)) {
- assertFalse(passed);
- } else {
- assertTrue(passed);
- assertTrue(cTo.isRightOf(cFrom));
- }
+ boolean passed = false;
- if (cTo.toNextChar(1) != 1) {
- if (cTo.toNextToken() == TokenType.ENDDOC) {
- break;
+ try (XmlCursor cTo = navDoc(x, "")) {
+ for (; ; ) {
+ if (cTo.isAtSamePositionAs(cFrom)) {
+ assertFalse(passed);
+ passed = true;
+ } else if (cTo.isLeftOf(cFrom)) {
+ assertFalse(passed);
+ } else {
+ assertTrue(passed);
+ assertTrue(cTo.isRightOf(cFrom));
+ }
+
+ if (cTo.toNextChar(1) != 1) {
+ if (cTo.toNextToken() == TokenType.ENDDOC) {
+ break;
+ }
+ }
}
}
- }
- if (cFrom.toNextChar(1) != 1) {
- if (cFrom.toNextToken() == TokenType.ENDDOC) {
- break;
+ if (cFrom.toNextChar(1) != 1) {
+ if (cFrom.toNextToken() == TokenType.ENDDOC) {
+ break;
+ }
}
}
}
@@ -1687,9 +1715,10 @@ public class StoreTests {
public void testAttrSetter()
throws Exception {
XmlObject x = XmlObject.Factory.parse("<foo/>");
- XmlCursor c = x.newCursor();
- c.toNextToken();
- c.setAttributeText(new QName(null, "x"), "hardehar");
+ try (XmlCursor c = x.newCursor()) {
+ c.toNextToken();
+ c.setAttributeText(new QName(null, "x"), "hardehar");
+ }
assertEquals("<foo x=\"hardehar\"/>", x.xmlText());
}
@@ -1697,124 +1726,130 @@ public class StoreTests {
public void testNavigation()
throws Exception {
XmlObject x = XmlObject.Factory.parse("<a><x/><y/><z/></a>");
- XmlCursor c = x.newCursor();
- assertFalse(c.toNextSibling());
- assertFalse(c.toPrevSibling());
- assertFalse(c.toFirstAttribute());
- assertFalse(c.toLastAttribute());
- c.toNextToken();
- c.toNextToken();
- assertTrue(c.toNextSibling());
- assertEquals("y", c.getName().getLocalPart());
- assertTrue(c.toNextSibling());
- assertEquals("z", c.getName().getLocalPart());
- assertFalse(c.toNextSibling());
+ try (XmlCursor c = x.newCursor()) {
+ assertFalse(c.toNextSibling());
+ assertFalse(c.toPrevSibling());
+ assertFalse(c.toFirstAttribute());
+ assertFalse(c.toLastAttribute());
+ c.toNextToken();
+ c.toNextToken();
+ assertTrue(c.toNextSibling());
+ assertEquals("y", c.getName().getLocalPart());
+ assertTrue(c.toNextSibling());
+ assertEquals("z", c.getName().getLocalPart());
+ assertFalse(c.toNextSibling());
+ }
x = XmlObject.Factory.parse("<a p='q' m='n'><x/><y/><z/></a>");
- c = x.newCursor();
- c.toNextToken();
- c.toNextToken();
- assertTrue(c.currentTokenType().isAttr());
- assertFalse(c.toPrevSibling());
- assertTrue(c.currentTokenType().isAttr());
- assertTrue(c.toNextSibling());
- assertEquals("x", c.getName().getLocalPart());
-
- c.toEndDoc();
- c.toPrevToken();
- assertTrue(c.toPrevSibling());
- assertEquals("z", c.getName().getLocalPart());
- assertTrue(c.toPrevSibling());
- assertEquals("y", c.getName().getLocalPart());
- assertTrue(c.toPrevSibling());
- assertEquals("x", c.getName().getLocalPart());
- assertFalse(c.toPrevSibling());
-
- c.toEndDoc();
- c.toPrevToken();
- assertTrue(c.toParent());
- assertEquals("a", c.getName().getLocalPart());
-
- c.toEndDoc();
- assertTrue(c.toParent());
- assertTrue(c.currentTokenType().isStartdoc());
+ try (XmlCursor c = x.newCursor()) {
+ c.toNextToken();
+ c.toNextToken();
+ assertTrue(c.currentTokenType().isAttr());
+ assertFalse(c.toPrevSibling());
+ assertTrue(c.currentTokenType().isAttr());
+ assertTrue(c.toNextSibling());
+ assertEquals("x", c.getName().getLocalPart());
+
+ c.toEndDoc();
+ c.toPrevToken();
+ assertTrue(c.toPrevSibling());
+ assertEquals("z", c.getName().getLocalPart());
+ assertTrue(c.toPrevSibling());
+ assertEquals("y", c.getName().getLocalPart());
+ assertTrue(c.toPrevSibling());
+ assertEquals("x", c.getName().getLocalPart());
+ assertFalse(c.toPrevSibling());
+
+ c.toEndDoc();
+ c.toPrevToken();
+ assertTrue(c.toParent());
+ assertEquals("a", c.getName().getLocalPart());
+
+ c.toEndDoc();
+ assertTrue(c.toParent());
+ assertTrue(c.currentTokenType().isStartdoc());
+ }
x = XmlObject.Factory.parse("<a>moo<!---->foo</a>");
- c = x.newCursor();
- c.toStartDoc();
- c.toNextToken();
- c.toNextToken();
- c.toNextToken();
- assertTrue(c.toParent());
- assertEquals("a", c.getName().getLocalPart());
-
- c.toStartDoc();
- c.toNextToken();
- c.toNextToken();
- c.toNextToken();
- c.toNextToken();
- assertTrue(c.toParent());
- assertEquals("a", c.getName().getLocalPart());
-
- c.toStartDoc();
- c.toNextToken();
- c.toNextToken();
- c.toNextToken();
- c.toNextToken();
- c.toNextChar(2);
- assertTrue(c.toParent());
- assertEquals("a", c.getName().getLocalPart());
+ try (XmlCursor c = x.newCursor()) {
+ c.toStartDoc();
+ c.toNextToken();
+ c.toNextToken();
+ c.toNextToken();
+ assertTrue(c.toParent());
+ assertEquals("a", c.getName().getLocalPart());
+
+ c.toStartDoc();
+ c.toNextToken();
+ c.toNextToken();
+ c.toNextToken();
+ c.toNextToken();
+ assertTrue(c.toParent());
+ assertEquals("a", c.getName().getLocalPart());
+
+ c.toStartDoc();
+ c.toNextToken();
+ c.toNextToken();
+ c.toNextToken();
+ c.toNextToken();
+ c.toNextChar(2);
+ assertTrue(c.toParent());
+ assertEquals("a", c.getName().getLocalPart());
+ }
x = XmlObject.Factory.parse("<foo>early<bar>text<char>zap</char></bar></foo>");
- c = x.newCursor();
- c.toNextToken();
- c.toNextToken();
- assertTrue(c.toFirstChild());
- assertEquals("zap", c.getTextValue());
+ try (XmlCursor c = x.newCursor()) {
+ c.toNextToken();
+ c.toNextToken();
+ assertTrue(c.toFirstChild());
+ assertEquals("zap", c.getTextValue());
+ }
}
@Test
public void testGetName()
throws Exception {
XmlObject x = XmlObject.Factory.parse("<a x='y'>eric<!----><?moo?></a>");
- XmlCursor c = x.newCursor();
- assertNull(c.getName());
- assertFalse(c.toNextToken().isNone());
- assertEquals("a", c.getName().getLocalPart());
- assertEquals(0, c.getName().getNamespaceURI().length());
- assertFalse(c.toNextToken().isNone());
- assertEquals("x", c.getName().getLocalPart());
- assertEquals(0, c.getName().getNamespaceURI().length());
- assertFalse(c.toNextToken().isNone());
- assertNull(c.getName());
- assertFalse(c.toNextToken().isNone());
- assertNull(c.getName());
- assertFalse(c.toNextToken().isNone());
- assertEquals("moo", c.getName().getLocalPart());
- assertEquals(0, c.getName().getNamespaceURI().length());
- assertFalse(c.toNextToken().isNone());
- assertNull(c.getName());
- assertFalse(c.toNextToken().isNone());
- assertNull(c.getName());
- assertTrue(c.toNextToken().isNone());
+ try (XmlCursor c = x.newCursor()) {
+ assertNull(c.getName());
+ assertFalse(c.toNextToken().isNone());
+ assertEquals("a", c.getName().getLocalPart());
+ assertEquals(0, c.getName().getNamespaceURI().length());
+ assertFalse(c.toNextToken().isNone());
+ assertEquals("x", c.getName().getLocalPart());
+ assertEquals(0, c.getName().getNamespaceURI().length());
+ assertFalse(c.toNextToken().isNone());
+ assertNull(c.getName());
+ assertFalse(c.toNextToken().isNone());
+ assertNull(c.getName());
+ assertFalse(c.toNextToken().isNone());
+ assertEquals("moo", c.getName().getLocalPart());
+ assertEquals(0, c.getName().getNamespaceURI().length());
+ assertFalse(c.toNextToken().isNone());
+ assertNull(c.getName());
+ assertFalse(c.toNextToken().isNone());
+ assertNull(c.getName());
+ assertTrue(c.toNextToken().isNone());
+ }
}
@Test
public void testGetChars()
throws Exception {
XmlObject x = XmlObject.Factory.parse("<foo>abcdefghijkl</foo>");
- XmlCursor c = x.newCursor();
- c.toNextToken();
- c.toNextToken();
- c.toNextChar(2);
-
- char[] buf = new char[3];
- int n = c.getChars(buf, 0, 400);
-
- assertEquals(3, n);
- assertEquals('c', buf[0]);
- assertEquals('d', buf[1]);
- assertEquals('e', buf[2]);
+ try (XmlCursor c = x.newCursor()) {
+ c.toNextToken();
+ c.toNextToken();
+ c.toNextChar(2);
+
+ char[] buf = new char[3];
+ int n = c.getChars(buf, 0, 400);
+
+ assertEquals(3, n);
+ assertEquals('c', buf[0]);
+ assertEquals('d', buf[1]);
+ assertEquals('e', buf[2]);
+ }
}
@Test
@@ -1829,31 +1864,31 @@ public class StoreTests {
XmlObject x = XmlObject.Factory.parse("<a xmlns='foo' xmlns:a='a' a:x='y'/>", options);
- XmlCursor c = x.newCursor();
-
- c.toNextToken();
- assertEquals("moo", c.getName().getNamespaceURI());
+ try (XmlCursor c = x.newCursor()) {
+ c.toNextToken();
+ assertEquals("moo", c.getName().getNamespaceURI());
- c.toNextToken();
- assertEquals("moo", c.getName().getNamespaceURI());
+ c.toNextToken();
+ assertEquals("moo", c.getName().getNamespaceURI());
- c.toNextToken();
- assertEquals("b", c.getName().getNamespaceURI());
+ c.toNextToken();
+ assertEquals("b", c.getName().getNamespaceURI());
- c.toNextToken();
- assertEquals("b", c.getName().getNamespaceURI());
+ c.toNextToken();
+ assertEquals("b", c.getName().getNamespaceURI());
+ }
}
@Test
public void testNamespaceInsertion() {
XmlObject x = XmlObject.Factory.newInstance();
- XmlCursor c = x.newCursor();
-
- c.toNextToken();
- c.insertElement("foo", "http://p.com");
- c.toPrevToken();
- c.insertNamespace("p", "http://p.com");
+ try (XmlCursor c = x.newCursor()) {
+ c.toNextToken();
+ c.insertElement("foo", "http://p.com");
+ c.toPrevToken();
+ c.insertNamespace("p", "http://p.com");
+ }
assertEquals("<p:foo xmlns:p=\"http://p.com\"/>", x.xmlText());
}
@@ -1879,18 +1914,20 @@ public class StoreTests {
public void testNil()
throws Exception {
XmlObject x = noNamespace.CanBeNilDocument.Factory.parse("<canBeNil/>");
- XmlCursor c = x.newCursor();
- c.toFirstChild();
- XmlObject fc = c.getObject();
- assertFalse(fc.isNil());
- fc.setNil();
- assertTrue(fc.isNil());
- assertEquals("<canBeNil xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/>", x.xmlText());
- c.toNextToken();
- assertTrue(c.isAttr());
- c.removeXml();
- assertEquals("<canBeNil/>", x.xmlText());
- assertFalse(fc.isNil());
+ try (XmlCursor c = x.newCursor()) {
+ c.toFirstChild();
+ XmlObject fc = c.getObject();
+
+ assertFalse(fc.isNil());
+ fc.setNil();
+ assertTrue(fc.isNil());
+ assertEquals("<canBeNil xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/>", x.xmlText());
+ c.toNextToken();
+ assertTrue(c.isAttr());
+ c.removeXml();
+ assertEquals("<canBeNil/>", x.xmlText());
+ assertFalse(fc.isNil());
+ }
}
@Test
Modified: xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToCursorTest.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToCursorTest.java?rev=1896764&r1=1896763&r2=1896764&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToCursorTest.java (original)
+++ xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToCursorTest.java Thu Jan 6 17:54:30 2022
@@ -30,13 +30,11 @@ public class ToCursorTest extends BasicC
@Test
public void testToCursorMoves() throws Exception {
m_xc = XmlObject.Factory.parse(Common.XML_FOO_1ATTR_TEXT).newCursor();
- XmlCursor xc0 = m_xc.newCursor();
- xc0.toEndDoc();
- try {
+ try (XmlCursor xc0 = m_xc.newCursor()) {
+ xc0.toEndDoc();
+
assertTrue(m_xc.toCursor(xc0));
assertTrue(xc0.isAtSamePositionAs(m_xc));
- } finally {
- xc0.dispose();
}
}
@@ -53,15 +51,13 @@ public class ToCursorTest extends BasicC
@Test
public void testToCursorDifferentDocs() throws Exception {
m_xc = XmlObject.Factory.parse(Common.XML_FOO_1ATTR_TEXT).newCursor();
- XmlCursor xc0 = XmlObject.Factory.parse(Common.XML_FOO_1ATTR_TEXT).newCursor();
- toNextTokenOfType(m_xc, TokenType.TEXT);
- String s = m_xc.xmlText();
- toNextTokenOfType(xc0, TokenType.TEXT);
- try {
+ try (XmlCursor xc0 = XmlObject.Factory.parse(Common.XML_FOO_1ATTR_TEXT).newCursor()) {
+ toNextTokenOfType(m_xc, TokenType.TEXT);
+ String s = m_xc.xmlText();
+ toNextTokenOfType(xc0, TokenType.TEXT);
+
assertFalse(m_xc.toCursor(xc0));
assertEquals(s, m_xc.xmlText());
- } finally {
- xc0.dispose();
}
}
Modified: xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToLastChildElementTest.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToLastChildElementTest.java?rev=1896764&r1=1896763&r2=1896764&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToLastChildElementTest.java (original)
+++ xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToLastChildElementTest.java Thu Jan 6 17:54:30 2022
@@ -48,16 +48,14 @@ public class ToLastChildElementTest exte
m_xc = XmlObject.Factory.parse("<foo>early<bar>text<char>zap</char><dar>yap</dar></bar></foo>").newCursor();
toNextTokenOfType(m_xc, TokenType.TEXT);
assertEquals("early", m_xc.getChars());
- XmlCursor xc0 = m_xc.newCursor();
- xc0.toNextSibling();
- try {
+ try (XmlCursor xc0 = m_xc.newCursor()) {
+ xc0.toNextSibling();
+
assertEquals("textzapyap", xc0.getTextValue());
xc0.toLastChild();
assertEquals("yap", xc0.getTextValue());
assertTrue(m_xc.toLastChild());
assertEquals("yap", m_xc.getTextValue());
- } finally {
- xc0.dispose();
}
}
Modified: xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToNextBookmarkTest.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToNextBookmarkTest.java?rev=1896764&r1=1896763&r2=1896764&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToNextBookmarkTest.java (original)
+++ xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToNextBookmarkTest.java Thu Jan 6 17:54:30 2022
@@ -37,20 +37,19 @@ public class ToNextBookmarkTest extends
m_xc = m_xo.newCursor();
toNextTokenOfType(m_xc, TokenType.START);
m_xc.setBookmark(_theBookmark);
- XmlCursor xc0 = m_xc.newCursor();
- toNextTokenOfType(m_xc, TokenType.END);
- m_xc.setBookmark(_theBookmark1);
- XmlCursor xc1 = m_xc.newCursor();
- m_xc.toStartDoc();
- try {
- assertEquals(_theBookmark, m_xc.toNextBookmark(SimpleBookmark.class));
- assertTrue(m_xc.isAtSamePositionAs(xc0));
- assertEquals(_theBookmark1, m_xc.toNextBookmark(SimpleBookmark.class));
- assertTrue(m_xc.isAtSamePositionAs(xc1));
- assertNull(m_xc.toNextBookmark(SimpleBookmark.class));
- } finally {
- xc0.dispose();
- xc1.dispose();
+ try (XmlCursor xc0 = m_xc.newCursor()) {
+ toNextTokenOfType(m_xc, TokenType.END);
+ m_xc.setBookmark(_theBookmark1);
+
+ try (XmlCursor xc1 = m_xc.newCursor()) {
+ m_xc.toStartDoc();
+
+ assertEquals(_theBookmark, m_xc.toNextBookmark(SimpleBookmark.class));
+ assertTrue(m_xc.isAtSamePositionAs(xc0));
+ assertEquals(_theBookmark1, m_xc.toNextBookmark(SimpleBookmark.class));
+ assertTrue(m_xc.isAtSamePositionAs(xc1));
+ assertNull(m_xc.toNextBookmark(SimpleBookmark.class));
+ }
}
}
@@ -72,20 +71,19 @@ public class ToNextBookmarkTest extends
m_xc = m_xo.newCursor();
toNextTokenOfType(m_xc, TokenType.START);
m_xc.setBookmark(_theBookmark);
- XmlCursor xc0 = m_xc.newCursor();
- toNextTokenOfType(m_xc, TokenType.END);
- m_xc.setBookmark(_difBookmark);
- XmlCursor xc1 = m_xc.newCursor();
- m_xc.toStartDoc();
- try {
- assertEquals(_theBookmark, m_xc.toNextBookmark(SimpleBookmark.class));
- assertTrue(m_xc.isAtSamePositionAs(xc0));
- assertNull(m_xc.toNextBookmark(SimpleBookmark.class));
- assertEquals(_difBookmark, m_xc.toNextBookmark(DifferentBookmark.class));
- assertTrue(m_xc.isAtSamePositionAs(xc1));
- } finally {
- xc0.dispose();
- xc1.dispose();
+ try (XmlCursor xc0 = m_xc.newCursor()) {
+ toNextTokenOfType(m_xc, TokenType.END);
+ m_xc.setBookmark(_difBookmark);
+
+ try (XmlCursor xc1 = m_xc.newCursor()) {
+ m_xc.toStartDoc();
+
+ assertEquals(_theBookmark, m_xc.toNextBookmark(SimpleBookmark.class));
+ assertTrue(m_xc.isAtSamePositionAs(xc0));
+ assertNull(m_xc.toNextBookmark(SimpleBookmark.class));
+ assertEquals(_difBookmark, m_xc.toNextBookmark(DifferentBookmark.class));
+ assertTrue(m_xc.isAtSamePositionAs(xc1));
+ }
}
}
@@ -100,13 +98,11 @@ public class ToNextBookmarkTest extends
m_xc.toPrevChar(2);
assertEquals(3, m_xc.removeChars(3)); // '2' should be deleted, along w/ bookmark
assertEquals("34", m_xc.getChars());
- XmlCursor xc1 = m_xc.newCursor();
- xc1.toStartDoc();
- try {
+ try (XmlCursor xc1 = m_xc.newCursor()) {
+ xc1.toStartDoc();
+
assertNull(xc1.toNextBookmark(SimpleBookmark.class));
assertEquals(TokenType.STARTDOC, xc1.currentTokenType());
- } finally {
- xc1.dispose();
}
}
Modified: xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToNextSelectionTest.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToNextSelectionTest.java?rev=1896764&r1=1896763&r2=1896764&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToNextSelectionTest.java (original)
+++ xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToNextSelectionTest.java Thu Jan 6 17:54:30 2022
@@ -72,12 +72,9 @@ public class ToNextSelectionTest extends
public void testToNextSelectionOtherCursor() throws Exception {
String sXml = "<foo><b>0</b><b>1</b><b>2</b><b>3</b><b>4</b><b>5</b><b>6</b></foo>";
m_xc = XmlObject.Factory.parse(sXml).newCursor();
- XmlCursor xc0 = m_xc.newCursor();
- try {
+ try (XmlCursor xc0 = m_xc.newCursor()) {
m_xc.selectPath("$this//b");
assertFalse(xc0.toNextSelection());
- } finally {
- xc0.dispose();
}
}
@@ -85,8 +82,7 @@ public class ToNextSelectionTest extends
public void testToNextSelectionTwoCursorsDifferentSelections() throws Exception {
String sXml = "<foo><a>X</a><b>0</b><a>Y</a><b>1</b><a>Z</a><b>2</b></foo>";
m_xc = XmlObject.Factory.parse(sXml).newCursor();
- XmlCursor xc0 = m_xc.newCursor();
- try {
+ try (XmlCursor xc0 = m_xc.newCursor()) {
xc0.selectPath("$this//a");
xc0.toNextSelection();
assertEquals(3, xc0.getSelectionCount());
@@ -97,8 +93,6 @@ public class ToNextSelectionTest extends
assertEquals("Y", xc0.getTextValue());
assertTrue(m_xc.toNextSelection());
assertEquals("1", m_xc.getTextValue());
- } finally {
- xc0.dispose();
}
}
@@ -106,8 +100,7 @@ public class ToNextSelectionTest extends
public void testToNextSelectionTwoCursorsSameSelections() throws Exception {
String sXml = "<foo><a>X</a><b>0</b><a>Y</a><b>1</b><a>Z</a><b>2</b></foo>";
m_xc = XmlObject.Factory.parse(sXml).newCursor();
- XmlCursor xc0 = m_xc.newCursor();
- try {
+ try (XmlCursor xc0 = m_xc.newCursor()) {
xc0.selectPath("$this//b");
xc0.toNextSelection();
assertEquals(3, xc0.getSelectionCount());
@@ -124,8 +117,6 @@ public class ToNextSelectionTest extends
assertEquals("2", m_xc.getTextValue());
assertFalse(xc0.toNextSelection());
assertFalse(m_xc.toNextSelection());
- } finally {
- xc0.dispose();
}
}
}
Modified: xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToPrevBookmarkTest.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToPrevBookmarkTest.java?rev=1896764&r1=1896763&r2=1896764&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToPrevBookmarkTest.java (original)
+++ xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToPrevBookmarkTest.java Thu Jan 6 17:54:30 2022
@@ -37,20 +37,18 @@ public class ToPrevBookmarkTest extends
m_xc = m_xo.newCursor();
toNextTokenOfType(m_xc, TokenType.START);
m_xc.setBookmark(_theBookmark);
- XmlCursor xc0 = m_xc.newCursor();
- toNextTokenOfType(m_xc, TokenType.END);
- m_xc.setBookmark(_theBookmark1);
- XmlCursor xc1 = m_xc.newCursor();
- m_xc.toEndDoc();
- try {
- assertEquals(_theBookmark1, m_xc.toPrevBookmark(SimpleBookmark.class));
- assertTrue(m_xc.isAtSamePositionAs(xc1));
- assertEquals(_theBookmark, m_xc.toPrevBookmark(SimpleBookmark.class));
- assertTrue(m_xc.isAtSamePositionAs(xc0));
- assertNull(m_xc.toPrevBookmark(SimpleBookmark.class));
- } finally {
- xc0.dispose();
- xc1.dispose();
+ try (XmlCursor xc0 = m_xc.newCursor()) {
+ toNextTokenOfType(m_xc, TokenType.END);
+ m_xc.setBookmark(_theBookmark1);
+ try (XmlCursor xc1 = m_xc.newCursor()) {
+ m_xc.toEndDoc();
+
+ assertEquals(_theBookmark1, m_xc.toPrevBookmark(SimpleBookmark.class));
+ assertTrue(m_xc.isAtSamePositionAs(xc1));
+ assertEquals(_theBookmark, m_xc.toPrevBookmark(SimpleBookmark.class));
+ assertTrue(m_xc.isAtSamePositionAs(xc0));
+ assertNull(m_xc.toPrevBookmark(SimpleBookmark.class));
+ }
}
}
@@ -72,20 +70,19 @@ public class ToPrevBookmarkTest extends
m_xc = m_xo.newCursor();
toNextTokenOfType(m_xc, TokenType.START);
m_xc.setBookmark(_theBookmark);
- XmlCursor xc0 = m_xc.newCursor();
- toNextTokenOfType(m_xc, TokenType.END);
- m_xc.setBookmark(_difBookmark);
- XmlCursor xc1 = m_xc.newCursor();
- m_xc.toEndDoc();
- try {
- assertEquals(_difBookmark, m_xc.toPrevBookmark(DifferentBookmark.class));
- assertTrue(m_xc.isAtSamePositionAs(xc1));
- assertNull(m_xc.toPrevBookmark(DifferentBookmark.class));
- assertEquals(_theBookmark, m_xc.toPrevBookmark(SimpleBookmark.class));
- assertTrue(m_xc.isAtSamePositionAs(xc0));
- } finally {
- xc0.dispose();
- xc1.dispose();
+ try (XmlCursor xc0 = m_xc.newCursor()) {
+ toNextTokenOfType(m_xc, TokenType.END);
+ m_xc.setBookmark(_difBookmark);
+
+ try (XmlCursor xc1 = m_xc.newCursor()) {
+ m_xc.toEndDoc();
+
+ assertEquals(_difBookmark, m_xc.toPrevBookmark(DifferentBookmark.class));
+ assertTrue(m_xc.isAtSamePositionAs(xc1));
+ assertNull(m_xc.toPrevBookmark(DifferentBookmark.class));
+ assertEquals(_theBookmark, m_xc.toPrevBookmark(SimpleBookmark.class));
+ assertTrue(m_xc.isAtSamePositionAs(xc0));
+ }
}
}
@@ -97,16 +94,14 @@ public class ToPrevBookmarkTest extends
m_xc.toNextChar(2);
assertEquals("xt", m_xc.getChars());
m_xc.setBookmark(_theBookmark); // set bm in middle of TEXT
- XmlCursor xc1 = m_xc.newCursor();
- xc1.toEndDoc();
- m_xc.toPrevToken();
- m_xc.setTextValue("changed"); // changes text, should destroy bm
- m_xc.toEndDoc();
- try {
+ try (XmlCursor xc1 = m_xc.newCursor()) {
+ xc1.toEndDoc();
+ m_xc.toPrevToken();
+ m_xc.setTextValue("changed"); // changes text, should destroy bm
+ m_xc.toEndDoc();
+
assertNull(xc1.toPrevBookmark(SimpleBookmark.class));
assertEquals(TokenType.ENDDOC, xc1.currentTokenType());
- } finally {
- xc1.dispose();
}
}
Modified: xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToPrevElementTest.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToPrevElementTest.java?rev=1896764&r1=1896763&r2=1896764&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToPrevElementTest.java (original)
+++ xmlbeans/trunk/src/test/java/xmlcursor/checkin/ToPrevElementTest.java Thu Jan 6 17:54:30 2022
@@ -36,14 +36,12 @@ public class ToPrevElementTest extends B
@Test
public void testToPrevElementFromENDDOC() throws Exception {
m_xc = XmlObject.Factory.parse("<foo>early<bar>text</bar></foo>").newCursor();
- XmlCursor xc0 = m_xc.newCursor();
- xc0.toFirstChild();
- m_xc.toEndDoc();
- m_xc.toPrevSibling();
- try {
+ try (XmlCursor xc0 = m_xc.newCursor()) {
+ xc0.toFirstChild();
+ m_xc.toEndDoc();
+ m_xc.toPrevSibling();
+
assertTrue(m_xc.isAtSamePositionAs(xc0));
- } finally {
- xc0.dispose();
}
}
Modified: xmlbeans/trunk/src/test/java/xmlcursor/common/BasicCursorTestCase.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/common/BasicCursorTestCase.java?rev=1896764&r1=1896763&r2=1896764&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/xmlcursor/common/BasicCursorTestCase.java (original)
+++ xmlbeans/trunk/src/test/java/xmlcursor/common/BasicCursorTestCase.java Thu Jan 6 17:54:30 2022
@@ -33,7 +33,7 @@ public class BasicCursorTestCase {
public void tearDown() throws Exception {
m_xo = null;
if (m_xc != null) {
- m_xc.dispose();
+ m_xc.close();
m_xc = null;
}
}
@@ -52,6 +52,11 @@ public class BasicCursorTestCase {
assertEquals(tt, xc.currentTokenType());
}
+ public XmlCursor toNextTokenOfTypeCursor(XmlCursor xc, TokenType tt) throws IllegalArgumentException {
+ toNextTokenOfType(xc, tt);
+ return xc.newCursor();
+ }
+
public void toPrevTokenOfType(XmlCursor xc, TokenType tt)
throws IllegalArgumentException {
if (xc == null) {
Modified: xmlbeans/trunk/src/test/java/xmlcursor/detailed/CopyCharsTest.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/detailed/CopyCharsTest.java?rev=1896764&r1=1896763&r2=1896764&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/xmlcursor/detailed/CopyCharsTest.java (original)
+++ xmlbeans/trunk/src/test/java/xmlcursor/detailed/CopyCharsTest.java Thu Jan 6 17:54:30 2022
@@ -38,11 +38,8 @@ public class CopyCharsTest extends Basic
public void testCopyCharsNegative() throws Exception {
m_xo = XmlObject.Factory.parse("<foo><bar>0123</bar><bar>WXYZ</bar></foo>");
m_xc = m_xo.newCursor();
- toNextTokenOfType(m_xc, TokenType.TEXT);
- XmlCursor xc0 = m_xc.newCursor();
- toNextTokenOfType(m_xc, TokenType.TEXT);
- XmlCursor xc1 = m_xc.newCursor();
- try {
+ try (XmlCursor xc0 = toNextTokenOfTypeCursor(m_xc, TokenType.TEXT);
+ XmlCursor xc1 = toNextTokenOfTypeCursor(m_xc, TokenType.TEXT)) {
assertFalse(xc0.isAtSamePositionAs(xc1));
assertEquals(4, xc1.copyChars(-1, xc0));
assertEquals(TokenType.TEXT, xc0.currentTokenType());
@@ -54,9 +51,6 @@ public class CopyCharsTest extends Basic
assertEquals(TokenType.TEXT, xc1.currentTokenType());
assertEquals(TokenType.START, xc1.prevTokenType());
assertEquals("WXYZ", xc1.getTextValue());
- } finally {
- xc0.dispose();
- xc1.dispose();
}
}
@@ -64,11 +58,8 @@ public class CopyCharsTest extends Basic
public void testCopyCharsZero() throws Exception {
m_xo = XmlObject.Factory.parse("<foo><bar>0123</bar><bar>WXYZ</bar></foo>");
m_xc = m_xo.newCursor();
- toNextTokenOfType(m_xc, TokenType.TEXT);
- XmlCursor xc0 = m_xc.newCursor();
- toNextTokenOfType(m_xc, TokenType.TEXT);
- XmlCursor xc1 = m_xc.newCursor();
- try {
+ try (XmlCursor xc0 = toNextTokenOfTypeCursor(m_xc, TokenType.TEXT);
+ XmlCursor xc1 = toNextTokenOfTypeCursor(m_xc, TokenType.TEXT)) {
assertFalse(xc0.isAtSamePositionAs(xc1));
assertEquals(0, xc1.copyChars(0, xc0));
assertEquals("0123", xc0.getTextValue());
@@ -76,9 +67,6 @@ public class CopyCharsTest extends Basic
assertEquals("0123", xc0.getTextValue());
assertEquals(TokenType.TEXT, xc1.currentTokenType());
assertEquals("WXYZ", xc1.getTextValue());
- } finally {
- xc0.dispose();
- xc1.dispose();
}
}
@@ -86,19 +74,14 @@ public class CopyCharsTest extends Basic
public void testCopyCharsThis() throws Exception {
m_xo = XmlObject.Factory.parse("<foo><bar>0123</bar><bar>WXYZ</bar></foo>");
m_xc = m_xo.newCursor();
- toNextTokenOfType(m_xc, TokenType.TEXT);
- XmlCursor xc0 = m_xc.newCursor();
- XmlCursor xc1 = m_xc.newCursor();
- try {
+ try (XmlCursor xc0 = toNextTokenOfTypeCursor(m_xc, TokenType.TEXT);
+ XmlCursor xc1 = m_xc.newCursor()) {
assertTrue(xc0.isAtSamePositionAs(xc1));
assertEquals(4, xc1.copyChars(4, xc0));
assertEquals("0123", xc0.getTextValue());
xc0.toPrevToken();
assertEquals("01230123", xc0.getTextValue());
assertEquals("0123", xc1.getTextValue());
- } finally {
- xc0.dispose();
- xc1.dispose();
}
}
@@ -106,11 +89,8 @@ public class CopyCharsTest extends Basic
public void testCopyCharsGTmax() throws Exception {
m_xo = XmlObject.Factory.parse("<foo><bar>0123</bar><bar>WXYZ</bar></foo>");
m_xc = m_xo.newCursor();
- toNextTokenOfType(m_xc, TokenType.TEXT);
- XmlCursor xc0 = m_xc.newCursor();
- toNextTokenOfType(m_xc, TokenType.TEXT);
- XmlCursor xc1 = m_xc.newCursor();
- try {
+ try (XmlCursor xc0 = toNextTokenOfTypeCursor(m_xc, TokenType.TEXT);
+ XmlCursor xc1 = toNextTokenOfTypeCursor(m_xc, TokenType.TEXT)) {
assertFalse(xc0.isAtSamePositionAs(xc1));
assertEquals(4, xc1.copyChars(1000, xc0));
// verify xc0
@@ -119,9 +99,6 @@ public class CopyCharsTest extends Basic
assertEquals("WXYZ0123", xc0.getTextValue());
// verify xc1
assertEquals("WXYZ", xc1.getTextValue());
- } finally {
- xc0.dispose();
- xc1.dispose();
}
}
@@ -130,14 +107,14 @@ public class CopyCharsTest extends Basic
m_xo = XmlObject.Factory.parse(Common.XML_FOO_DIGITS);
m_xc = m_xo.newCursor();
XmlObject xo = XmlObject.Factory.parse(Common.XML_FOO_2ATTR_TEXT);
- XmlCursor xc1 = xo.newCursor();
- toNextTokenOfType(m_xc, TokenType.TEXT);
- toNextTokenOfType(xc1, TokenType.TEXT);
- assertEquals(5, m_xc.copyChars(5, xc1));
- assertEquals(5,xc1.toPrevChar(5));
- // verify xc1
- assertEquals("01234text", xc1.getTextValue());
- xc1.dispose();
+ try (XmlCursor xc1 = xo.newCursor()) {
+ toNextTokenOfType(m_xc, TokenType.TEXT);
+ toNextTokenOfType(xc1, TokenType.TEXT);
+ assertEquals(5, m_xc.copyChars(5, xc1));
+ assertEquals(5,xc1.toPrevChar(5));
+ // verify xc1
+ assertEquals("01234text", xc1.getTextValue());
+ }
// verify m_xc
assertEquals("01234", m_xc.getTextValue());
}
@@ -147,9 +124,10 @@ public class CopyCharsTest extends Basic
m_xo = XmlObject.Factory.parse(Common.XML_FOO_DIGITS);
m_xc = m_xo.newCursor();
XmlObject xo = XmlObject.Factory.newInstance();
- XmlCursor xc1 = xo.newCursor();
- toNextTokenOfType(m_xc, TokenType.TEXT);
- assertEquals(5, m_xc.copyChars(5, xc1));
+ try (XmlCursor xc1 = xo.newCursor()) {
+ toNextTokenOfType(m_xc, TokenType.TEXT);
+ assertEquals(5, m_xc.copyChars(5, xc1));
+ }
}
}
Modified: xmlbeans/trunk/src/test/java/xmlcursor/detailed/CopyTest.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/detailed/CopyTest.java?rev=1896764&r1=1896763&r2=1896764&view=diff
==============================================================================
--- xmlbeans/trunk/src/test/java/xmlcursor/detailed/CopyTest.java (original)
+++ xmlbeans/trunk/src/test/java/xmlcursor/detailed/CopyTest.java Thu Jan 6 17:54:30 2022
@@ -30,19 +30,18 @@ public class CopyTest {
public void testCopyNamespaceMigration() throws XmlException {
String s1 = "<X xmlns=\"foo\" xmlns:xsi=\"bar\"><zzz>123</zzz></X>";
String s2 = "<Y> ... [some content] ... </Y>";
- XmlCursor xc1 = XmlObject.Factory.parse(s1).newCursor();
- xc1.toFirstContentToken();
- xc1.toFirstChild();
- XmlCursor xc2 = XmlObject.Factory.parse(s2).newCursor();
- assertEquals(XmlCursor.TokenType.START, xc2.toFirstContentToken());
- xc2.toNextToken();
- xc1.copyXml(xc2);
- xc2.toStartDoc();
- assertEquals("<Y>" +
- "<foo:zzz xmlns:foo=\"foo\" xmlns:xsi=\"bar\">123</foo:zzz>" +
- " ... [some content] ... </Y>", xc2.xmlText());
- xc1.dispose();
- xc2.dispose();
+ try (XmlCursor xc1 = XmlObject.Factory.parse(s1).newCursor();
+ XmlCursor xc2 = XmlObject.Factory.parse(s2).newCursor()) {
+ xc1.toFirstContentToken();
+ xc1.toFirstChild();
+ assertEquals(XmlCursor.TokenType.START, xc2.toFirstContentToken());
+ xc2.toNextToken();
+ xc1.copyXml(xc2);
+ xc2.toStartDoc();
+ assertEquals("<Y>" +
+ "<foo:zzz xmlns:foo=\"foo\" xmlns:xsi=\"bar\">123</foo:zzz>" +
+ " ... [some content] ... </Y>", xc2.xmlText());
+ }
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org