use of gate.DataStoreRegister in project gate-core by GateNLP.
the class TestPersist method testDSR.
// testDelete()
/**
* Test the DS register.
*/
public void testDSR() throws Exception {
DataStoreRegister dsr = Gate.getDataStoreRegister();
assertTrue("DSR has wrong number elements (not 0): " + dsr.size(), dsr.size() == 0);
// create a temporary directory; because File.createTempFile actually
// writes the bloody thing, we need to delete it from disk before calling
// DataStore.create
File storageDir = File.createTempFile("TestPersist__", "__StorageDir");
storageDir.delete();
// create and open a serial data store
DataStore sds = Factory.createDataStore("gate.persist.SerialDataStore", storageDir.toURI().toURL().toString());
// create a document with some annotations / features on it
String server = TestDocument.getTestServerName();
Document doc = Factory.newDocument(new URL(server + "tests/doc0.html"));
doc.getFeatures().put("hi there", new Integer(23232));
doc.getAnnotations().add(new Long(5), new Long(25), "ThingyMaJig", Factory.newFeatureMap());
// save the document
Document persDoc = (Document) sds.adopt(doc);
sds.sync(persDoc);
// DSR should have one member
assertTrue("DSR has wrong number elements (expected 1): " + dsr.size(), dsr.size() == 1);
// create and open another serial data store
storageDir = File.createTempFile("TestPersist__", "__StorageDir");
storageDir.delete();
DataStore sds2 = Factory.createDataStore("gate.persist.SerialDataStore", storageDir.toURI().toURL().toString());
// DSR should have two members
assertTrue("DSR has wrong number elements: " + dsr.size(), dsr.size() == 2);
// peek at the DSR members
Iterator<DataStore> dsrIter = dsr.iterator();
while (dsrIter.hasNext()) {
DataStore ds = dsrIter.next();
assertNotNull("null ds in ds reg", ds);
if (DEBUG)
Out.prln(ds);
}
// delete the datastores
sds.close();
assertTrue("DSR has wrong number elements (expected 1): " + dsr.size(), dsr.size() == 1);
sds.delete();
assertTrue("DSR has wrong number elements (expected 1): " + dsr.size(), dsr.size() == 1);
sds2.delete();
assertTrue("DSR has wrong number elements (expected 0): " + dsr.size(), dsr.size() == 0);
}
Aggregations