From: Wolfgang M. M. <wol...@us...> - 2004-12-30 13:41:52
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/xmldb/test/concurrent In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18850/src/org/exist/xmldb/test/concurrent Modified Files: ConcurrentResourceTest2.java ConcurrentTestBase.java MultiResourcesAction.java XQueryAction.java Added Files: ConcurrentResourceTest3.java Log Message: Tests updated. Index: XQueryAction.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xmldb/test/concurrent/XQueryAction.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** XQueryAction.java 3 Dec 2004 14:12:49 -0000 1.5 --- XQueryAction.java 30 Dec 2004 13:41:40 -0000 1.6 *************** *** 53,58 **** */ public boolean execute() throws Exception { - Thread.currentThread().setName("XQuery Thread"); - long start = System.currentTimeMillis(); --- 53,56 ---- *************** *** 70,74 **** // DefaultHandler handler = new DefaultHandler(); ! // for (int i = 0; i < 1; i++) { // XMLResource next = (XMLResource) result.getResource((long)i); // next.getContentAsSAX(handler); --- 68,72 ---- // DefaultHandler handler = new DefaultHandler(); ! // for (int i = 0; i < result.getSize(); i++) { // XMLResource next = (XMLResource) result.getResource((long)i); // next.getContentAsSAX(handler); *************** *** 79,82 **** --- 77,81 ---- called++; + System.out.println(Thread.currentThread().getName() + ": XQuery completed."); return false; } Index: ConcurrentResourceTest2.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xmldb/test/concurrent/ConcurrentResourceTest2.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ConcurrentResourceTest2.java 30 Dec 2004 07:31:08 -0000 1.1 --- ConcurrentResourceTest2.java 30 Dec 2004 13:41:40 -0000 1.2 *************** *** 33,37 **** private final static String QUERY0 = "declare default element namespace 'http://www.loc.gov/mods/v3';" + ! "/mods/titleInfo[title &= 'germany']"; public static void main(String[] args) { --- 33,41 ---- private final static String QUERY0 = "declare default element namespace 'http://www.loc.gov/mods/v3';" + ! "collection(\"/db\")//mods[titleInfo/title &= 'germany']"; ! ! private final static String QUERY1 = ! "declare default element namespace 'http://www.loc.gov/mods/v3';" + ! "<result>{for $t in distinct-values(collection('/db')//mods/subject/topic) order by $t return <topic>{$t}</topic>}</result>"; public static void main(String[] args) { *************** *** 55,60 **** Collection c1 = DBUtils.addCollection(getTestCollection(), "C1-C2"); ! addAction(new MultiResourcesAction(URI + "/C1/C1-C2"), 1000, 0, 500); ! addAction(new XQueryAction(URI + "/C1", "R1.xml", QUERY0), 500, 1000, 500); } } --- 59,67 ---- Collection c1 = DBUtils.addCollection(getTestCollection(), "C1-C2"); ! addAction(new MultiResourcesAction("samples/mods", URI + "/C1/C1-C2"), 200, 0, 300); ! addAction(new XQueryAction(URI + "/C1/C1-C2", "R1.xml", QUERY0), 200, 200, 500); ! addAction(new XQueryAction(URI + "/C1/C1-C2", "R1.xml", QUERY1), 200, 300, 500); ! addAction(new XQueryAction(URI + "/C1/C1-C2", "R1.xml", QUERY0), 200, 400, 500); ! addAction(new XQueryAction(URI + "/C1/C1-C2", "R1.xml", QUERY1), 200, 500, 500); } } --- NEW FILE: ConcurrentResourceTest3.java --- /* * eXist Open Source Native XML Database * Copyright (C) 2001-04 The eXist Team * * http://exist-db.org * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * $Id: ConcurrentResourceTest3.java,v 1.1 2004/12/30 13:41:40 wolfgang_m Exp $ */ package org.exist.xmldb.test.concurrent; import org.xmldb.api.base.Collection; /** * @author wolf */ public class ConcurrentResourceTest3 extends ConcurrentTestBase { public static void main(String[] args) { junit.textui.TestRunner.run(ConcurrentResourceTest3.class); } private final static String FILES_DIR = "/home/wolf/xml/movies"; private final static String QUERY0 = "collection('/db')/movie"; private final static String URI = "xmldb:exist:///db"; public ConcurrentResourceTest3(String name) { super(name, URI, "C1"); } /* (non-Javadoc) * @see org.exist.xmldb.test.concurrent.ConcurrentTestBase#setUp() */ protected void setUp() throws Exception { super.setUp(); Collection c1 = DBUtils.addCollection(getTestCollection(), "C1-C2"); addAction(new MultiResourcesAction(FILES_DIR, URI + "/C1/C1-C2"), 1, 0, 0); addAction(new XQueryAction(URI + "/C1/C1-C2", "R1.xml", QUERY0), 1500, 200, 250); } } Index: ConcurrentTestBase.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xmldb/test/concurrent/ConcurrentTestBase.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ConcurrentTestBase.java 12 Oct 2004 21:10:54 -0000 1.3 --- ConcurrentTestBase.java 30 Dec 2004 13:41:40 -0000 1.4 *************** *** 88,91 **** --- 88,92 ---- } catch(Exception e) { e.printStackTrace(); + failed = true; } Index: MultiResourcesAction.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xmldb/test/concurrent/MultiResourcesAction.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MultiResourcesAction.java 30 Dec 2004 07:31:08 -0000 1.1 --- MultiResourcesAction.java 30 Dec 2004 13:41:40 -0000 1.2 *************** *** 26,29 **** --- 26,30 ---- import org.xmldb.api.DatabaseManager; import org.xmldb.api.base.Collection; + import org.xmldb.api.base.XMLDBException; /** *************** *** 31,36 **** */ public class MultiResourcesAction extends Action { ! ! private final static String dirPath = "samples/mods"; /** --- 32,37 ---- */ public class MultiResourcesAction extends Action { ! ! private String dirPath; /** *************** *** 38,43 **** * @param resourceName */ ! public MultiResourcesAction(String collectionPath) { super(collectionPath, ""); } --- 39,45 ---- * @param resourceName */ ! public MultiResourcesAction(String dirPath, String collectionPath) { super(collectionPath, ""); + this.dirPath = dirPath; } *************** *** 46,61 **** */ public boolean execute() throws Exception { ! File d = new File(dirPath); if(!(d.canRead() && d.isDirectory())) throw new RuntimeException("Cannot read directory: " + dirPath); File[] files = d.listFiles(); ! ! Collection col = DatabaseManager.getCollection(collectionPath, "admin", null); ! for(int i = 0; i < files.length; i++) { ! if(files[i].isFile()) ! DBUtils.addXMLResource(col, files[i].getName(), files[i]); } ! return false; ! } } --- 48,80 ---- */ public boolean execute() throws Exception { ! Collection parent = DatabaseManager.getCollection(collectionPath, "admin", null); ! Collection col = parent.getChildCollection("col1"); ! if(col != null) { ! System.out.println("Removing collection: " + collectionPath + "/col1"); ! DBUtils.removeCollection(parent, "col1"); ! } ! col = DBUtils.addCollection(parent, "col1"); ! addFiles(col); ! return false; ! } ! ! /** ! * @param files ! * @param col ! * @throws XMLDBException ! */ ! private void addFiles(Collection col) throws XMLDBException { ! File d = new File(dirPath); if(!(d.canRead() && d.isDirectory())) throw new RuntimeException("Cannot read directory: " + dirPath); File[] files = d.listFiles(); ! for(int i = 0; i < files.length; i++) { ! if(files[i].isFile()) { ! System.out.println("Storing " + files[i].getName()); ! DBUtils.addXMLResource(col, files[i].getName(), files[i]); ! } } ! System.out.println("All files stored."); ! } } |