Fixes to RAMCloud Java bindings
- Fix FindBugs warnings
- Change RejectRule to be a static class
- Change nested Exception classes to be static classes
- Changed RejectRules methods to clarify its roll, and allow chaining
- Represent RejectRules flags as bits in int to decrease number of JNI crossing
- multiWrite value size parameter needs to be int to match C++ decl.
- Add conditional read, write, remove
- Deprecate writeRule method
- Fixed RejectRules related Exception class inheritance
- Declare throws on conditional operations
Change-Id: I07c3a2111d06ca051a29415224d59b9bfa7a4ddb
diff --git a/src/main/java/com/tinkerpop/blueprints/impls/ramcloud/RamCloudWrite.java b/src/main/java/com/tinkerpop/blueprints/impls/ramcloud/RamCloudWrite.java
index 69eed7f..030d088 100644
--- a/src/main/java/com/tinkerpop/blueprints/impls/ramcloud/RamCloudWrite.java
+++ b/src/main/java/com/tinkerpop/blueprints/impls/ramcloud/RamCloudWrite.java
@@ -1,6 +1,8 @@
package com.tinkerpop.blueprints.impls.ramcloud;
import edu.stanford.ramcloud.JRamCloud;
+import edu.stanford.ramcloud.JRamCloud.RejectRules;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -10,14 +12,14 @@
INDEXWRITE
}
private final static Logger log = LoggerFactory.getLogger(RamCloudGraph.class);
-
+
public static boolean writeWithRules(long tableId, byte[] rcKey, byte[] rcValue, long expectedVersion, RamCloudGraph graph, PerfMonEnum perfMonKind) {
- JRamCloud.RejectRules rules = graph.getRcClient().new RejectRules();
+ JRamCloud.RejectRules rules = new RejectRules();
if (expectedVersion == 0) {
- rules.setExists();
+ rules.rejectIfExists();
} else {
- rules.setNeVersion(expectedVersion);
+ rules.rejectIfNeVersion(expectedVersion);
}
PerfMon pm = PerfMon.getInstance();