Fix formatting

main
Ankit Gupta 11 years ago
parent e96e71becf
commit 3f8b4129ef
  1. 38
      java/org/rocksdb/RocksDB.java
  2. 12
      java/rocksjni/portal.h
  3. 24
      java/rocksjni/rocksjni.cc

@ -154,58 +154,58 @@ public class RocksDB {
public byte[] get(ReadOptions opt, byte[] key) throws RocksDBException { public byte[] get(ReadOptions opt, byte[] key) throws RocksDBException {
return get(nativeHandle_, opt.nativeHandle_, key, key.length); return get(nativeHandle_, opt.nativeHandle_, key, key.length);
} }
/** /**
* Returns a map of keys for which values were found in DB. * Returns a map of keys for which values were found in DB.
* *
* @param keys List of keys for which values need to be retrieved. * @param keys List of keys for which values need to be retrieved.
* @return Map where key of map is the key passed by user and value for map * @return Map where key of map is the key passed by user and value for map
* entry is the corresponding value in DB. * entry is the corresponding value in DB.
* *
* @see RocksDBException * @see RocksDBException
*/ */
public Map<byte[], byte[]> multiGet(List<byte[]> keys) public Map<byte[], byte[]> multiGet(List<byte[]> keys)
throws RocksDBException { throws RocksDBException {
List<byte[]> values = multiGet( List<byte[]> values = multiGet(
nativeHandle_, keys, keys.size()); nativeHandle_, keys, keys.size());
Map<byte[], byte[]> keyValueMap = new HashMap<byte[], byte[]>(); Map<byte[], byte[]> keyValueMap = new HashMap<byte[], byte[]>();
for(int i = 0; i < values.size(); i++) { for(int i = 0; i < values.size(); i++) {
if(values.get(i) == null) { if(values.get(i) == null) {
continue; continue;
} }
keyValueMap.put(keys.get(i), values.get(i)); keyValueMap.put(keys.get(i), values.get(i));
} }
return keyValueMap; return keyValueMap;
} }
/** /**
* Returns a map of keys for which values were found in DB. * Returns a map of keys for which values were found in DB.
* *
* @param List of keys for which values need to be retrieved. * @param List of keys for which values need to be retrieved.
* @param opt Read options. * @param opt Read options.
* @return Map where key of map is the key passed by user and value for map * @return Map where key of map is the key passed by user and value for map
* entry is the corresponding value in DB. * entry is the corresponding value in DB.
* *
* @see RocksDBException * @see RocksDBException
*/ */
public Map<byte[], byte[]> multiGet(ReadOptions opt, List<byte[]> keys) public Map<byte[], byte[]> multiGet(ReadOptions opt, List<byte[]> keys)
throws RocksDBException { throws RocksDBException {
List<byte[]> values = multiGet( List<byte[]> values = multiGet(
nativeHandle_, opt.nativeHandle_, keys, keys.size()); nativeHandle_, opt.nativeHandle_, keys, keys.size());
Map<byte[], byte[]> keyValueMap = new HashMap<byte[], byte[]>(); Map<byte[], byte[]> keyValueMap = new HashMap<byte[], byte[]>();
for(int i = 0; i < values.size(); i++) { for(int i = 0; i < values.size(); i++) {
if(values.get(i) == null) { if(values.get(i) == null) {
continue; continue;
} }
keyValueMap.put(keys.get(i), values.get(i)); keyValueMap.put(keys.get(i), values.get(i));
} }
return keyValueMap; return keyValueMap;
} }

@ -324,7 +324,7 @@ class ListJni {
assert(jclazz != nullptr); assert(jclazz != nullptr);
return jclazz; return jclazz;
} }
// Get the java class id of java.util.ArrayList. // Get the java class id of java.util.ArrayList.
static jclass getArrayListClass(JNIEnv* env) { static jclass getArrayListClass(JNIEnv* env) {
static jclass jclazz = env->FindClass("java/util/ArrayList"); static jclass jclazz = env->FindClass("java/util/ArrayList");
@ -338,7 +338,7 @@ class ListJni {
assert(jclazz != nullptr); assert(jclazz != nullptr);
return jclazz; return jclazz;
} }
// Get the java method id of java.util.List.iterator(). // Get the java method id of java.util.List.iterator().
static jmethodID getIteratorMethod(JNIEnv* env) { static jmethodID getIteratorMethod(JNIEnv* env) {
static jmethodID mid = env->GetMethodID( static jmethodID mid = env->GetMethodID(
@ -346,7 +346,7 @@ class ListJni {
assert(mid != nullptr); assert(mid != nullptr);
return mid; return mid;
} }
// Get the java method id of java.util.Iterator.hasNext(). // Get the java method id of java.util.Iterator.hasNext().
static jmethodID getHasNextMethod(JNIEnv* env) { static jmethodID getHasNextMethod(JNIEnv* env) {
static jmethodID mid = env->GetMethodID( static jmethodID mid = env->GetMethodID(
@ -354,7 +354,7 @@ class ListJni {
assert(mid != nullptr); assert(mid != nullptr);
return mid; return mid;
} }
// Get the java method id of java.util.Iterator.next(). // Get the java method id of java.util.Iterator.next().
static jmethodID getNextMethod(JNIEnv* env) { static jmethodID getNextMethod(JNIEnv* env) {
static jmethodID mid = env->GetMethodID( static jmethodID mid = env->GetMethodID(
@ -362,7 +362,7 @@ class ListJni {
assert(mid != nullptr); assert(mid != nullptr);
return mid; return mid;
} }
// Get the java method id of arrayList constructor. // Get the java method id of arrayList constructor.
static jmethodID getArrayListConstructorMethodId(JNIEnv* env, jclass jclazz) { static jmethodID getArrayListConstructorMethodId(JNIEnv* env, jclass jclazz) {
static jmethodID mid = env->GetMethodID( static jmethodID mid = env->GetMethodID(
@ -370,7 +370,7 @@ class ListJni {
assert(mid != nullptr); assert(mid != nullptr);
return mid; return mid;
} }
// Get the java method id of java.util.List.add(). // Get the java method id of java.util.List.add().
static jmethodID getListAddMethodId(JNIEnv* env) { static jmethodID getListAddMethodId(JNIEnv* env) {
static jmethodID mid = env->GetMethodID( static jmethodID mid = env->GetMethodID(

@ -249,37 +249,37 @@ jobject multi_get_helper(JNIEnv* env, jobject jdb, rocksdb::DB* db,
const rocksdb::ReadOptions& rOpt, jobject jkey_list, jint jkeys_count) { const rocksdb::ReadOptions& rOpt, jobject jkey_list, jint jkeys_count) {
std::vector<rocksdb::Slice> keys; std::vector<rocksdb::Slice> keys;
std::vector<jbyte*> keys_to_free; std::vector<jbyte*> keys_to_free;
// get iterator // get iterator
jobject iteratorObj = env->CallObjectMethod( jobject iteratorObj = env->CallObjectMethod(
jkey_list, rocksdb::ListJni::getIteratorMethod(env)); jkey_list, rocksdb::ListJni::getIteratorMethod(env));
// iterate over keys and convert java byte array to slice // iterate over keys and convert java byte array to slice
while(env->CallBooleanMethod( while(env->CallBooleanMethod(
iteratorObj, rocksdb::ListJni::getHasNextMethod(env)) == JNI_TRUE) { iteratorObj, rocksdb::ListJni::getHasNextMethod(env)) == JNI_TRUE) {
jbyteArray jkey = (jbyteArray) env->CallObjectMethod( jbyteArray jkey = (jbyteArray) env->CallObjectMethod(
iteratorObj, rocksdb::ListJni::getNextMethod(env)); iteratorObj, rocksdb::ListJni::getNextMethod(env));
jint key_length = env->GetArrayLength(jkey); jint key_length = env->GetArrayLength(jkey);
jbyte* key = new jbyte[key_length]; jbyte* key = new jbyte[key_length];
env->GetByteArrayRegion(jkey, 0, key_length, key); env->GetByteArrayRegion(jkey, 0, key_length, key);
// store allocated jbyte to free it after multiGet call // store allocated jbyte to free it after multiGet call
keys_to_free.push_back(key); keys_to_free.push_back(key);
rocksdb::Slice key_slice( rocksdb::Slice key_slice(
reinterpret_cast<char*>(key), key_length); reinterpret_cast<char*>(key), key_length);
keys.push_back(key_slice); keys.push_back(key_slice);
} }
std::vector<std::string> values; std::vector<std::string> values;
std::vector<rocksdb::Status> s = db->MultiGet(rOpt, keys, &values); std::vector<rocksdb::Status> s = db->MultiGet(rOpt, keys, &values);
// Don't reuse class pointer // Don't reuse class pointer
jclass jclazz = env->FindClass("java/util/ArrayList"); jclass jclazz = env->FindClass("java/util/ArrayList");
jmethodID mid = rocksdb::ListJni::getArrayListConstructorMethodId( jmethodID mid = rocksdb::ListJni::getArrayListConstructorMethodId(
env, jclazz); env, jclazz);
jobject jvalue_list = env->NewObject(jclazz, mid, jkeys_count); jobject jvalue_list = env->NewObject(jclazz, mid, jkeys_count);
// insert in java list // insert in java list
for(std::vector<rocksdb::Status>::size_type i = 0; i != s.size(); i++) { for(std::vector<rocksdb::Status>::size_type i = 0; i != s.size(); i++) {
if(s[i].ok()) { if(s[i].ok()) {
@ -295,13 +295,13 @@ jobject multi_get_helper(JNIEnv* env, jobject jdb, rocksdb::DB* db,
jvalue_list, rocksdb::ListJni::getListAddMethodId(env), nullptr); jvalue_list, rocksdb::ListJni::getListAddMethodId(env), nullptr);
} }
} }
// free up allocated byte arrays // free up allocated byte arrays
for(std::vector<jbyte*>::size_type i = 0; i != keys_to_free.size(); i++) { for(std::vector<jbyte*>::size_type i = 0; i != keys_to_free.size(); i++) {
delete[] keys_to_free[i]; delete[] keys_to_free[i];
} }
keys_to_free.clear(); keys_to_free.clear();
return jvalue_list; return jvalue_list;
} }

Loading…
Cancel
Save