diff options
author | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2011-07-27 23:20:34 +0000 |
---|---|---|
committer | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2011-07-27 23:20:34 +0000 |
commit | 859ece142d7941cb567885cd23d81432017683ba (patch) | |
tree | efe33a98df07ae59b15dfba57f98ef11c3b51b6b /sca-java-2.x/trunk/modules/common-xml/src/test | |
parent | 6a91d3d69f594af8cad6203ec4473a5ea81dc80e (diff) |
Add a parser tool for DOM to avoid a JDK bug of deadlock (at com.sun.org.apache.xerces.internal.impl.dv.DTDDVFactory.getInstance)
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1151663 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/common-xml/src/test')
-rw-r--r-- | sca-java-2.x/trunk/modules/common-xml/src/test/java/org/apache/tuscany/sca/common/xml/dom/DOMHelperTestCase.java | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/sca-java-2.x/trunk/modules/common-xml/src/test/java/org/apache/tuscany/sca/common/xml/dom/DOMHelperTestCase.java b/sca-java-2.x/trunk/modules/common-xml/src/test/java/org/apache/tuscany/sca/common/xml/dom/DOMHelperTestCase.java index 176ea35c1c..1be852ba05 100644 --- a/sca-java-2.x/trunk/modules/common-xml/src/test/java/org/apache/tuscany/sca/common/xml/dom/DOMHelperTestCase.java +++ b/sca-java-2.x/trunk/modules/common-xml/src/test/java/org/apache/tuscany/sca/common/xml/dom/DOMHelperTestCase.java @@ -20,13 +20,15 @@ package org.apache.tuscany.sca.common.xml.dom; import static org.junit.Assert.assertNotNull; -import junit.framework.Assert; + +import javax.xml.parsers.DocumentBuilder; import org.apache.tuscany.sca.common.xml.sax.SAXHelper; import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; import org.apache.tuscany.sca.core.ExtensionPointRegistry; import org.custommonkey.xmlunit.XMLAssert; import org.junit.AfterClass; +import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; import org.w3c.dom.Document; @@ -78,4 +80,27 @@ public class DOMHelperTestCase { XMLAssert.assertXMLEqual(XML, xml); } + @Test + public void testPool() { + DOMHelper helper = DOMHelper.getInstance(registry); + + DocumentBuilder buidler1 = helper.newDocumentBuilder(); + Assert.assertTrue(helper.builderPool.getObjects().get(buidler1)); + + Assert.assertEquals(1, helper.builderPool.inUse()); + + DocumentBuilder buidler2 = helper.newDocumentBuilder(); + Assert.assertTrue(helper.builderPool.getObjects().get(buidler2)); + Assert.assertEquals(2, helper.builderPool.inUse()); + + helper.returnDocumentBuilder(buidler2); + Assert.assertFalse(helper.builderPool.getObjects().get(buidler2)); + Assert.assertEquals(1, helper.builderPool.inUse()); + + helper.returnDocumentBuilder(buidler1); + Assert.assertFalse(helper.builderPool.getObjects().get(buidler1)); + Assert.assertEquals(0, helper.builderPool.inUse()); + + } + } |