From fa660e6770ee8f7d43f96fc4c214366f873a6e74 Mon Sep 17 00:00:00 2001 From: Vyacheslav Tyutyunkov Date: Mon, 18 Mar 2013 17:12:21 +0700 Subject: [PATCH] #21 --- jejdb/src/cpp/jejdb.c | 68 ++++++++++++---------- jejdb/src/cpp/org_ejdb_driver_EJDB.h | 16 ++--- jejdb/src/cpp/org_ejdb_driver_EJDBCollection.h | 44 +++++++------- jejdb/src/cpp/org_ejdb_driver_EJDBQuery.h | 4 +- jejdb/src/cpp/org_ejdb_driver_EJDBResultSet.h | 12 ++-- jejdb/src/java/org/ejdb/driver/EJDB.java | 37 ++---------- jejdb/src/java/org/ejdb/driver/EJDBCollection.java | 38 +++--------- jejdb/src/java/org/ejdb/driver/EJDBQuery.java | 5 +- jejdb/src/java/org/ejdb/driver/EJDBResultSet.java | 13 ++--- 9 files changed, 97 insertions(+), 140 deletions(-) diff --git a/jejdb/src/cpp/jejdb.c b/jejdb/src/cpp/jejdb.c index 379109f..faac7c7 100755 --- a/jejdb/src/cpp/jejdb.c +++ b/jejdb/src/cpp/jejdb.c @@ -26,12 +26,20 @@ static EJDB *get_ejdb_from_object(JNIEnv *env, jobject obj) { if ((*env)->IsInstanceOf(env, obj, jEJDBQueryClazz)) { jfieldID collID = (*env)->GetFieldID(env, jEJDBQueryClazz, "coll", "Lorg/ejdb/driver/EJDBCollection;"); obj = (*env)->GetObjectField(env, obj, collID); + + if (NULL == obj) { + return 0; + } } jclass jEJDBCollectionClazz = (*env)->FindClass(env, "org/ejdb/driver/EJDBCollection"); if ((*env)->IsInstanceOf(env, obj, jEJDBCollectionClazz)) { jfieldID dbID = (*env)->GetFieldID(env, jEJDBCollectionClazz, "db", "Lorg/ejdb/driver/EJDB;"); obj = (*env)->GetObjectField(env, obj, dbID); + + if (NULL == obj) { + return 0; + } } jclass jEJDBClazz = (*env)->FindClass(env, "org/ejdb/driver/EJDB"); @@ -134,10 +142,10 @@ static void set_rs_to_object(JNIEnv *env, jobject obj, TCLIST *rs) { /* * Class: org_ejdb_driver_EJDB -* Method: openDB +* Method: open * Signature: (Ljava/lang/String;I)V */ -JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_openDB (JNIEnv *env, jobject obj, jstring path, jint mode) { +JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_open (JNIEnv *env, jobject obj, jstring path, jint mode) { EJDB* db = ejdbnew(); if (!db) { @@ -160,19 +168,19 @@ JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_openDB (JNIEnv *env, jobject ob /* * Class: org_ejdb_driver_EJDB -* Method: isOpenDB +* Method: isOpen * Signature: ()Z */ -JNIEXPORT jboolean JNICALL Java_org_ejdb_driver_EJDB_isOpenDB (JNIEnv *env, jobject obj) { +JNIEXPORT jboolean JNICALL Java_org_ejdb_driver_EJDB_isOpen (JNIEnv *env, jobject obj) { return ejdbisopen(get_ejdb_from_object(env, obj)); }; /* * Class: org_ejdb_driver_EJDB -* Method: closeDB +* Method: close * Signature: ()V */ -JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_closeDB (JNIEnv *env, jobject obj) { +JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_close (JNIEnv *env, jobject obj) { EJDB* db = get_ejdb_from_object(env, obj); if (ejdbisopen(db)) { @@ -189,10 +197,10 @@ JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_closeDB (JNIEnv *env, jobject o /* * Class: org_ejdb_driver_EJDB -* Method: syncDB +* Method: sync * Signature: ()V */ -JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_syncDB (JNIEnv *env, jobject obj) { +JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_sync (JNIEnv *env, jobject obj) { EJDB* db = get_ejdb_from_object(env, obj); if (!ejdbisopen(db)) { set_error(env, 0, "EJDB not opened"); @@ -206,10 +214,10 @@ JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_syncDB (JNIEnv *env, jobject ob /* * Class: org_ejdb_driver_EJDBCollection -* Method: ensureDB +* Method: ensureExists * Signature: (Lorg/ejdb/driver/EJDBCollection$Options;)V */ -JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_ensureDB (JNIEnv *env, jobject obj, jobject opts) { +JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_ensureExists (JNIEnv *env, jobject obj, jobject opts) { EJDB* db = get_ejdb_from_object(env, obj); if (!ejdbisopen(db)) { set_error(env, 0, "EJDB not opened"); @@ -234,10 +242,10 @@ JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_ensureDB (JNIEnv *env /* * Class: org_ejdb_driver_EJDBCollection -* Method: dropDB +* Method: drop * Signature: (Z)V */ -JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_dropDB (JNIEnv *env, jobject obj, jboolean prune) { +JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_drop (JNIEnv *env, jobject obj, jboolean prune) { EJDB* db = get_ejdb_from_object(env, obj); if (!ejdbisopen(db)) { set_error(env, 0, "EJDB not opened"); @@ -258,10 +266,10 @@ JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_dropDB (JNIEnv *env, /* * Class: org_ejdb_driver_EJDBCollection -* Method: syncDB +* Method: sync * Signature: ()V */ -JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_syncDB (JNIEnv *env, jobject obj) { +JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_sync (JNIEnv *env, jobject obj) { EJDB* db = get_ejdb_from_object(env, obj); if (!ejdbisopen(db)) { set_error(env, 0, "EJDB not opened"); @@ -286,10 +294,10 @@ JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_syncDB (JNIEnv *env, /* * Class: org_ejdb_driver_EJDBCollection - * Method: loadDB + * Method: load * Signature: (Lorg/bson/types/ObjectId;)Lorg/bson/BSONObject; */ -JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBCollection_loadDB (JNIEnv *env, jobject obj, jobject joid) { +JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBCollection_load (JNIEnv *env, jobject obj, jobject joid) { EJDB* db = get_ejdb_from_object(env, obj); if (!ejdbisopen(db)) { set_error(env, 0, "EJDB not opened"); @@ -326,10 +334,10 @@ JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBCollection_loadDB (JNIEnv *en /* * Class: org_ejdb_driver_EJDBCollection - * Method: saveDB + * Method: save * Signature: (Lorg/bson/BSONObject;)Lorg/bson/types/ObjectId; */ -JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBCollection_saveDB (JNIEnv *env, jobject obj, jobject jdata) { +JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBCollection_save (JNIEnv *env, jobject obj, jobject jdata) { EJDB* db = get_ejdb_from_object(env, obj); if (!ejdbisopen(db)) { set_error(env, 0, "EJDB not opened"); @@ -373,10 +381,10 @@ JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBCollection_saveDB (JNIEnv *en /* * Class: org_ejdb_driver_EJDBCollection - * Method: removeDB + * Method: remove * Signature: (Lorg/bson/types/ObjectId;)V */ -JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_removeDB (JNIEnv *env, jobject obj, jobject joid) { +JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_remove (JNIEnv *env, jobject obj, jobject joid) { EJDB* db = get_ejdb_from_object(env, obj); if (!ejdbisopen(db)) { set_error(env, 0, "EJDB not opened"); @@ -408,10 +416,10 @@ JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_removeDB (JNIEnv *env /* * Class: org_ejdb_driver_EJDBCollection -* Method: setIndexDB +* Method: setIndex * Signature: (Ljava/lang/String;I)V */ -JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_setIndexDB (JNIEnv *env, jobject obj, jstring pathstr, jint flags) { +JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_setIndex (JNIEnv *env, jobject obj, jstring pathstr, jint flags) { EJDB* db = get_ejdb_from_object(env, obj); if (!ejdbisopen(db)) { set_error(env, 0, "EJDB not opened"); @@ -440,10 +448,10 @@ JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_setIndexDB (JNIEnv *e /* * Class: org_ejdb_driver_EJDBQuery -* Method: executeDB +* Method: execute * Signature: (Lorg/bson/BSONObject;[Lorg/bson/BSONObject;Lorg/bson/BSONObject;I)Lorg/ejdb/driver/EJDBQuery$QResult; */ -JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBQuery_executeDB (JNIEnv *env, jobject obj, jobject qobj, jobjectArray qorarrobj, jobject hobj, jint flags) { +JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBQuery_execute (JNIEnv *env, jobject obj, jobject qobj, jobjectArray qorarrobj, jobject hobj, jint flags) { jclass jQResultClazz = (*env)->FindClass(env, "org/ejdb/driver/EJDBQuery$QResult"); jmethodID initQResultMethodID = (*env)->GetMethodID(env, jQResultClazz, "", "(IJ)V"); @@ -550,10 +558,10 @@ finish: /* * Class: org_ejdb_driver_EJDBResultSet -* Method: getDB +* Method: get * Signature: (I)Lorg/bson/BSONObject; */ -JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBResultSet_getDB (JNIEnv *env, jobject obj, jint indx) { +JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBResultSet_get (JNIEnv *env, jobject obj, jint indx) { TCLIST *rs = get_rs_from_object(env, obj); if (!rs) { @@ -576,10 +584,10 @@ JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBResultSet_getDB (JNIEnv *env, /* * Class: org_ejdb_driver_EJDBResultSet -* Method: lengthDB +* Method: length * Signature: ()I */ -JNIEXPORT jint JNICALL Java_org_ejdb_driver_EJDBResultSet_lengthDB (JNIEnv *env, jobject obj) { +JNIEXPORT jint JNICALL Java_org_ejdb_driver_EJDBResultSet_length (JNIEnv *env, jobject obj) { TCLIST *rs = get_rs_from_object(env, obj); if (!rs) { @@ -591,10 +599,10 @@ JNIEXPORT jint JNICALL Java_org_ejdb_driver_EJDBResultSet_lengthDB (JNIEnv *env, /* * Class: org_ejdb_driver_EJDBResultSet -* Method: closeDB +* Method: close * Signature: ()V */ -JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBResultSet_closeDB (JNIEnv *env, jobject obj) { +JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBResultSet_close (JNIEnv *env, jobject obj) { TCLIST *rs = get_rs_from_object(env, obj); if (!rs) { diff --git a/jejdb/src/cpp/org_ejdb_driver_EJDB.h b/jejdb/src/cpp/org_ejdb_driver_EJDB.h index 3061fee..2ba9eae 100644 --- a/jejdb/src/cpp/org_ejdb_driver_EJDB.h +++ b/jejdb/src/cpp/org_ejdb_driver_EJDB.h @@ -25,34 +25,34 @@ extern "C" { #define org_ejdb_driver_EJDB_JBO_DEFAULT 70L /* * Class: org_ejdb_driver_EJDB - * Method: openDB + * Method: open * Signature: (Ljava/lang/String;I)V */ -JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_openDB +JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_open (JNIEnv *, jobject, jstring, jint); /* * Class: org_ejdb_driver_EJDB - * Method: isOpenDB + * Method: isOpen * Signature: ()Z */ -JNIEXPORT jboolean JNICALL Java_org_ejdb_driver_EJDB_isOpenDB +JNIEXPORT jboolean JNICALL Java_org_ejdb_driver_EJDB_isOpen (JNIEnv *, jobject); /* * Class: org_ejdb_driver_EJDB - * Method: closeDB + * Method: close * Signature: ()V */ -JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_closeDB +JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_close (JNIEnv *, jobject); /* * Class: org_ejdb_driver_EJDB - * Method: syncDB + * Method: sync * Signature: ()V */ -JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_syncDB +JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDB_sync (JNIEnv *, jobject); #ifdef __cplusplus diff --git a/jejdb/src/cpp/org_ejdb_driver_EJDBCollection.h b/jejdb/src/cpp/org_ejdb_driver_EJDBCollection.h index 0ee6a34..0486665 100755 --- a/jejdb/src/cpp/org_ejdb_driver_EJDBCollection.h +++ b/jejdb/src/cpp/org_ejdb_driver_EJDBCollection.h @@ -25,68 +25,68 @@ extern "C" { #define org_ejdb_driver_EJDBCollection_JBIDXISTR 128L /* * Class: org_ejdb_driver_EJDBCollection - * Method: ensureDB + * Method: txControlDB + * Signature: (I)V + */ +JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_txControlDB + (JNIEnv *, jobject, jint); + +/* + * Class: org_ejdb_driver_EJDBCollection + * Method: ensureExists * Signature: (Lorg/ejdb/driver/EJDBCollection/Options;)V */ -JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_ensureDB +JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_ensureExists (JNIEnv *, jobject, jobject); /* * Class: org_ejdb_driver_EJDBCollection - * Method: dropDB + * Method: drop * Signature: (Z)V */ -JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_dropDB +JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_drop (JNIEnv *, jobject, jboolean); /* * Class: org_ejdb_driver_EJDBCollection - * Method: syncDB + * Method: sync * Signature: ()V */ -JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_syncDB +JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_sync (JNIEnv *, jobject); /* * Class: org_ejdb_driver_EJDBCollection - * Method: loadDB + * Method: load * Signature: (Lorg/bson/types/ObjectId;)Lorg/bson/BSONObject; */ -JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBCollection_loadDB +JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBCollection_load (JNIEnv *, jobject, jobject); /* * Class: org_ejdb_driver_EJDBCollection - * Method: saveDB + * Method: save * Signature: (Lorg/bson/BSONObject;)Lorg/bson/types/ObjectId; */ -JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBCollection_saveDB +JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBCollection_save (JNIEnv *, jobject, jobject); /* * Class: org_ejdb_driver_EJDBCollection - * Method: removeDB + * Method: remove * Signature: (Lorg/bson/types/ObjectId;)V */ -JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_removeDB +JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_remove (JNIEnv *, jobject, jobject); /* * Class: org_ejdb_driver_EJDBCollection - * Method: setIndexDB + * Method: setIndex * Signature: (Ljava/lang/String;I)V */ -JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_setIndexDB +JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_setIndex (JNIEnv *, jobject, jstring, jint); -/* - * Class: org_ejdb_driver_EJDBCollection - * Method: txControlDB - * Signature: (I)V - */ -JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBCollection_txControlDB - (JNIEnv *, jobject, jint); - #ifdef __cplusplus } #endif diff --git a/jejdb/src/cpp/org_ejdb_driver_EJDBQuery.h b/jejdb/src/cpp/org_ejdb_driver_EJDBQuery.h index d7a2614..8d4576e 100755 --- a/jejdb/src/cpp/org_ejdb_driver_EJDBQuery.h +++ b/jejdb/src/cpp/org_ejdb_driver_EJDBQuery.h @@ -11,10 +11,10 @@ extern "C" { #define org_ejdb_driver_EJDBQuery_JBQRYCOUNT 1L /* * Class: org_ejdb_driver_EJDBQuery - * Method: executeDB + * Method: execute * Signature: (Lorg/bson/BSONObject;[Lorg/bson/BSONObject;Lorg/bson/BSONObject;I)Lorg/ejdb/driver/EJDBQuery/QResult; */ -JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBQuery_executeDB +JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBQuery_execute (JNIEnv *, jobject, jobject, jobjectArray, jobject, jint); #ifdef __cplusplus diff --git a/jejdb/src/cpp/org_ejdb_driver_EJDBResultSet.h b/jejdb/src/cpp/org_ejdb_driver_EJDBResultSet.h index 7f51709..feb5867 100755 --- a/jejdb/src/cpp/org_ejdb_driver_EJDBResultSet.h +++ b/jejdb/src/cpp/org_ejdb_driver_EJDBResultSet.h @@ -9,26 +9,26 @@ extern "C" { #endif /* * Class: org_ejdb_driver_EJDBResultSet - * Method: getDB + * Method: get * Signature: (I)Lorg/bson/BSONObject; */ -JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBResultSet_getDB +JNIEXPORT jobject JNICALL Java_org_ejdb_driver_EJDBResultSet_get (JNIEnv *, jobject, jint); /* * Class: org_ejdb_driver_EJDBResultSet - * Method: lengthDB + * Method: length * Signature: ()I */ -JNIEXPORT jint JNICALL Java_org_ejdb_driver_EJDBResultSet_lengthDB +JNIEXPORT jint JNICALL Java_org_ejdb_driver_EJDBResultSet_length (JNIEnv *, jobject); /* * Class: org_ejdb_driver_EJDBResultSet - * Method: closeDB + * Method: close * Signature: ()V */ -JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBResultSet_closeDB +JNIEXPORT void JNICALL Java_org_ejdb_driver_EJDBResultSet_close (JNIEnv *, jobject); #ifdef __cplusplus diff --git a/jejdb/src/java/org/ejdb/driver/EJDB.java b/jejdb/src/java/org/ejdb/driver/EJDB.java index 5a8f514..dbc7ba6 100644 --- a/jejdb/src/java/org/ejdb/driver/EJDB.java +++ b/jejdb/src/java/org/ejdb/driver/EJDB.java @@ -20,46 +20,26 @@ public class EJDB { System.loadLibrary("jejdb"); } - protected native void openDB(String path, int mode); - protected native boolean isOpenDB(); - protected native void closeDB(); - protected native void syncDB(); - private long dbPointer; - // TODO: move to driver class public void open(String path) { this.open(path, JBO_DEFAULT); } - public void open(String path, int mode) { - this.openDB(path, mode); - } + public native void open(String path, int mode); - public boolean isOpen() { - return this.isOpenDB(); - } + public native boolean isOpen(); - public void close() { - this.closeDB(); - } - - public void sync() { - this.syncDB(); - } + public native void close(); + public native void sync(); public EJDBCollection ensureCollection(String cname) { return this.ensureCollection(cname, null); } public EJDBCollection ensureCollection(String cname, EJDBCollection.Options opts) { - if (!this.isOpen()) { -// todo - throw new RuntimeException("Connection does not exists"); - } - EJDBCollection collection = getCollection(cname); collection.ensureExists(opts); @@ -71,14 +51,7 @@ public class EJDB { } public void dropCollection(String cname, boolean prune) { - if (!this.isOpen()) { - // todo - throw new RuntimeException("Connection does not exists"); - } - - EJDBCollection collection = getCollection(cname); - - collection.drop(prune); + getCollection(cname).drop(prune); } public EJDBCollection getCollection(String cname) { diff --git a/jejdb/src/java/org/ejdb/driver/EJDBCollection.java b/jejdb/src/java/org/ejdb/driver/EJDBCollection.java index f805c6d..586797f 100644 --- a/jejdb/src/java/org/ejdb/driver/EJDBCollection.java +++ b/jejdb/src/java/org/ejdb/driver/EJDBCollection.java @@ -32,44 +32,28 @@ public class EJDBCollection { this.cname = cname; } - protected native void ensureDB(Options opts); - protected native void dropDB(boolean prune); - protected native void syncDB(); + // TODO: + protected native void txControlDB(int mode); - protected native BSONObject loadDB(ObjectId oid); - protected native ObjectId saveDB(BSONObject obj); - protected native void removeDB(ObjectId oid); - protected native void setIndexDB(String path, int flags); - protected native void txControlDB(int mode); public void ensureExists() { this.ensureExists(null); } - public void ensureExists(Options opts) { - this.ensureDB(opts); - } + public native void ensureExists(Options opts); public void drop() { this.drop(false); } - public void drop(boolean prune) { - this.dropDB(prune); - } + public native void drop(boolean prune); - public void sync() { - this.syncDB(); - } + public native void sync(); - public BSONObject load(ObjectId oid) { - return this.loadDB(oid); - } + public native BSONObject load(ObjectId oid); - public ObjectId save(BSONObject object) { - return this.saveDB(object); - } + public native ObjectId save(BSONObject object); public List save(List objects) { List result = new ArrayList(objects.size()); @@ -81,13 +65,9 @@ public class EJDBCollection { return result; } - public void remove(ObjectId oid) { - this.removeDB(oid); - } + public native void remove(ObjectId oid); - public void setIndex(String path, int flags) { - this.setIndexDB(path, flags); - } + public native void setIndex(String path, int flags); public EJDBQuery createQuery(BSONObject query, BSONObject[] qors, BSONObject hints, int flags) { return new EJDBQuery(this, query, qors, hints, flags); diff --git a/jejdb/src/java/org/ejdb/driver/EJDBQuery.java b/jejdb/src/java/org/ejdb/driver/EJDBQuery.java index 4aca840..948f042 100644 --- a/jejdb/src/java/org/ejdb/driver/EJDBQuery.java +++ b/jejdb/src/java/org/ejdb/driver/EJDBQuery.java @@ -28,12 +28,11 @@ public class EJDBQuery { // TODO public EJDBResultSet execute() { - QResult qResult = this.executeDB(query, qors, hints, flags); + QResult qResult = this.execute(query, qors, hints, flags); return qResult != null ? new EJDBResultSet(qResult.rsPointer) : null; } - - protected native QResult executeDB(BSONObject query, BSONObject[] qors, BSONObject hints, int flags); + protected native QResult execute(BSONObject query, BSONObject[] qors, BSONObject hints, int flags); private static class QResult { private int count; diff --git a/jejdb/src/java/org/ejdb/driver/EJDBResultSet.java b/jejdb/src/java/org/ejdb/driver/EJDBResultSet.java index 4756039..1ec68ed 100644 --- a/jejdb/src/java/org/ejdb/driver/EJDBResultSet.java +++ b/jejdb/src/java/org/ejdb/driver/EJDBResultSet.java @@ -20,16 +20,15 @@ public class EJDBResultSet implements Iterable, Iterator this.position = 0; } - protected native BSONObject getDB(int position); - protected native int lengthDB(); - protected native void closeDB(); + public native BSONObject get(int position); + public native int length(); public Iterator iterator() { return this; } public boolean hasNext() { - return position < this.lengthDB(); + return position < this.length(); } public BSONObject next() { @@ -37,16 +36,14 @@ public class EJDBResultSet implements Iterable, Iterator throw new NoSuchElementException(); } - return getDB(position++); + return get(position++); } public void remove() { throw new UnsupportedOperationException(); } - public void close() { - this.closeDB(); - } + public native void close(); @Override protected void finalize() throws Throwable { -- 2.7.4