Modified: xmlbeans/trunk/src/test/java/xmlcursor/checkin/CopyTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/checkin/CopyTest.java?rev=1896764&r1=1896763&r2=1896764&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlcursor/checkin/CopyTest.java (original) +++ xmlbeans/trunk/src/test/java/xmlcursor/checkin/CopyTest.java Thu Jan 6 17:54:30 2022 @@ -44,14 +44,14 @@ public class CopyTest extends BasicCurso 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); - m_xc.copyXml(xc1); - xc1.toParent(); - // verify xc1 - assertEquals("01234text", xc1.getTextValue()); - xc1.dispose(); + try (XmlCursor xc1 = xo.newCursor()) { + toNextTokenOfType(m_xc, TokenType.TEXT); + toNextTokenOfType(xc1, TokenType.TEXT); + m_xc.copyXml(xc1); + xc1.toParent(); + // verify xc1 + assertEquals("01234text", xc1.getTextValue()); + } // verify m_xc assertEquals("01234", m_xc.getChars()); } @@ -69,34 +69,32 @@ public class CopyTest extends BasicCurso XmlObject xobj1 = XmlObject.Factory.parse( JarUtil.getResourceFromJar("xbean/xmlcursor/po.xml")); - XmlCursor xc0 = xobj0.newCursor(); - XmlCursor xc1 = xobj1.newCursor(); - - xc0.selectPath(Common.CLM_NS_XQUERY_DEFAULT + " .//Initial"); - xc0.toNextSelection(); - String sQuery= - "declare namespace po=\"http://xbean.test/xmlcursor/PurchaseOrder\"; "+ - ".//po:zip"; - xc1.selectPath( sQuery ); - xc1.toNextSelection(); - - xc0.copyXml(xc1); // should copy the <Initial>GATX</Initial> element plus the default namespace - xc1.toPrevSibling(); - // verify xc1 - String sExpected = "<ver:Initial " + - "xmlns:po=\"http://xbean.test/xmlcursor/PurchaseOrder\" " + - "xmlns:ver=\"http://www.tranxml.org/TranXML/Version4.0\">" + - "GATX</ver:Initial>"; - assertEquals(sExpected, xc1.xmlText()); - // verify xc0 - // should contain all the namespaces for the document - assertEquals( - "<Initial xmlns=\"" + Common.CLM_NS + "\" " + - Common.CLM_XSI_NS + - ">GATX</Initial>", - xc0.xmlText()); - xc0.dispose(); - xc1.dispose(); + try (XmlCursor xc0 = xobj0.newCursor(); + XmlCursor xc1 = xobj1.newCursor()) { + xc0.selectPath(Common.CLM_NS_XQUERY_DEFAULT + " .//Initial"); + xc0.toNextSelection(); + String sQuery= + "declare namespace po=\"http://xbean.test/xmlcursor/PurchaseOrder\"; "+ + ".//po:zip"; + xc1.selectPath( sQuery ); + xc1.toNextSelection(); + + xc0.copyXml(xc1); // should copy the <Initial>GATX</Initial> element plus the default namespace + xc1.toPrevSibling(); + // verify xc1 + String sExpected = "<ver:Initial " + + "xmlns:po=\"http://xbean.test/xmlcursor/PurchaseOrder\" " + + "xmlns:ver=\"http://www.tranxml.org/TranXML/Version4.0\">" + + "GATX</ver:Initial>"; + assertEquals(sExpected, xc1.xmlText()); + // verify xc0 + // should contain all the namespaces for the document + assertEquals( + "<Initial xmlns=\"" + Common.CLM_NS + "\" " + + Common.CLM_XSI_NS + + ">GATX</Initial>", + xc0.xmlText()); + } } @@ -113,49 +111,46 @@ public class CopyTest extends BasicCurso XmlObject xobj1 = XmlObject.Factory.parse( JarUtil.getResourceFromJar(Common.TRANXML_FILE_XMLCURSOR_PO)); - XmlCursor xc0 = xobj0.newCursor(); - XmlCursor xc1 = xobj1.newCursor(); - - xc0.selectPath(Common.CLM_NS_XQUERY_DEFAULT + " .//Initial"); - xc0.toNextSelection(); - - String sQuery= - "declare namespace po=\"http://xbean.test/xmlcursor/PurchaseOrder\"; "+ - ".//po:zip"; - xc1.selectPath( sQuery ); - xc1.selectPath( sQuery ); - xc1.toNextSelection(); - - xc1.copyXml(xc0); // should copy the <zip>90952</zip> element - // verify xc1 - assertEquals( - "<po:zip xmlns:po=\"http://xbean.test/xmlcursor/PurchaseOrder\">90952</po:zip>", - xc1.xmlText()); - // verify xc0 - // should contain all the namespaces for the document - xc0.toPrevSibling(); - // assertEquals("<zip xmlns=\"" + Common.CLM_NS + "\" " + Common.CLM_XSI_NS + ">90952</zip>", xc0.xmlText()); - String sExpected = "<po:zip " + - "xmlns=\"http://www.tranxml.org/TranXML/Version4.0\" " + - "xmlns:xsi=\"http://www.w3.org/2000/10/XMLSchema-instance\" " + - "xmlns:po=\"http://xbean.test/xmlcursor/PurchaseOrder\">" + - "90952</po:zip>"; - - assertEquals(sExpected, xc0.xmlText()); - xc0.dispose(); - xc1.dispose(); + try (XmlCursor xc0 = xobj0.newCursor(); + XmlCursor xc1 = xobj1.newCursor()) { + xc0.selectPath(Common.CLM_NS_XQUERY_DEFAULT + " .//Initial"); + xc0.toNextSelection(); + + String sQuery= + "declare namespace po=\"http://xbean.test/xmlcursor/PurchaseOrder\"; "+ + ".//po:zip"; + xc1.selectPath( sQuery ); + xc1.selectPath( sQuery ); + xc1.toNextSelection(); + + xc1.copyXml(xc0); // should copy the <zip>90952</zip> element + // verify xc1 + assertEquals( + "<po:zip xmlns:po=\"http://xbean.test/xmlcursor/PurchaseOrder\">90952</po:zip>", + xc1.xmlText()); + // verify xc0 + // should contain all the namespaces for the document + xc0.toPrevSibling(); + // assertEquals("<zip xmlns=\"" + Common.CLM_NS + "\" " + Common.CLM_XSI_NS + ">90952</zip>", xc0.xmlText()); + String sExpected = "<po:zip " + + "xmlns=\"http://www.tranxml.org/TranXML/Version4.0\" " + + "xmlns:xsi=\"http://www.w3.org/2000/10/XMLSchema-instance\" " + + "xmlns:po=\"http://xbean.test/xmlcursor/PurchaseOrder\">" + + "90952</po:zip>"; + assertEquals(sExpected, xc0.xmlText()); + } } @Test public void testCopySameLocation() throws Exception { m_xo = XmlObject.Factory.parse(Common.XML_FOO_DIGITS); m_xc = m_xo.newCursor(); - XmlCursor xc1 = m_xo.newCursor(); - toNextTokenOfType(m_xc, TokenType.TEXT); - toNextTokenOfType(xc1, TokenType.TEXT); - m_xc.copyXml(xc1); - xc1.dispose(); + try (XmlCursor xc1 = m_xo.newCursor()) { + toNextTokenOfType(m_xc, TokenType.TEXT); + toNextTokenOfType(xc1, TokenType.TEXT); + m_xc.copyXml(xc1); + } m_xc.toParent(); assertEquals("0123401234", m_xc.getTextValue()); } @@ -167,17 +162,17 @@ public class CopyTest extends BasicCurso String ns="declare namespace po=\"http://xbean.test/xmlcursor/PurchaseOrder\"; "; m_xc = m_xo.newCursor(); - XmlCursor xc1 = m_xo.newCursor(); - m_xc.selectPath(ns+" .//po:shipTo/po:city"); - m_xc.toNextSelection(); - xc1.selectPath(ns +" .//po:billTo/po:city"); - xc1.toNextSelection(); - m_xc.copyXml(xc1); - xc1.toPrevToken(); - xc1.toPrevToken(); - // verify xc1 - assertEquals("Mill Valley", xc1.getChars()); - xc1.dispose(); + try (XmlCursor xc1 = m_xo.newCursor()) { + m_xc.selectPath(ns+" .//po:shipTo/po:city"); + m_xc.toNextSelection(); + xc1.selectPath(ns +" .//po:billTo/po:city"); + xc1.toNextSelection(); + m_xc.copyXml(xc1); + xc1.toPrevToken(); + xc1.toPrevToken(); + // verify xc1 + assertEquals("Mill Valley", xc1.getChars()); + } // verify m_xc assertEquals("Mill Valley", m_xc.getTextValue()); @@ -190,26 +185,27 @@ public class CopyTest extends BasicCurso m_xo = XmlObject.Factory.parse( JarUtil.getResourceFromJar(Common.TRANXML_FILE_XMLCURSOR_PO)); m_xc = m_xo.newCursor(); - XmlCursor xc1 = m_xo.newCursor(); - m_xc.selectPath(ns+" .//po:shipTo/po:city"); - m_xc.toNextSelection(); - xc1.selectPath(ns+" .//po:billTo/po:city"); - xc1.toNextSelection(); - xc1.toNextToken(); - xc1.toNextChar(4); // should be at 'T' in "Old Town" - m_xc.copyXml(xc1); // should be "Old <city>Mill Valley</city>Town" - // verify xc1 - xc1.toPrevToken(); - assertEquals(TokenType.END, xc1.currentTokenType()); - xc1.toPrevToken(); - assertEquals("Mill Valley", xc1.getChars()); - xc1.toPrevToken(); - assertEquals(TokenType.START, xc1.currentTokenType()); - assertEquals(new QName("city").getLocalPart(), - xc1.getName().getLocalPart()); - xc1.toPrevToken(); - assertEquals("Old ", xc1.getChars()); - // verify m_xc - assertEquals("<po:city "+exp_ns+">Mill Valley</po:city>", m_xc.xmlText()); + try (XmlCursor xc1 = m_xo.newCursor()) { + m_xc.selectPath(ns+" .//po:shipTo/po:city"); + m_xc.toNextSelection(); + xc1.selectPath(ns+" .//po:billTo/po:city"); + xc1.toNextSelection(); + xc1.toNextToken(); + xc1.toNextChar(4); // should be at 'T' in "Old Town" + m_xc.copyXml(xc1); // should be "Old <city>Mill Valley</city>Town" + // verify xc1 + xc1.toPrevToken(); + assertEquals(TokenType.END, xc1.currentTokenType()); + xc1.toPrevToken(); + assertEquals("Mill Valley", xc1.getChars()); + xc1.toPrevToken(); + assertEquals(TokenType.START, xc1.currentTokenType()); + assertEquals(new QName("city").getLocalPart(), + xc1.getName().getLocalPart()); + xc1.toPrevToken(); + assertEquals("Old ", xc1.getChars()); + // verify m_xc + assertEquals("<po:city "+exp_ns+">Mill Valley</po:city>", m_xc.xmlText()); + } } }
Modified: xmlbeans/trunk/src/test/java/xmlcursor/checkin/CopyXmlContentsTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/checkin/CopyXmlContentsTest.java?rev=1896764&r1=1896763&r2=1896764&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlcursor/checkin/CopyXmlContentsTest.java (original) +++ xmlbeans/trunk/src/test/java/xmlcursor/checkin/CopyXmlContentsTest.java Thu Jan 6 17:54:30 2022 @@ -44,7 +44,7 @@ public class CopyXmlContentsTest extends XmlCursor xc1 = XmlObject.Factory.parse(sDoc2).newCursor(); toNextTokenOfType(m_xc, TokenType.START); toNextTokenOfType(xc1, TokenType.START); - xc1.dispose(); + xc1.close(); m_xc.copyXmlContents(xc1); } @@ -53,14 +53,14 @@ public class CopyXmlContentsTest extends String sDoc1 = Common.XML_FOO_DIGITS; String sDoc2 = Common.XML_FOO_2ATTR_TEXT; m_xc = XmlObject.Factory.parse(sDoc1).newCursor(); - XmlCursor xc1 = XmlObject.Factory.parse(sDoc2).newCursor(); - toNextTokenOfType(m_xc, TokenType.START); - toNextTokenOfType(xc1, TokenType.TEXT); - m_xc.copyXmlContents(xc1); - xc1.toParent(); - // verify xc1 - assertEquals("01234text", xc1.getTextValue()); - xc1.dispose(); + try (XmlCursor xc1 = XmlObject.Factory.parse(sDoc2).newCursor()) { + toNextTokenOfType(m_xc, TokenType.START); + toNextTokenOfType(xc1, TokenType.TEXT); + m_xc.copyXmlContents(xc1); + xc1.toParent(); + // verify xc1 + assertEquals("01234text", xc1.getTextValue()); + } // verify m_xc toNextTokenOfType(m_xc, TokenType.TEXT); //get to the text @@ -73,11 +73,12 @@ public class CopyXmlContentsTest extends String sDoc1 = Common.XML_FOO_DIGITS; String sDoc2 = Common.XML_FOO_2ATTR_TEXT; m_xc = XmlObject.Factory.parse(sDoc1).newCursor(); - XmlCursor xc1 = XmlObject.Factory.parse(sDoc2).newCursor(); - toNextTokenOfType(m_xc, TokenType.TEXT); - toNextTokenOfType(xc1, TokenType.START); - boolean result = m_xc.copyXmlContents(xc1); - assertFalse(result); + try (XmlCursor xc1 = XmlObject.Factory.parse(sDoc2).newCursor()) { + toNextTokenOfType(m_xc, TokenType.TEXT); + toNextTokenOfType(xc1, TokenType.START); + boolean result = m_xc.copyXmlContents(xc1); + assertFalse(result); + } } @Test @@ -117,37 +118,42 @@ public class CopyXmlContentsTest extends public void testCopyWholeDoc() throws Exception { String sDoc1 = Common.XML_FOO_BAR_WS_TEXT; String sDoc2 = "<root></root>"; - m_xc = XmlObject.Factory.parse(sDoc1).newCursor(); - XmlCursor xc1 = XmlObject.Factory.parse(sDoc2).newCursor(); - xc1.toFirstChild(); - String sExpectedXml = m_xc.xmlText(); - boolean result = m_xc.copyXmlContents(xc1); - toPrevTokenOfType(xc1, TokenType.STARTDOC); - toNextTokenOfType(xc1, TokenType.START); - assertEquals(sExpectedXml, xc1.xmlText()); + + try (XmlCursor xc1 = XmlObject.Factory.parse(sDoc1).newCursor(); + XmlCursor xc2 = XmlObject.Factory.parse(sDoc2).newCursor()) { + xc2.toFirstChild(); + String sExpectedXml = xc1.xmlText(); + boolean result = xc1.copyXmlContents(xc2); + toPrevTokenOfType(xc2, TokenType.STARTDOC); + toNextTokenOfType(xc2, TokenType.START); + assertEquals(sExpectedXml, xc2.xmlText()); + } //namespaces are not copied sDoc1 = Common.XML_FOO_NS_PREFIX; sDoc2 = "<root></root>"; - m_xc = XmlObject.Factory.parse(sDoc1).newCursor(); - xc1 = XmlObject.Factory.parse(sDoc2).newCursor(); - sExpectedXml = m_xc.xmlText(); - xc1.toFirstChild(); - - result = m_xc.copyXmlContents(xc1); - toPrevTokenOfType(xc1, TokenType.STARTDOC); - assertNotEquals(sExpectedXml, xc1.xmlText()); - - //attributes are not copied - sDoc1 = Common.XML_FOO_2ATTR; - sDoc2 = "<root></root>"; - m_xc = XmlObject.Factory.parse(sDoc1).newCursor(); - xc1 = XmlObject.Factory.parse(sDoc2).newCursor(); - sExpectedXml = m_xc.xmlText(); - xc1.toFirstChild(); - - result = m_xc.copyXmlContents(xc1); - toPrevTokenOfType(xc1, TokenType.STARTDOC); - assertNotEquals(sExpectedXml, xc1.xmlText()); + try (XmlCursor xc1 = XmlObject.Factory.parse(sDoc1).newCursor(); + XmlCursor xc2 = XmlObject.Factory.parse(sDoc2).newCursor()) { + String sExpectedXml = xc1.xmlText(); + xc2.toFirstChild(); + + boolean result = xc1.copyXmlContents(xc2); + toPrevTokenOfType(xc2, TokenType.STARTDOC); + assertNotEquals(sExpectedXml, xc2.xmlText()); + + //attributes are not copied + sDoc1 = Common.XML_FOO_2ATTR; + sDoc2 = "<root></root>"; + } + + try (XmlCursor xc1 = XmlObject.Factory.parse(sDoc1).newCursor(); + XmlCursor xc2 = XmlObject.Factory.parse(sDoc2).newCursor()) { + String sExpectedXml = xc1.xmlText(); + xc2.toFirstChild(); + + boolean result = xc1.copyXmlContents(xc2); + toPrevTokenOfType(xc2, TokenType.STARTDOC); + assertNotEquals(sExpectedXml, xc2.xmlText()); + } } } Modified: xmlbeans/trunk/src/test/java/xmlcursor/checkin/IsAtSamePositionAsTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/checkin/IsAtSamePositionAsTest.java?rev=1896764&r1=1896763&r2=1896764&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlcursor/checkin/IsAtSamePositionAsTest.java (original) +++ xmlbeans/trunk/src/test/java/xmlcursor/checkin/IsAtSamePositionAsTest.java Thu Jan 6 17:54:30 2022 @@ -32,27 +32,30 @@ public class IsAtSamePositionAsTest exte @Test public void testNormalCase() { - XmlCursor m_xc1 = m_xo.newCursor(); - m_xc.toFirstChild(); - m_xc1.toFirstChild(); - assertTrue(m_xc.isAtSamePositionAs(m_xc1)); + try (XmlCursor m_xc1 = m_xo.newCursor()) { + m_xc.toFirstChild(); + m_xc1.toFirstChild(); + assertTrue(m_xc.isAtSamePositionAs(m_xc1)); + } } @Test(expected = IllegalArgumentException.class) public void testSamePosDiffDoc() throws Exception { - XmlCursor m_xc1 = XmlObject.Factory.parse(sDoc).newCursor(); - m_xc.toFirstChild(); - m_xc1.toFirstChild(); - m_xc.isAtSamePositionAs(m_xc1); + try (XmlCursor m_xc1 = XmlObject.Factory.parse(sDoc).newCursor()) { + m_xc.toFirstChild(); + m_xc1.toFirstChild(); + m_xc.isAtSamePositionAs(m_xc1); + } } @Test public void testDiffPosSameDoc() throws Exception { - XmlCursor m_xc1 = m_xo.newCursor(); - m_xc.toFirstChild(); - m_xc1.toFirstChild(); - m_xc1.toFirstAttribute(); - assertFalse(m_xc.isAtSamePositionAs(m_xc1)); + try (XmlCursor m_xc1 = m_xo.newCursor()) { + m_xc.toFirstChild(); + m_xc1.toFirstChild(); + m_xc1.toFirstAttribute(); + assertFalse(m_xc.isAtSamePositionAs(m_xc1)); + } } @Test(expected = Exception.class) Modified: xmlbeans/trunk/src/test/java/xmlcursor/checkin/IsInSameDocumentTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/checkin/IsInSameDocumentTest.java?rev=1896764&r1=1896763&r2=1896764&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlcursor/checkin/IsInSameDocumentTest.java (original) +++ xmlbeans/trunk/src/test/java/xmlcursor/checkin/IsInSameDocumentTest.java Thu Jan 6 17:54:30 2022 @@ -31,27 +31,21 @@ public class IsInSameDocumentTest extend @Test public void testSameDocSTARTDOCandENDDOC() 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.isInSameDocument(xc0)); assertTrue(xc0.isInSameDocument(m_xc)); - } finally { - xc0.dispose(); } } @Test public void testSameDocNAMESPACEandATTR() throws Exception { m_xc = XmlObject.Factory.parse(Common.XML_FOO_DIGITS).newCursor(); - XmlCursor xc0 = m_xc.newCursor(); - try { + try (XmlCursor xc0 = m_xc.newCursor()) { toNextTokenOfType(m_xc, TokenType.NAMESPACE); toNextTokenOfType(xc0, TokenType.ATTR); assertTrue(m_xc.isInSameDocument(xc0)); assertTrue(xc0.isInSameDocument(m_xc)); - } finally { - xc0.dispose(); } } @@ -64,29 +58,25 @@ public class IsInSameDocumentTest extend @Test public void testSameDocDifferentDocs() 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); - toNextTokenOfType(xc0, TokenType.TEXT); - try { + try (XmlCursor xc0 = XmlObject.Factory.parse(Common.XML_FOO_1ATTR_TEXT).newCursor()) { + toNextTokenOfType(m_xc, TokenType.TEXT); + toNextTokenOfType(xc0, TokenType.TEXT); + assertFalse(m_xc.isInSameDocument(xc0)); assertFalse(xc0.isInSameDocument(m_xc)); - } finally { - xc0.dispose(); } } @Test public void testSameDocTEXTpositional() throws Exception { m_xc = XmlObject.Factory.parse(Common.XML_FOO_1ATTR_TEXT).newCursor(); - XmlCursor xc0 = m_xc.newCursor(); - toNextTokenOfType(m_xc, TokenType.TEXT); - toNextTokenOfType(xc0, TokenType.TEXT); - xc0.toNextChar(2); - try { + try (XmlCursor xc0 = m_xc.newCursor()) { + toNextTokenOfType(m_xc, TokenType.TEXT); + toNextTokenOfType(xc0, TokenType.TEXT); + xc0.toNextChar(2); + assertTrue(m_xc.isInSameDocument(xc0)); assertTrue(xc0.isInSameDocument(m_xc)); - } finally { - xc0.dispose(); } } } Modified: xmlbeans/trunk/src/test/java/xmlcursor/checkin/MoveCharsTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/checkin/MoveCharsTest.java?rev=1896764&r1=1896763&r2=1896764&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlcursor/checkin/MoveCharsTest.java (original) +++ xmlbeans/trunk/src/test/java/xmlcursor/checkin/MoveCharsTest.java Thu Jan 6 17:54:30 2022 @@ -32,17 +32,14 @@ public class MoveCharsTest extends Basic public void testMoveCharsOverlap() throws Exception { m_xo = XmlObject.Factory.parse(Common.XML_FOO_DIGITS); m_xc = m_xo.newCursor(); - XmlCursor xc1 = m_xo.newCursor(); toNextTokenOfType(m_xc, TokenType.TEXT); - toNextTokenOfType(xc1, TokenType.TEXT); - xc1.toNextChar(2); - try { + try (XmlCursor xc1 = m_xo.newCursor()) { + toNextTokenOfType(xc1, TokenType.TEXT); + xc1.toNextChar(2); assertEquals("234", xc1.getChars()); assertEquals(3, m_xc.moveChars(3, xc1)); assertEquals("34", m_xc.getChars()); assertEquals("34", xc1.getChars()); - } finally { - xc1.dispose(); } } @@ -50,23 +47,20 @@ public class MoveCharsTest extends Basic public void testMoveCharsNoOverlap() throws Exception { m_xo = XmlObject.Factory.parse(Common.XML_FOO_DIGITS); m_xc = m_xo.newCursor(); - XmlCursor xc1 = m_xo.newCursor(); - XmlCursor xc2 = m_xo.newCursor(); toNextTokenOfType(m_xc, TokenType.TEXT); - xc1.toCursor(m_xc); - xc2.toCursor(m_xc); - xc1.toNextChar(3); - xc2.toNextChar(4); - try { + try (XmlCursor xc1 = m_xo.newCursor(); + XmlCursor xc2 = m_xo.newCursor()) { + xc1.toCursor(m_xc); + xc2.toCursor(m_xc); + xc1.toNextChar(3); + xc2.toNextChar(4); + assertEquals("34", xc1.getChars()); assertEquals("4", xc2.getChars()); assertEquals(2, m_xc.moveChars(2, xc1)); assertEquals("20134", m_xc.getChars()); assertEquals("34", xc1.getChars()); assertEquals("4", xc2.getChars()); - } finally { - xc1.dispose(); - xc2.dispose(); } } @@ -82,11 +76,8 @@ public class MoveCharsTest extends Basic public void testMoveCharsSibling() 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.moveChars(4, xc0)); assertEquals("0123", xc0.getChars()); @@ -96,9 +87,6 @@ public class MoveCharsTest extends Basic assertEquals(TokenType.END, xc1.currentTokenType()); xc1.getTextValue(); - } finally { - xc0.dispose(); - xc1.dispose(); } } @@ -106,11 +94,8 @@ public class MoveCharsTest extends Basic public void testMoveCharsNegative() 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.moveChars(-1, xc0)); assertEquals("0123", xc0.getChars()); @@ -118,9 +103,6 @@ public class MoveCharsTest extends Basic assertEquals("WXYZ0123", xc0.getTextValue()); assertEquals(TokenType.END, xc1.currentTokenType()); xc1.getTextValue(); - } finally { - xc0.dispose(); - xc1.dispose(); } } @@ -128,11 +110,8 @@ public class MoveCharsTest extends Basic public void testMoveCharsZero() 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.moveChars(0, xc0)); assertEquals("0123", xc0.getChars()); @@ -140,9 +119,6 @@ public class MoveCharsTest extends Basic assertEquals("0123", xc0.getTextValue()); assertEquals(TokenType.TEXT, xc1.currentTokenType()); assertEquals("WXYZ", xc1.getChars()); - } finally { - xc0.dispose(); - xc1.dispose(); } } @@ -150,12 +126,9 @@ public class MoveCharsTest extends Basic public void testMoveCharsToSTARTDOC() throws Exception { m_xo = XmlObject.Factory.parse("<foo><bar>0123</bar><bar>WXYZ</bar></foo>"); m_xc = m_xo.newCursor(); - XmlCursor xc0 = m_xo.newCursor(); toNextTokenOfType(m_xc, TokenType.TEXT); - try{ + try (XmlCursor xc0 = m_xo.newCursor()) { m_xc.moveChars(4, xc0); - } finally { - xc0.dispose(); } } @@ -163,16 +136,14 @@ public class MoveCharsTest extends Basic public void testMoveCharsToPROCINST() throws Exception { m_xo = XmlObject.Factory.parse(Common.XML_FOO_PROCINST); m_xc = m_xo.newCursor(); - XmlCursor xc0 = m_xo.newCursor(); - toNextTokenOfType(xc0, TokenType.PROCINST); toNextTokenOfType(m_xc, TokenType.TEXT); - m_xc.moveChars(1, xc0); - xc0.toPrevToken(); - try { + try (XmlCursor xc0 = m_xo.newCursor()) { + toNextTokenOfType(xc0, TokenType.PROCINST); + m_xc.moveChars(1, xc0); + xc0.toPrevToken(); + assertEquals("t", xc0.getChars()); assertEquals("ext", m_xc.getChars()); - } finally { - xc0.dispose(); } } @@ -180,11 +151,8 @@ public class MoveCharsTest extends Basic public void testMoveCharsGTmax() 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.moveChars(1000, xc0)); assertEquals("0123", xc0.getChars()); @@ -194,9 +162,6 @@ public class MoveCharsTest extends Basic assertEquals(TokenType.END, xc1.currentTokenType()); xc1.getTextValue(); - } finally { - xc0.dispose(); - xc1.dispose(); } } @@ -204,15 +169,15 @@ public class MoveCharsTest extends Basic public void testMoveCharsToNewDocument() throws Exception { 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.moveChars(5, xc1)); - xc1.toParent(); - // verify xc1 - assertEquals("01234text", xc1.getTextValue()); - xc1.dispose(); + XmlObject xo = XmlObject.Factory.parse(Common.XML_FOO_2ATTR_TEXT); + try (XmlCursor xc1 = xo.newCursor()) { + toNextTokenOfType(xc1, TokenType.TEXT); + assertEquals(5, m_xc.moveChars(5, xc1)); + xc1.toParent(); + // verify xc1 + assertEquals("01234text", xc1.getTextValue()); + } // verify m_xc assertEquals(TokenType.END, m_xc.currentTokenType()); } Modified: xmlbeans/trunk/src/test/java/xmlcursor/checkin/MoveTest.java URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/test/java/xmlcursor/checkin/MoveTest.java?rev=1896764&r1=1896763&r2=1896764&view=diff ============================================================================== --- xmlbeans/trunk/src/test/java/xmlcursor/checkin/MoveTest.java (original) +++ xmlbeans/trunk/src/test/java/xmlcursor/checkin/MoveTest.java Thu Jan 6 17:54:30 2022 @@ -44,14 +44,14 @@ public class MoveTest extends BasicCurso 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); - m_xc.moveXml(xc1); - xc1.toParent(); - // verify xc1 - assertEquals("01234text", xc1.getTextValue()); - xc1.dispose(); + try (XmlCursor xc1 = xo.newCursor()) { + toNextTokenOfType(m_xc, TokenType.TEXT); + toNextTokenOfType(xc1, TokenType.TEXT); + m_xc.moveXml(xc1); + xc1.toParent(); + // verify xc1 + assertEquals("01234text", xc1.getTextValue()); + } // verify m_xc assertEquals(TokenType.END, m_xc.currentTokenType()); } @@ -64,48 +64,44 @@ public class MoveTest extends BasicCurso XmlObject xobj1 = XmlObject.Factory.parse( JarUtil.getResourceFromJar(Common.TRANXML_FILE_XMLCURSOR_PO)); - XmlCursor xc0 = xobj0.newCursor(); - XmlCursor xc1 = xobj1.newCursor(); - - xc0.selectPath(Common.CLM_NS_XQUERY_DEFAULT + ".//Initial"); - xc0.toNextSelection(); - - String sQuery= - "declare namespace po=\"http://xbean.test/xmlcursor/PurchaseOrder\"; "+ - ".//po:zip"; - xc1.selectPath( sQuery ); - assertTrue( 0 < xc1.getSelectionCount()); - xc1.toNextSelection(); - - - xc0.moveXml(xc1); // should move the <Initial>GATX</Initial> element plus the namespace - - - xc1.toPrevSibling(); - // verify xc1 - String sExpected = "<ver:Initial " + - "xmlns:po=\"http://xbean.test/xmlcursor/PurchaseOrder\" " + - "xmlns:ver=\"http://www.tranxml.org/TranXML/Version4.0\">" + - "GATX</ver:Initial>"; - assertEquals(sExpected, xc1.xmlText()); - // verify xc0 - xc0.toNextToken(); // skip the whitespace token - assertEquals("123456", xc0.getTextValue()); - - xc0.dispose(); - xc1.dispose(); - + try (XmlCursor xc0 = xobj0.newCursor(); + XmlCursor xc1 = xobj1.newCursor()) { + xc0.selectPath(Common.CLM_NS_XQUERY_DEFAULT + ".//Initial"); + xc0.toNextSelection(); + + String sQuery= + "declare namespace po=\"http://xbean.test/xmlcursor/PurchaseOrder\"; "+ + ".//po:zip"; + xc1.selectPath( sQuery ); + assertTrue( 0 < xc1.getSelectionCount()); + xc1.toNextSelection(); + + + xc0.moveXml(xc1); // should move the <Initial>GATX</Initial> element plus the namespace + + + xc1.toPrevSibling(); + // verify xc1 + String sExpected = "<ver:Initial " + + "xmlns:po=\"http://xbean.test/xmlcursor/PurchaseOrder\" " + + "xmlns:ver=\"http://www.tranxml.org/TranXML/Version4.0\">" + + "GATX</ver:Initial>"; + assertEquals(sExpected, xc1.xmlText()); + // verify xc0 + xc0.toNextToken(); // skip the whitespace token + assertEquals("123456", xc0.getTextValue()); + } } @Test public void testMoveSameLocation() throws Exception { m_xo = XmlObject.Factory.parse(Common.XML_FOO_DIGITS); m_xc = m_xo.newCursor(); - XmlCursor xc1 = m_xo.newCursor(); - toNextTokenOfType(m_xc, TokenType.TEXT); - toNextTokenOfType(xc1, TokenType.TEXT); - m_xc.moveXml(xc1); - xc1.dispose(); + try (XmlCursor xc1 = m_xo.newCursor()) { + toNextTokenOfType(m_xc, TokenType.TEXT); + toNextTokenOfType(xc1, TokenType.TEXT); + m_xc.moveXml(xc1); + } assertEquals("01234", m_xc.getChars()); } @@ -116,17 +112,18 @@ public class MoveTest extends BasicCurso String ns="declare namespace po=\"http://xbean.test/xmlcursor/PurchaseOrder\"; "; m_xc = m_xo.newCursor(); - XmlCursor xc1 = m_xo.newCursor(); - m_xc.selectPath(ns+" .//po:shipTo/po:city"); - m_xc.toNextSelection(); - xc1.selectPath(ns +" .//po:billTo/po:city"); - xc1.toNextSelection(); - m_xc.moveXml(xc1); - xc1.toPrevToken(); - xc1.toPrevToken(); - - // verify xc1 - assertEquals("Mill Valley", xc1.getChars()); + try (XmlCursor xc1 = m_xo.newCursor()) { + m_xc.selectPath(ns+" .//po:shipTo/po:city"); + m_xc.toNextSelection(); + xc1.selectPath(ns +" .//po:billTo/po:city"); + xc1.toNextSelection(); + m_xc.moveXml(xc1); + xc1.toPrevToken(); + xc1.toPrevToken(); + + // verify xc1 + assertEquals("Mill Valley", xc1.getChars()); + } // verify m_xc m_xc.toNextToken(); // skip the whitespace token @@ -141,26 +138,27 @@ public class MoveTest extends BasicCurso String ns="declare namespace po=\"http://xbean.test/xmlcursor/PurchaseOrder\"; "; m_xc = m_xo.newCursor(); - XmlCursor xc1 = m_xo.newCursor(); - m_xc.selectPath(ns+" .//po:shipTo/po:city"); - m_xc.toNextSelection(); - xc1.selectPath(ns+" .//po:billTo/po:city"); - xc1.toNextSelection(); - xc1.toNextToken(); - xc1.toNextChar(4); // should be at 'T' in "Old Town" - m_xc.moveXml(xc1); // should be "Old <city>Mill Valley</city>Town" - // verify xc1 - xc1.toPrevToken(); - assertEquals(TokenType.END, xc1.currentTokenType()); - xc1.toPrevToken(); - assertEquals("Mill Valley", xc1.getChars()); - xc1.toPrevToken(); - assertEquals(TokenType.START, xc1.currentTokenType()); - assertEquals(new QName("city").getLocalPart(), - xc1.getName().getLocalPart()); - xc1.toPrevToken(); + try (XmlCursor xc1 = m_xo.newCursor()) { + m_xc.selectPath(ns+" .//po:shipTo/po:city"); + m_xc.toNextSelection(); + xc1.selectPath(ns+" .//po:billTo/po:city"); + xc1.toNextSelection(); + xc1.toNextToken(); + xc1.toNextChar(4); // should be at 'T' in "Old Town" + m_xc.moveXml(xc1); // should be "Old <city>Mill Valley</city>Town" + // verify xc1 + xc1.toPrevToken(); + assertEquals(TokenType.END, xc1.currentTokenType()); + xc1.toPrevToken(); + assertEquals("Mill Valley", xc1.getChars()); + xc1.toPrevToken(); + assertEquals(TokenType.START, xc1.currentTokenType()); + assertEquals(new QName("city").getLocalPart(), + xc1.getName().getLocalPart()); + xc1.toPrevToken(); - assertEquals("Old ", xc1.getChars()); + assertEquals("Old ", xc1.getChars()); + } // verify m_xc m_xc.toNextToken(); // skip the whitespace token --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
