package org.exist.xmldb; import junit.framework.TestCase; import junit.textui.TestRunner; import org.exist.storage.DBBroker; import org.exist.test.TestConstants; import org.xmldb.api.DatabaseManager; import org.xmldb.api.base.Collection; import org.xmldb.api.base.Database; import org.xmldb.api.base.XMLDBException; import org.xmldb.api.modules.CollectionManagementService; public class CollectionTest extends TestCase { private final static String DRIVER = "org.exist.xmldb.DatabaseImpl"; private final static String URI = "xmldb:exist://"; public void testCreate() { try { Collection root = DatabaseManager.getCollection(URI + DBBroker.ROOT_COLLECTION, "admin", null); CollectionManagementService service = (CollectionManagementService) root.getService("CollectionManagementService", "1.0"); Collection testCollection = service.createCollection(TestConstants.SPECIAL_NAME); assertNotNull(testCollection); } catch (XMLDBException e) { e.printStackTrace(); fail(e.getMessage()); } } public void testRead() { try { Collection test = DatabaseManager.getCollection(URI + TestConstants.SPECIAL_COLLECTION_URI, "admin", null); assertNotNull(test); Collection root = DatabaseManager.getCollection(URI + DBBroker.ROOT_COLLECTION, "admin", null); test = root.getChildCollection(TestConstants.SPECIAL_NAME); assertNotNull(test); CollectionManagementService service = (CollectionManagementService) root .getService("CollectionManagementService", "1.0"); service.removeCollection(TestConstants.SPECIAL_NAME); } catch (XMLDBException e) { e.printStackTrace(); fail(e.getMessage()); } } protected void setUp() { try { // initialize driver Class cl = Class.forName(DRIVER); Database database = (Database) cl.newInstance(); database.setProperty("create-database", "true"); DatabaseManager.registerDatabase(database); } catch (Exception e) { fail(e.getMessage()); } } protected void tearDown() { try { Collection root = DatabaseManager.getCollection(URI + DBBroker.ROOT_COLLECTION, "admin", null); DatabaseInstanceManager mgr = (DatabaseInstanceManager) root.getService("DatabaseInstanceManager", "1.0"); mgr.shutdown(); } catch (XMLDBException e) { e.printStackTrace(); fail(e.getMessage()); } } /** * @param args */ public static void main(String[] args) { TestRunner.run(CollectionTest.class); } }