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));
+
+ }
+
}
|