|
From: Bryan T. <tho...@us...> - 2007-04-21 10:37:21
|
Update of /cvsroot/cweb/bigdata/src/test/com/bigdata/service In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv23696/src/test/com/bigdata/service Modified Files: TestDataServer0.java Log Message: Wrote test case for IDataService#submit(...) and modified that method to return an optional result from the procedure. Index: TestDataServer0.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/test/com/bigdata/service/TestDataServer0.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TestDataServer0.java 20 Apr 2007 17:24:24 -0000 1.2 --- TestDataServer0.java 21 Apr 2007 10:37:17 -0000 1.3 *************** *** 59,62 **** --- 59,65 ---- import net.jini.core.lookup.ServiceTemplate; + import com.bigdata.btree.IIndex; + import com.bigdata.journal.IIndexStore; + /** *************** *** 181,185 **** ServiceID serviceID = getServiceID(); ! IDataService proxy = lookupDataService(serviceID); assertNotNull("service not discovered",proxy); --- 184,188 ---- ServiceID serviceID = getServiceID(); ! final IDataService proxy = lookupDataService(serviceID); assertNotNull("service not discovered",proxy); *************** *** 256,261 **** assertEquals(null,values[1]); ! proxy.dropIndex(name); } --- 259,309 ---- assertEquals(null,values[1]); ! /* ! * run a server local procedure. ! */ ! { ! ! IProcedure proc = new RangeCountProcedure(name); ! ! /* ! * Note: The result is ONE (1) since there is one deleted entry in ! * the UnisolatedBTree and rangeCount does not correct for deletion ! * markers! ! */ ! assertEquals("result", 1, proxy.submit(IDataService.UNISOLATED, ! proc)); ! ! } + proxy.dropIndex(name); + + } + + /** + * This procedure just computes a range count on the index. + */ + private static class RangeCountProcedure implements IProcedure { + + private static final long serialVersionUID = 5856712176446915328L; + + private final String name; + + public RangeCountProcedure(String name) { + + if (name == null) + throw new IllegalArgumentException(); + + this.name = name; + + } + + public Object apply(long tx, IIndexStore store) { + + IIndex ndx = store.getIndex(name); + + return new Integer(ndx.rangeCount(null, null)); + + } + } |