Modified: xmlbeans/trunk/src/test/java/xmlcursor/xquery/detailed/XQueryTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/xquery/detailed/XQueryTest.java?rev=1896764&r1=1896763&r2=1896764&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlcursor/xquery/detailed/XQueryTest.java (original) +++ xmlbeans/trunk/src/test/java/xmlcursor/xquery/detailed/XQueryTest.java Thu Jan 6 17:54:30 2022 @@ -35,13 +35,14 @@ public class XQueryTest { InputStream input = JarUtil.getResourceFromJarasStream("xbean/xmlcursor/XQueryInput.xml"); XmlObject o = XmlObject.Factory.parse(input); - XmlCursor c = o.newCursor(); - XmlCursor c1 = c.execQuery(xq); - c1.toFirstContentToken(); - assertEquals("<employee>\n" + - "\t\t<name>Bob</name>\n" + - "\t\t<ssn>1000</ssn>\n" + - "\t</employee>", c1.xmlText()); + try (XmlCursor c = o.newCursor(); + XmlCursor c1 = c.execQuery(xq)) { + c1.toFirstContentToken(); + assertEquals("<employee>\n" + + "\t\t<name>Bob</name>\n" + + "\t\t<ssn>1000</ssn>\n" + + "\t</employee>", c1.xmlText()); + } XmlObject[] res = o.execQuery(xq); EmpT employeeType = (EmpT) res[0]; @@ -62,39 +63,28 @@ public class XQueryTest { reslt[1].xmlText()); assertEquals("<person><name>NotBob</name></person>", reslt[2].xmlText()); - XmlCursor c = o.newCursor(); - //via Cursor - /*XmlCursor c1=c.execQuery(query); - c1.toFirstContentToken(); - assertEquals("<person><name>Bob</name></person>", - c1.xmlText() ); - c1.toNextSibling(); - assertEquals("<person><name>Beth</name></person>", - c1.xmlText() ); - c1.dispose(); - c.dispose(); - */ - int i = 0; - while (i++ < 2) { - //via Cursor--new - XmlCursor c1 = c.execQuery(query); - //c.dispose(); - assertEquals(XmlCursor.TokenType.STARTDOC, c1.currentTokenType()); - assertEquals(XmlCursor.TokenType.START, c1.toNextToken()); - assertEquals("<person><name>Bob</name></person>", - c1.xmlText()); - // assertTrue(c1.toNextSelection()); - assertTrue(c1.toNextSibling()); - assertEquals("<person><name>Beth</name></person>", - c1.xmlText()); - //assertTrue(c1.toNextSelection()); - assertTrue(c1.toNextSibling()); - assertEquals("<person><name>NotBob</name></person>", - c1.xmlText()); - c1.dispose(); + try (XmlCursor c = o.newCursor()) { + int i = 0; + while (i++ < 2) { + //via Cursor--new + try (XmlCursor c1 = c.execQuery(query)) { + //c.dispose(); + assertEquals(XmlCursor.TokenType.STARTDOC, c1.currentTokenType()); + assertEquals(XmlCursor.TokenType.START, c1.toNextToken()); + assertEquals("<person><name>Bob</name></person>", + c1.xmlText()); + // assertTrue(c1.toNextSelection()); + assertTrue(c1.toNextSibling()); + assertEquals("<person><name>Beth</name></person>", + c1.xmlText()); + //assertTrue(c1.toNextSelection()); + assertTrue(c1.toNextSibling()); + assertEquals("<person><name>NotBob</name></person>", + c1.xmlText()); + } + } } - c.dispose(); } @Test @@ -102,34 +92,33 @@ public class XQueryTest { String query = JarUtil.getResourceFromJar("xbean/xmlcursor/xquery/Join.xq"); InputStream input = JarUtil.getResourceFromJarasStream("xbean/xmlcursor/XQueryInput.xml"); XmlObject o = XmlObject.Factory.parse(input); - XmlCursor c = o.newCursor(); - XmlCursor c1 = c.execQuery(query); - // assertEquals(3, c1.getSelectionCount()); - c1.toFirstContentToken(); - assertEquals("<result>" + - "<ssn>1000</ssn>,\n" + - "\t\t<name>Bob</name>,\n" + - "\t\t<name>NotBob</name>" + - "</result>", - c1.xmlText()); -/* assertEquals("<xml-fragment>" + - "<result>" + - "<ssn>1000</ssn>,\n" + - "\t\t<name>Bob</name>,\n" + - "\t\t<name>NotBob</name>" + - "</result>" + - "<result><ssn>1001</ssn>,\n" + - "\t\t<name>Beth</name>,\n" + - "\t\t</result>" + - "<result><ssn>1000</ssn>,\n" + - "\t\t<name>NotBob</name>,\n" + - "\t\t<name>Bob</name>" + - "</result>" + - "</xml-fragment>", - c1.xmlText() ); */ - c1.dispose(); - c.dispose(); + try (XmlCursor c = o.newCursor(); + XmlCursor c1 = c.execQuery(query)) { + c1.toFirstContentToken(); + assertEquals("<result>" + + "<ssn>1000</ssn>,\n" + + "\t\t<name>Bob</name>,\n" + + "\t\t<name>NotBob</name>" + + "</result>", + c1.xmlText()); +/* assertEquals("<xml-fragment>" + + "<result>" + + "<ssn>1000</ssn>,\n" + + "\t\t<name>Bob</name>,\n" + + "\t\t<name>NotBob</name>" + + "</result>" + + "<result><ssn>1001</ssn>,\n" + + "\t\t<name>Beth</name>,\n" + + "\t\t</result>" + + "<result><ssn>1000</ssn>,\n" + + "\t\t<name>NotBob</name>,\n" + + "\t\t<name>Bob</name>" + + "</result>" + + "</xml-fragment>", + c1.xmlText() ); */ + + } XmlObject[] res = o.execQuery(query); assertEquals(3, res.length); @@ -152,19 +141,18 @@ public class XQueryTest { String query = ".//text()"; InputStream input = JarUtil.getResourceFromJarasStream("xbean/xmlcursor/XQueryInput.xml"); XmlObject o = XmlObject.Factory.parse(input); - XmlCursor c = o.newCursor(); - XmlCursor c1 = c.execQuery(query); - assertEquals(XmlCursor.TokenType.TEXT,c1.toNextToken()); - // assertEquals() - //assertEquals(19, c1.getSelectionCount()); - c.dispose();//make sure this doesn't screw things up - while (c1.toNextSibling()) - assertEquals(XmlCursor.TokenType.TEXT, c1.currentTokenType()); - c1.toStartDoc(); - assertEquals("<xml-fragment>Bob</xml-fragment>", - c1.xmlText()); - c1.dispose(); - c.dispose(); + try (XmlCursor c = o.newCursor(); + XmlCursor c1 = c.execQuery(query)) { + assertEquals(XmlCursor.TokenType.TEXT,c1.toNextToken()); + //assertEquals(19, c1.getSelectionCount()); + c.close(); // make sure this doesn't screw things up + while (c1.toNextSibling()) { + assertEquals(XmlCursor.TokenType.TEXT, c1.currentTokenType()); + } + c1.toStartDoc(); + assertEquals("<xml-fragment>Bob</xml-fragment>", + c1.xmlText()); + } } @Test @@ -173,12 +161,11 @@ public class XQueryTest { //String query = "<result>{$this},{count(//employee)}</result>"; String query = "<result>{.},{count(//employee)}</result>"; InputStream input = JarUtil.getResourceFromJarasStream("xbean/xmlcursor/XQueryInput.xml"); - XmlCursor c = XmlObject.Factory.parse(input).newCursor(); - XmlCursor c1 = c.execQuery(query); - assertEquals("", - c1.xmlText()); - c1.dispose(); - c.dispose(); + try (XmlCursor c = XmlObject.Factory.parse(input).newCursor(); + XmlCursor c1 = c.execQuery(query)) { + assertEquals("", + c1.xmlText()); + } } @Test @@ -187,15 +174,17 @@ public class XQueryTest { String query = "<result>{.},{count(//employee)}</result>"; String input = "<foo><a><b>text</b>more text</a></foo>"; XmlObject o = XmlObject.Factory.parse(input); - XmlCursor c = o.newCursor(); - XmlObject[] res = o.execQuery("//a"); - assertEquals("<a><b>text</b>more text</a>", res[0].xmlText()); - - XmlCursor cur = c.execQuery("//a"); - // assertEquals(1, cur.getSelectionCount()); - cur.toFirstContentToken(); - assertEquals("<a><b>text</b>more text</a>", cur.xmlText()); + try (XmlCursor c = o.newCursor()) { + XmlObject[] res = o.execQuery("//a"); + assertEquals("<a><b>text</b>more text</a>", res[0].xmlText()); + + try (XmlCursor cur = c.execQuery("//a")) { + // assertEquals(1, cur.getSelectionCount()); + cur.toFirstContentToken(); + assertEquals("<a><b>text</b>more text</a>", cur.xmlText()); + } + } } @Test @@ -203,12 +192,11 @@ public class XQueryTest { public void testMultiDocJoin() throws XmlException, IOException { String query = JarUtil.getResourceFromJar("xbean/xmlcursor/xquery/2DocJoin.xq"); InputStream input = JarUtil.getResourceFromJarasStream("xbean/xmlcursor/XQueryInput.xml"); - XmlCursor c = XmlObject.Factory.parse(input).newCursor(); - XmlCursor c1 = c.execQuery(query); - assertEquals("", - c1.xmlText()); - c1.dispose(); - c.dispose(); + try (XmlCursor c = XmlObject.Factory.parse(input).newCursor(); + XmlCursor c1 = c.execQuery(query)) { + assertEquals("", + c1.xmlText()); + } } @Test @@ -261,13 +249,12 @@ public class XQueryTest { res[0].xmlText()); assertEquals("<dept><deptno>5</deptno><headcount>1</headcount><payroll>40</payroll></dept>", res[1].xmlText()); - XmlCursor c = o.newCursor(); - XmlCursor c1 = c.execQuery(query); - c1.toFirstContentToken(); - assertEquals(res[0].xmlText(), - c1.xmlText()); - c1.dispose(); - c.dispose(); + try (XmlCursor c = o.newCursor(); + XmlCursor c1 = c.execQuery(query)) { + c1.toFirstContentToken(); + assertEquals(res[0].xmlText(), + c1.xmlText()); + } } @Test
Modified: xmlbeans/trunk/src/test/java/xmlcursor/xquery/detailed/XQueryVariableBindingTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/xquery/detailed/XQueryVariableBindingTest.java?rev=1896764&r1=1896763&r2=1896764&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlcursor/xquery/detailed/XQueryVariableBindingTest.java (original) +++ xmlbeans/trunk/src/test/java/xmlcursor/xquery/detailed/XQueryVariableBindingTest.java Thu Jan 6 17:54:30 2022 @@ -63,30 +63,30 @@ public class XQueryVariableBindingTest e /** test the automatic binding of $this to the current node: selectPath() */ @Test public void testThisVariable1() throws Exception { - XmlCursor xc = _testDocCursor1(); - xc.toFirstChild(); //<elem1> - xc.toFirstChild(); //<elem11> - xc.selectPath("//*[@idRef=$this/@id]"); - _verifySelection(xc); - xc.clearSelections(); - xc.dispose(); + try (XmlCursor xc = _testDocCursor1()) { + xc.toFirstChild(); //<elem1> + xc.toFirstChild(); //<elem11> + xc.selectPath("//*[@idRef=$this/@id]"); + _verifySelection(xc); + xc.clearSelections(); + } } // this fails: see JIRA issue XMLBEANS-276 /** test the binding of a variable to the current node: selectPath() */ @Test public void testCurrentNodeVariable1() throws Exception { - XmlCursor xc = _testDocCursor1(); - xc.toFirstChild(); - xc.toFirstChild(); - XmlOptions opts = new XmlOptions(); - opts.setXqueryCurrentNodeVar("cur"); - //String varDecl = "declare variable $cur external; "; - //xc.selectPath(varDecl + "//*[@idRef=$cur/@id]", opts); - xc.selectPath("//*[@idRef=$cur/@id]", opts); - _verifySelection(xc); - xc.clearSelections(); - xc.dispose(); + try (XmlCursor xc = _testDocCursor1()) { + xc.toFirstChild(); + xc.toFirstChild(); + XmlOptions opts = new XmlOptions(); + opts.setXqueryCurrentNodeVar("cur"); + //String varDecl = "declare variable $cur external; "; + //xc.selectPath(varDecl + "//*[@idRef=$cur/@id]", opts); + xc.selectPath("//*[@idRef=$cur/@id]", opts); + _verifySelection(xc); + xc.clearSelections(); + } } private XmlCursor _testDocCursor2() throws Exception { @@ -108,24 +108,20 @@ public class XQueryVariableBindingTest e @Test public void testThisVariable2() throws Exception { - XmlCursor xc = _testDocCursor2(); - // xc.toNextToken(); String q = "for $e in $this/employees/employee " + "let $s := $e/address/state " + "where $s = 'WA' " + "return $e//phone[@location='work']"; - XmlCursor qc = xc.execQuery(q); - _verifyQueryResult(qc); - xc.dispose(); - qc.dispose(); + try (XmlCursor xc = _testDocCursor2(); + XmlCursor qc = xc.execQuery(q)) { + _verifyQueryResult(qc); + } } /** test the binding of a variable to the current node: execQuery() */ @Test public void testCurrentNodeVariable2() throws Exception { - XmlCursor xc = _testDocCursor2(); - // xc.toNextToken(); String q = "for $e in $cur/employees/employee " + "let $s := $e/address/state " + @@ -133,12 +129,10 @@ public class XQueryVariableBindingTest e "return $e//phone[@location='work']"; XmlOptions opts = new XmlOptions(); opts.setXqueryCurrentNodeVar("cur"); - //String varDecl = "declare variable $cur external; "; - //XmlCursor qc = xc.execQuery(varDecl + q, opts); - XmlCursor qc = xc.execQuery(q, opts); - _verifyQueryResult(qc); - xc.dispose(); - qc.dispose(); + try (XmlCursor xc = _testDocCursor2(); + XmlCursor qc = xc.execQuery(q, opts)) { + _verifyQueryResult(qc); + } } private XmlObject[] _execute(XmlObject xo, Map m, String q) { Modified: xmlbeans/trunk/src/test/java/xmlobject/checkin/AssortedTests.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlobject/checkin/AssortedTests.java?rev=1896764&r1=1896763&r2=1896764&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlobject/checkin/AssortedTests.java (original) +++ xmlbeans/trunk/src/test/java/xmlobject/checkin/AssortedTests.java Thu Jan 6 17:54:30 2022 @@ -36,20 +36,21 @@ public class AssortedTests { @Test public void testSaverCharEscaping() throws XmlException { XmlObject xdoc = XmlObject.Factory.parse("<test>something</test>"); - XmlCursor cur = xdoc.newCursor(); - cur.toFirstChild(); - // valid chars - cur.setTextValue("<something or other:\u03C0\uD7FF>"); - assertEquals("<test><something or other:\u03C0\uD7FF></test>", xdoc.toString()); - - // invalid chars - control chars, FFFF/FFFE, etc - cur.setTextValue("<something\0or\1other:\u0045\u001F>"); - assertEquals("<test><something?or?other:\u0045?></test>", xdoc.toString()); - - String greekChars = "\uD835\uDF4A\uD835\uDF4B\uD835\uDF4C\uD835\uDF4D\uD835\uDF4E\uD835\uDF4F\uD835\uDF50\uD835" - + "\uDF51\uD835\uDF52\uD835\uDF53\uD835\uDF54\uD835\uDF55"; - cur.setTextValue(greekChars); - assertEquals("<test>" + greekChars + "</test>", xdoc.toString()); + try (XmlCursor cur = xdoc.newCursor()) { + cur.toFirstChild(); + // valid chars + cur.setTextValue("<something or other:\u03C0\uD7FF>"); + assertEquals("<test><something or other:\u03C0\uD7FF></test>", xdoc.toString()); + + // invalid chars - control chars, FFFF/FFFE, etc + cur.setTextValue("<something\0or\1other:\u0045\u001F>"); + assertEquals("<test><something?or?other:\u0045?></test>", xdoc.toString()); + + String greekChars = "\uD835\uDF4A\uD835\uDF4B\uD835\uDF4C\uD835\uDF4D\uD835\uDF4E\uD835\uDF4F\uD835\uDF50\uD835" + + "\uDF51\uD835\uDF52\uD835\uDF53\uD835\uDF54\uD835\uDF55"; + cur.setTextValue(greekChars); + assertEquals("<test>" + greekChars + "</test>", xdoc.toString()); + } } // bug 26140/26104 @@ -156,12 +157,12 @@ public class AssortedTests { xobj = xcur.getObject(); String result = xobj.toString(); System.out.println(result); - + xcur.toFirstChild(); xcur.toFirstChild(); xcur.toFirstContentToken(); xcur.insertChars("<html><body>this is a test</body></html>"); - + System.out.println(xobj); */ } @@ -186,6 +187,7 @@ public class AssortedTests { int i = 0; try { for (i = 0; i < 2000 * 1000; i++) { + // Cursor not closed intentionally XmlCursor cur = obj.newCursor(); // cur.dispose(); skipping this depends on finalization or else OOM } Modified: xmlbeans/trunk/src/test/java/xmlobject/checkin/InstanceValidationTests.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlobject/checkin/InstanceValidationTests.java?rev=1896764&r1=1896763&r2=1896764&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlobject/checkin/InstanceValidationTests.java (original) +++ xmlbeans/trunk/src/test/java/xmlobject/checkin/InstanceValidationTests.java Thu Jan 6 17:54:30 2022 @@ -1205,16 +1205,16 @@ public class InstanceValidationTests { "<hee yee='3'><haw>66</haw></hee>", null, null); - XmlCursor c = x.newCursor(); + try (XmlCursor c = x.newCursor()) { + do { + XmlObject obj = c.getObject(); - do { - XmlObject obj = c.getObject(); - - if (obj != null) { - obj.validate(); - } + if (obj != null) { + obj.validate(); + } - } while (!c.toNextToken().isNone()); + } while (!c.toNextToken().isNone()); + } // invalid @@ -1225,26 +1225,27 @@ public class InstanceValidationTests { assertTrue(!x.validate()); - c = x.newCursor(); - c.toNextToken(); - c.toNextToken(); + try (XmlCursor c = x.newCursor()) { + c.toNextToken(); + c.toNextToken(); - assertTrue(!c.getObject().validate()); + assertTrue(!c.getObject().validate()); + } // No schema x = XmlObject.Factory.parse("<foo x='y'>asas<bar>asas</bar></foo>"); - c = x.newCursor(); + try (XmlCursor c = x.newCursor()) { + do { + XmlObject obj = c.getObject(); - do { - XmlObject obj = c.getObject(); - - if (obj != null) { - obj.validate(); - } + if (obj != null) { + obj.validate(); + } - } while (!c.toNextToken().isNone()); + } while (!c.toNextToken().isNone()); + } } @Test(expected = XmlException.class) @@ -1299,28 +1300,28 @@ public class InstanceValidationTests { assertTrue(x.validate()); - XmlCursor c = x.newCursor(); + try (XmlCursor c = x.newCursor()) { + c.toFirstChild(); - c.toFirstChild(); + XmlObject base = c.getObject(); - XmlObject base = c.getObject(); + c.toEndToken(); + c.insertElement("bar"); - c.toEndToken(); - c.insertElement("bar"); + assertTrue(!x.validate()); - assertTrue(!x.validate()); + c.toPrevSibling(); - c.toPrevSibling(); + c.removeXml(); - c.removeXml(); + assertTrue(x.validate()); - assertTrue(x.validate()); - - base.changeType(stl.findType(new QName("derived"))); + base.changeType(stl.findType(new QName("derived"))); - c.insertElement("bar"); + c.insertElement("bar"); - assertTrue(x.validate()); + assertTrue(x.validate()); + } } // Tests abstract & block attributes on ComplexType @@ -1872,10 +1873,10 @@ public class InstanceValidationTests { stl.parse((String) validInstances[i], null, options); if (!startOnDocument) { - XmlCursor c = x.newCursor(); - c.toFirstChild(); - x = c.getObject(); - c.dispose(); + try (XmlCursor c = x.newCursor()) { + c.toFirstChild(); + x = c.getObject(); + } } List<XmlError> xel = new ArrayList<>(); @@ -1905,10 +1906,10 @@ public class InstanceValidationTests { x = stl.parse((String) invalidInstances[i], null, options); if (!startOnDocument) { - XmlCursor c = x.newCursor(); - c.toFirstChild(); - x = c.getObject(); - c.dispose(); + try (XmlCursor c = x.newCursor()) { + c.toFirstChild(); + x = c.getObject(); + } } boolean isValid = x.validate(); Modified: xmlbeans/trunk/src/test/java/xmlobject/checkin/XPathTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlobject/checkin/XPathTest.java?rev=1896764&r1=1896763&r2=1896764&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlobject/checkin/XPathTest.java (original) +++ xmlbeans/trunk/src/test/java/xmlobject/checkin/XPathTest.java Thu Jan 6 17:54:30 2022 @@ -34,21 +34,20 @@ public class XPathTest { "</b>" + "<c>val3</c>" + "</a>"); - final XmlCursor c = obj.newCursor(); + try (XmlCursor c = obj.newCursor()) { + c.selectPath(".//b/c"); - c.selectPath(".//b/c"); + int selCount = c.getSelectionCount(); + assertEquals("SelectionCount", 1, selCount); - int selCount = c.getSelectionCount(); - assertEquals("SelectionCount", 1, selCount); + while (c.hasNextSelection()) { + c.toNextSelection(); - while (c.hasNextSelection()) { - c.toNextSelection(); - - assertTrue("OnStartElement", c.isStart()); - assertEquals("TextValue", "val1", c.getTextValue()); - System.out.println(" -> " + c.getObject()); + assertTrue("OnStartElement", c.isStart()); + assertEquals("TextValue", "val1", c.getTextValue()); + System.out.println(" -> " + c.getObject()); + } } - c.dispose(); } @Test @@ -64,29 +63,27 @@ public class XPathTest { "</b>" + "<c>val4</c>" + "</a>"); - final XmlCursor c = obj.newCursor(); + try (XmlCursor c = obj.newCursor()) { + c.selectPath(".//b/c"); - c.selectPath(".//b/c"); + int selCount = c.getSelectionCount(); + assertEquals("SelectionCount", 2, selCount); - int selCount = c.getSelectionCount(); - assertEquals("SelectionCount", 2, selCount); - - assertTrue("hasNextSelection", c.hasNextSelection()); - c.toNextSelection(); - - System.out.println(" -> " + c.getObject()); - assertTrue("OnStartElement", c.isStart()); - assertEquals("TextValue", "val1", c.getTextValue()); + assertTrue("hasNextSelection", c.hasNextSelection()); + c.toNextSelection(); + System.out.println(" -> " + c.getObject()); + assertTrue("OnStartElement", c.isStart()); + assertEquals("TextValue", "val1", c.getTextValue()); - assertTrue("hasNextSelection2", c.hasNextSelection()); - c.toNextSelection(); - System.out.println(" -> " + c.getObject()); - assertTrue("OnStartElement2", c.isStart()); - assertEquals("TextValue2", "val3", c.getTextValue()); + assertTrue("hasNextSelection2", c.hasNextSelection()); + c.toNextSelection(); - c.dispose(); + System.out.println(" -> " + c.getObject()); + assertTrue("OnStartElement2", c.isStart()); + assertEquals("TextValue2", "val3", c.getTextValue()); + } } @Test @@ -106,20 +103,20 @@ public class XPathTest { "</b>" + "<c>val4</c>" + "</a>"); - final XmlCursor c = obj.newCursor(); - c.selectPath(".//b/c//c"); + try (XmlCursor c = obj.newCursor()) { + c.selectPath(".//b/c//c"); - int selCount = c.getSelectionCount(); - assertEquals("SelectionCount", 1, selCount); + int selCount = c.getSelectionCount(); + assertEquals("SelectionCount", 1, selCount); - while (c.hasNextSelection()) { - c.toNextSelection(); + while (c.hasNextSelection()) { + c.toNextSelection(); - System.out.println(" -> " + c.getObject()); - assertTrue("OnStartElement", c.isStart()); - assertEquals("TextValue", "val5", c.getTextValue()); + System.out.println(" -> " + c.getObject()); + assertTrue("OnStartElement", c.isStart()); + assertEquals("TextValue", "val5", c.getTextValue()); + } } - c.dispose(); } } Modified: xmlbeans/trunk/src/test/java/xmlobject/common/StringXmlReader.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlobject/common/StringXmlReader.java?rev=1896764&r1=1896763&r2=1896764&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlobject/common/StringXmlReader.java (original) +++ xmlbeans/trunk/src/test/java/xmlobject/common/StringXmlReader.java Thu Jan 6 17:54:30 2022 @@ -58,9 +58,8 @@ public class StringXmlReader implements return; } - try { + try (XmlCursor cur = x.newCursor()) { // Walk through the XML - XmlCursor cur = x.newCursor(); cur.toStartDoc(); do { // Sleep for 10 milliseconds @@ -73,7 +72,6 @@ public class StringXmlReader implements //System.out.println("["+tName+"]: " + cur.currentTokenType().toString()); cur.toNextToken(); } while (cur.hasNextToken()); - cur.dispose(); } catch (Exception e) { System.out.println("Exception in thread " + tName); e.printStackTrace(); Modified: xmlbeans/trunk/src/test/java/xmlobject/detailed/CompareToTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlobject/detailed/CompareToTest.java?rev=1896764&r1=1896763&r2=1896764&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlobject/detailed/CompareToTest.java (original) +++ xmlbeans/trunk/src/test/java/xmlobject/detailed/CompareToTest.java Thu Jan 6 17:54:30 2022 @@ -96,10 +96,11 @@ public class CompareToTest { public void testCompareValue() throws Exception { m_xo = XmlObject.Factory.parse( JarUtil.getResourceFromJar(Common.TRANXML_FILE_CLM)); - XmlCursor m_xc = m_xo.newCursor(); - m_xc.toFirstChild(); - XmlObject xo = m_xc.getObject(); - assertEquals(XmlObject.NOT_EQUAL, m_xo.compareValue(xo)); + try (XmlCursor m_xc = m_xo.newCursor()) { + m_xc.toFirstChild(); + XmlObject xo = m_xc.getObject(); + assertEquals(XmlObject.NOT_EQUAL, m_xo.compareValue(xo)); + } } private XmlObject m_xo; Modified: xmlbeans/trunk/src/test/java/xmlobject/detailed/SetIdentityTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlobject/detailed/SetIdentityTest.java?rev=1896764&r1=1896763&r2=1896764&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlobject/detailed/SetIdentityTest.java (original) +++ xmlbeans/trunk/src/test/java/xmlobject/detailed/SetIdentityTest.java Thu Jan 6 17:54:30 2022 @@ -36,12 +36,13 @@ public class SetIdentityTest { CarLocationMessageDocument clm = (CarLocationMessageDocument) XmlObject.Factory.parse( JarUtil.getResourceFromJar(Common.TRANXML_FILE_CLM)); - XmlCursor xc = clm.newCursor(); - xc.selectPath(Common.CLM_NS_XQUERY_DEFAULT + "$this//GeographicLocation"); - xc.toNextSelection(); - GeographicLocation gl = (GeographicLocation) xc.getObject(); - xc.dispose(); + GeographicLocation gl; + try (XmlCursor xc = clm.newCursor()) { + xc.selectPath(Common.CLM_NS_XQUERY_DEFAULT + "$this//GeographicLocation"); + xc.toNextSelection(); + gl = (GeographicLocation) xc.getObject(); + } LocationIdentifier li = gl.addNewLocationIdentifier(); li.setQualifier(CodeList309.FR); CodeList309 cl309 = li.xgetQualifier(); @@ -49,7 +50,6 @@ public class SetIdentityTest { li.xsetQualifier(cl309); gl.setLocationIdentifier(li); assertEquals(CodeList309.FR, gl.getLocationIdentifier().getQualifier()); - } } Modified: xmlbeans/trunk/src/test/java/xmlobject/detailed/TypedObjectCursor.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlobject/detailed/TypedObjectCursor.java?rev=1896764&r1=1896763&r2=1896764&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlobject/detailed/TypedObjectCursor.java (original) +++ xmlbeans/trunk/src/test/java/xmlobject/detailed/TypedObjectCursor.java Thu Jan 6 17:54:30 2022 @@ -26,23 +26,24 @@ public class TypedObjectCursor { @Test public void testObjectCursor() { XmlPurchaseOrderDocumentBean.PurchaseOrder po = XmlPurchaseOrderDocumentBean.PurchaseOrder.Factory.newInstance(); - XmlCursor cur = po.newCursor(); - XmlCustomerBean cust = po.addNewCustomer(); - cust.setAddress("123 Fake Street"); - cust.setAge(23); - cust.setName("Lisa Simpson"); - cur.toFirstContentToken(); - assertEquals(XmlCursor.TokenType.START, cur.currentTokenType()); - assertEquals(XmlCursor.TokenType.ATTR, cur.toNextToken()); - assertEquals("<xml-fragment age=\"23\"/>", cur.xmlText()); - assertEquals(XmlCursor.TokenType.START, cur.toNextToken()); - assertEquals(XmlCursor.TokenType.TEXT, cur.toNextToken()); - assertEquals("<xml-fragment>Lisa Simpson</xml-fragment>", cur.xmlText()); - assertEquals(XmlCursor.TokenType.END, cur.toNextToken()); - assertEquals(XmlCursor.TokenType.START, cur.toNextToken()); - assertEquals(XmlCursor.TokenType.TEXT, cur.toNextToken()); - assertEquals("<xml-fragment>123 Fake Street</xml-fragment>", cur.xmlText()); - cur.toPrevToken(); - cur.setTextValue("456".toCharArray(), 0, 3); + try (XmlCursor cur = po.newCursor()) { + XmlCustomerBean cust = po.addNewCustomer(); + cust.setAddress("123 Fake Street"); + cust.setAge(23); + cust.setName("Lisa Simpson"); + cur.toFirstContentToken(); + assertEquals(XmlCursor.TokenType.START, cur.currentTokenType()); + assertEquals(XmlCursor.TokenType.ATTR, cur.toNextToken()); + assertEquals("<xml-fragment age=\"23\"/>", cur.xmlText()); + assertEquals(XmlCursor.TokenType.START, cur.toNextToken()); + assertEquals(XmlCursor.TokenType.TEXT, cur.toNextToken()); + assertEquals("<xml-fragment>Lisa Simpson</xml-fragment>", cur.xmlText()); + assertEquals(XmlCursor.TokenType.END, cur.toNextToken()); + assertEquals(XmlCursor.TokenType.START, cur.toNextToken()); + assertEquals(XmlCursor.TokenType.TEXT, cur.toNextToken()); + assertEquals("<xml-fragment>123 Fake Street</xml-fragment>", cur.xmlText()); + cur.toPrevToken(); + cur.setTextValue("456".toCharArray(), 0, 3); + } } } Modified: xmlbeans/trunk/src/test/java/xmlobject/detailed/TypedSettersTests.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlobject/detailed/TypedSettersTests.java?rev=1896764&r1=1896763&r2=1896764&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlobject/detailed/TypedSettersTests.java (original) +++ xmlbeans/trunk/src/test/java/xmlobject/detailed/TypedSettersTests.java Thu Jan 6 17:54:30 2022 @@ -83,13 +83,14 @@ public class TypedSettersTests { throws Exception { XmlObject x = XmlObject.Factory.parse("<xyzzy/>"); XmlObject x2 = XmlObject.Factory.parse("<bubba>moo</bubba>"); - XmlCursor c = x.newCursor(); - XmlCursor c2 = x2.newCursor(); - c.toNextToken(); - c2.toNextToken(); + try (XmlCursor c = x.newCursor(); + XmlCursor c2 = x2.newCursor()) { + c.toNextToken(); + c2.toNextToken(); - c.getObject().set(c2.getObject()); + c.getObject().set(c2.getObject()); + } assertEquals("<xyzzy>moo</xyzzy>", x.xmlText()); } @@ -99,15 +100,16 @@ public class TypedSettersTests { throws Exception { XmlObject x = XmlObject.Factory.parse("<xyzzy a=''/>"); XmlObject x2 = XmlObject.Factory.parse("<bubba b='moo'/>"); - XmlCursor c = x.newCursor(); - XmlCursor c2 = x2.newCursor(); - c.toNextToken(); - c.toNextToken(); - c2.toNextToken(); - c2.toNextToken(); + try (XmlCursor c = x.newCursor(); + XmlCursor c2 = x2.newCursor()) { + c.toNextToken(); + c.toNextToken(); + c2.toNextToken(); + c2.toNextToken(); - c.getObject().set(c2.getObject()); + c.getObject().set(c2.getObject()); + } assertEquals("<xyzzy a=\"moo\"/>", x.xmlText()); } Modified: xmlbeans/trunk/src/test/java/xmlobject/schematypes/checkin/QNameTests.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlobject/schematypes/checkin/QNameTests.java?rev=1896764&r1=1896763&r2=1896764&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlobject/schematypes/checkin/QNameTests.java (original) +++ xmlbeans/trunk/src/test/java/xmlobject/schematypes/checkin/QNameTests.java Thu Jan 6 17:54:30 2022 @@ -53,22 +53,24 @@ public class QNameTests { "<any " + ns + " xsi:type='xs:QName' xmlns:xxx='xxx.com'>" + "xxx:abc</any>", null, null); - XmlCursor sourceCursor = sourceDocument.newCursor(); + XmlQName sourceQName; + try (XmlCursor sourceCursor = sourceDocument.newCursor()) { + sourceCursor.toFirstChild(); - sourceCursor.toFirstChild(); - - XmlQName sourceQName = (XmlQName) sourceCursor.getObject(); + sourceQName = (XmlQName) sourceCursor.getObject(); + } XmlObject targetDocument = stl.parse( "<any " + ns + " xsi:type='xs:QName'>" + "</any>", null, null); - XmlCursor targetCursor = targetDocument.newCursor(); - - targetCursor.toFirstChild(); + XmlQName targetQName; + try (XmlCursor targetCursor = targetDocument.newCursor()) { + targetCursor.toFirstChild(); - XmlQName targetQName = (XmlQName) targetCursor.getObject(); + targetQName = (XmlQName) targetCursor.getObject(); + } targetQName.set(sourceQName); @@ -83,13 +85,11 @@ public class QNameTests { "<any " + ns + " xsi:type='xs:QName' xmlns:xxx='xxx.com'>" + "</any>", null, null); - targetCursor = targetDocument.newCursor(); - - targetCursor.toFirstChild(); + try (XmlCursor targetCursor = targetDocument.newCursor()) { + targetCursor.toFirstChild(); - targetQName = (XmlQName) targetCursor.getObject(); + targetQName = (XmlQName) targetCursor.getObject(); - try { targetQName.setStringValue("zzz:abc"); fail("Must fail"); } catch (Throwable t) { Modified: xmlbeans/trunk/src/test/java/xmlobject/schematypes/checkin/SchemaTypesTests.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlobject/schematypes/checkin/SchemaTypesTests.java?rev=1896764&r1=1896763&r2=1896764&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlobject/schematypes/checkin/SchemaTypesTests.java (original) +++ xmlbeans/trunk/src/test/java/xmlobject/schematypes/checkin/SchemaTypesTests.java Thu Jan 6 17:54:30 2022 @@ -155,32 +155,36 @@ public class SchemaTypesTests { Person person = doc.getCustomer(); XmlObject xmlobj; - XmlCursor xmlcurs; person.setFirstname("George"); xmlobj = person.xgetFirstname(); - xmlcurs = xmlobj.newCursor(); - assertEquals("George", xmlcurs.getTextValue() ); + try (XmlCursor xmlcurs = xmlobj.newCursor()) { + assertEquals("George", xmlcurs.getTextValue() ); + } person.setQnameAtt( new QName("http://ggg.com","hhh") ); xmlobj = person.xgetQnameAtt(); - xmlcurs = xmlobj.newCursor(); - assertEquals("ggg:hhh", xmlcurs.getTextValue() ); + try (XmlCursor xmlcurs = xmlobj.newCursor()) { + assertEquals("ggg:hhh", xmlcurs.getTextValue() ); + } person.setQname( new QName("http://ggg.com/gggAgain","kkk") ); xmlobj = person.xgetQname(); - xmlcurs = xmlobj.newCursor(); - assertEquals("ggg1:kkk", xmlcurs.getTextValue() ); + try (XmlCursor xmlcurs = xmlobj.newCursor()) { + assertEquals("ggg1:kkk", xmlcurs.getTextValue() ); + } person.setAnyuri( "crossgain.com" ); xmlobj = person.xgetAnyuri(); - xmlcurs = xmlobj.newCursor(); - assertEquals("crossgain.com", xmlcurs.getTextValue() ); + try (XmlCursor xmlcurs = xmlobj.newCursor()) { + assertEquals("crossgain.com", xmlcurs.getTextValue() ); + } person.setAnyuriAtt( "www.crossgain.com" ); xmlobj = person.xgetAnyuriAtt(); - xmlcurs = xmlobj.newCursor(); - assertEquals("www.crossgain.com", xmlcurs.getTextValue() ); + try (XmlCursor xmlcurs = xmlobj.newCursor()) { + assertEquals("www.crossgain.com", xmlcurs.getTextValue() ); + } //person.setNotation("GIF"); //xmlobj = person.getNotation(); Modified: xmlbeans/trunk/src/test/java/xmlobject/xmlloader/detailed/XmlStreamBeanReader.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlobject/xmlloader/detailed/XmlStreamBeanReader.java?rev=1896764&r1=1896763&r2=1896764&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlobject/xmlloader/detailed/XmlStreamBeanReader.java (original) +++ xmlbeans/trunk/src/test/java/xmlobject/xmlloader/detailed/XmlStreamBeanReader.java Thu Jan 6 17:54:30 2022 @@ -66,11 +66,12 @@ public class XmlStreamBeanReader { @Test public void testXmlStreamReaderException() throws XMLStreamException { XmlObject xo = XmlObject.Factory.newInstance(); - XmlCursor xc = xo.newCursor(); - xc.toNextToken(); + try (XmlCursor xc = xo.newCursor()) { + xc.toNextToken(); - xc.insertElementWithText("int", "http://openuri.org/testNumerals", "5"); - xc.insertElementWithText("float", "http://openuri.org/testNumerals", "7.654321"); + xc.insertElementWithText("int", "http://openuri.org/testNumerals", "5"); + xc.insertElementWithText("float", "http://openuri.org/testNumerals", "7.654321"); + } XMLStreamReader xsr = xo.newXMLStreamReader(); Modified: xmlbeans/trunk/src/test/java/xmltokensource/detailed/NewDomNodeTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmltokensource/detailed/NewDomNodeTest.java?rev=1896764&r1=1896763&r2=1896764&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmltokensource/detailed/NewDomNodeTest.java (original) +++ xmlbeans/trunk/src/test/java/xmltokensource/detailed/NewDomNodeTest.java Thu Jan 6 17:54:30 2022 @@ -112,11 +112,8 @@ public class NewDomNodeTest extends Basi assertNotNull(doc); XmlObject xo = XmlObject.Factory.parse(doc); m_xc = m_xo.newCursor(); - XmlCursor xc1 = xo.newCursor(); - try { + try (XmlCursor xc1 = xo.newCursor()) { compareDocTokens(m_xc, xc1); - } finally { - xc1.dispose(); } } } Modified: xmlbeans/trunk/src/test/java/xmltokensource/detailed/PrettyPrintNamespaceTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmltokensource/detailed/PrettyPrintNamespaceTest.java?rev=1896764&r1=1896763&r2=1896764&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmltokensource/detailed/PrettyPrintNamespaceTest.java (original) +++ xmlbeans/trunk/src/test/java/xmltokensource/detailed/PrettyPrintNamespaceTest.java Thu Jan 6 17:54:30 2022 @@ -30,12 +30,13 @@ public class PrettyPrintNamespaceTest { public void testWithNewInstance() throws Exception { XmlObject x = XmlObject.Factory.newInstance(); - XmlCursor c = x.newCursor(); - c.toNextToken(); - c.beginElement("a", "aaaa"); - c.insertAttribute("a", "aaaa"); - c.insertNamespace("", "aaaa"); + try (XmlCursor c = x.newCursor()) { + c.toNextToken(); + c.beginElement("a", "aaaa"); + c.insertAttribute("a", "aaaa"); + c.insertNamespace("", "aaaa"); + } String str = "<a aaaa:a=\"\" xmlns=\"aaaa\" xmlns:aaaa=\"aaaa\"/>"; Modified: xmlbeans/trunk/src/test/java/xmltokensource/detailed/RoundTripLoaderTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmltokensource/detailed/RoundTripLoaderTest.java?rev=1896764&r1=1896763&r2=1896764&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmltokensource/detailed/RoundTripLoaderTest.java (original) +++ xmlbeans/trunk/src/test/java/xmltokensource/detailed/RoundTripLoaderTest.java Thu Jan 6 17:54:30 2022 @@ -26,7 +26,6 @@ import xmlcursor.common.BasicCursorTestC import xmlcursor.common.Common; import java.io.InputStream; -import java.io.Reader; import static org.junit.Assert.assertNotNull; @@ -47,11 +46,8 @@ public class RoundTripLoaderTest extends assertNotNull(doc); XmlObject xo = XmlObject.Factory.parse(doc, map); m_xc = m_xo.newCursor(); - XmlCursor xc1 = xo.newCursor(); - try { + try (XmlCursor xc1 = xo.newCursor()) { compareDocTokens(m_xc, xc1); - } finally { - xc1.dispose(); } } @@ -72,11 +68,8 @@ public class RoundTripLoaderTest extends XmlOptions options = new XmlOptions(map); XmlObject xo = XmlObject.Factory.parse(is, options); m_xc = m_xo.newCursor(); - XmlCursor xc1 = xo.newCursor(); - try { + try (XmlCursor xc1 = xo.newCursor()) { compareDocTokens(m_xc, xc1); - } finally { - xc1.dispose(); } } @@ -90,21 +83,6 @@ public class RoundTripLoaderTest extends _newInputStreamRoundTrip(m_map); } - private void _newReaderRoundTrip(XmlOptions map) throws Exception { - m_xo = XmlObject.Factory.parse(Common.XML_FOO_BAR_NESTED_SIBLINGS); - Reader reader = m_xo.newReader(map); - assertNotNull(reader); - XmlOptions options = new XmlOptions(map); - XmlObject xo = XmlObject.Factory.parse(reader, options); - m_xc = m_xo.newCursor(); - XmlCursor xc1 = xo.newCursor(); - try { - compareDocTokens(m_xc, xc1); - } finally { - xc1.dispose(); - } - } - private void _xmlTextRoundTrip(XmlOptions map) throws Exception { m_xo = XmlObject.Factory.parse(Common.XML_FOO_BAR_NESTED_SIBLINGS); String sXml = m_xo.xmlText(map); @@ -112,11 +90,8 @@ public class RoundTripLoaderTest extends XmlOptions options = new XmlOptions(map); XmlObject xo = XmlObject.Factory.parse(sXml, options); m_xc = m_xo.newCursor(); - XmlCursor xc1 = xo.newCursor(); - try { + try (XmlCursor xc1 = xo.newCursor()) { compareDocTokens(m_xc, xc1); - } finally { - xc1.dispose(); } } Modified: xmlbeans/trunk/src/test/java/xmltokensource/detailed/XmlTextTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmltokensource/detailed/XmlTextTest.java?rev=1896764&r1=1896763&r2=1896764&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmltokensource/detailed/XmlTextTest.java (original) +++ xmlbeans/trunk/src/test/java/xmltokensource/detailed/XmlTextTest.java Thu Jan 6 17:54:30 2022 @@ -104,12 +104,9 @@ public class XmlTextTest extends BasicCu m_xo = XmlObject.Factory.parse( JarUtil.getResourceFromJar(Common.TRANXML_FILE_CLM)); m_xc = m_xo.newCursor(); - XmlCursor xc1 = m_xo.newCursor(); - xc1.toFirstChild(); - try { + try (XmlCursor xc1 = m_xo.newCursor()) { + xc1.toFirstChild(); assertEquals(m_xc.xmlText().replaceFirst("(?s)<!--.*-->", ""), xc1.xmlText()); - } finally { - xc1.dispose(); } } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
