package org.exist.xmldb.concurrent; import java.io.File; import org.exist.storage.DBBroker; import org.exist.xmldb.concurrent.action.XQueryUpdateAction; import org.xmldb.api.base.Collection; import org.xmldb.api.base.ResourceSet; import org.xmldb.api.modules.XMLResource; import org.xmldb.api.modules.XQueryService; public class ConcurrentQueryUpdateTest extends ConcurrentTestBase { public static void main(String[] args) { junit.textui.TestRunner.run(ConcurrentQueryUpdateTest.class); } private final static String URI = "xmldb:exist://" + DBBroker.ROOT_COLLECTION; private File tempFile; public ConcurrentQueryUpdateTest(String name) { super(name, URI, "C1"); } protected void setUp() { try { super.setUp(); Collection col = getTestCollection(); XMLResource res = (XMLResource) col.createResource("testappend.xml", "XMLResource"); res.setContent("<root><node id=\"1\"/></root>"); col.storeResource(res); addAction(new XQueryUpdateAction(URI + "/C1", "testappend.xml"), 20, 0, 0); addAction(new XQueryUpdateAction(URI + "/C1", "testappend.xml"), 20, 0, 0); } catch (Exception e) { fail(e.getMessage()); } } /* (non-Javadoc) * @see org.exist.xmldb.test.concurrent.ConcurrentTestBase#tearDown() */ protected void tearDown() { try { Collection col = getTestCollection(); XQueryService service = (XQueryService) col.getService("XQueryService", "1.0"); ResourceSet result = service.query("distinct-values(//node/@id)"); assertEquals(result.getSize(), 41); for (int i = 0; i < result.getSize(); i++) { XMLResource next = (XMLResource) result.getResource((long)i); System.out.println(next.getContent()); } super.tearDown(); DBUtils.shutdownDB(URI); } catch (Exception e) { e.printStackTrace(); fail(e.getMessage()); } } }