From 585451f59a3d6c57255fa0e430b0d80e94808191 Mon Sep 17 00:00:00 2001 From: Vyacheslav Tyutyunkov Date: Tue, 19 Mar 2013 14:53:24 +0700 Subject: [PATCH] #21 --- jejdb/src/cpp/jejdb.c | 3 ++ jejdb/src/cpp/jejdb.h | 4 -- jejdb/src/cpp/org_ejdb_driver_EJDBCollection.h | 1 - jejdb/src/cpp/org_ejdb_driver_EJDBDriver.h | 13 ------- jejdb/src/java/org/ejdb/Test2.java | 26 ++++++++++++- jejdb/src/java/org/ejdb/driver/EJDB.java | 53 +++++++++++++++++++++----- jejdb/src/java/org/ejdb/driver/EJDBDriver.java | 8 ---- 7 files changed, 72 insertions(+), 36 deletions(-) delete mode 100644 jejdb/src/cpp/org_ejdb_driver_EJDBDriver.h delete mode 100644 jejdb/src/java/org/ejdb/driver/EJDBDriver.java diff --git a/jejdb/src/cpp/jejdb.c b/jejdb/src/cpp/jejdb.c index b1b59cd..1c37715 100755 --- a/jejdb/src/cpp/jejdb.c +++ b/jejdb/src/cpp/jejdb.c @@ -19,6 +19,9 @@ static void set_ejdb_to_object(JNIEnv *env, jobject obj, EJDB *db) { jclass clazz = (*env)->GetObjectClass(env, obj); jfieldID dbpID = (*env)->GetFieldID(env, clazz, "dbPointer", "J"); (*env)->SetLongField(env, obj, dbpID, (jlong)db); + + jfieldID pathID = (*env)->GetFieldID(env, clazz, "path", "Ljava/lang/String;"); + (*env)->SetObjectField(env, obj, pathID, db ? (*env)->NewStringUTF(env, db->metadb->hdb->path) : NULL); }; static EJDB *get_ejdb_from_object(JNIEnv *env, jobject obj) { diff --git a/jejdb/src/cpp/jejdb.h b/jejdb/src/cpp/jejdb.h index a12d797..ef75df7 100755 --- a/jejdb/src/cpp/jejdb.h +++ b/jejdb/src/cpp/jejdb.h @@ -2,11 +2,7 @@ #define JEJDB_H #include -#ifdef _WIN32 -#undef __cplusplus -#endif -#include "org_ejdb_driver_EJDBDriver.h" #include "org_ejdb_driver_EJDB.h" #include "org_ejdb_driver_EJDBCollection.h" #include "org_ejdb_driver_EJDBQuery.h" diff --git a/jejdb/src/cpp/org_ejdb_driver_EJDBCollection.h b/jejdb/src/cpp/org_ejdb_driver_EJDBCollection.h index 343d6ec..9d38672 100755 --- a/jejdb/src/cpp/org_ejdb_driver_EJDBCollection.h +++ b/jejdb/src/cpp/org_ejdb_driver_EJDBCollection.h @@ -31,7 +31,6 @@ extern "C" { #define org_ejdb_driver_EJDBCollection_JBTXROLLBACK 4L #undef org_ejdb_driver_EJDBCollection_JBTXSTATUS #define org_ejdb_driver_EJDBCollection_JBTXSTATUS 8L - /* * Class: org_ejdb_driver_EJDBCollection * Method: txControl diff --git a/jejdb/src/cpp/org_ejdb_driver_EJDBDriver.h b/jejdb/src/cpp/org_ejdb_driver_EJDBDriver.h deleted file mode 100644 index 2d83634..0000000 --- a/jejdb/src/cpp/org_ejdb_driver_EJDBDriver.h +++ /dev/null @@ -1,13 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class org_ejdb_driver_EJDBDriver */ - -#ifndef _Included_org_ejdb_driver_EJDBDriver -#define _Included_org_ejdb_driver_EJDBDriver -#ifdef __cplusplus -extern "C" { -#endif -#ifdef __cplusplus -} -#endif -#endif diff --git a/jejdb/src/java/org/ejdb/Test2.java b/jejdb/src/java/org/ejdb/Test2.java index ce4ff31..5de3cf9 100644 --- a/jejdb/src/java/org/ejdb/Test2.java +++ b/jejdb/src/java/org/ejdb/Test2.java @@ -1,5 +1,7 @@ package org.ejdb; +import com.sun.org.apache.xpath.internal.SourceTree; + import org.bson.BSONObject; import org.bson.BasicBSONObject; import org.ejdb.driver.EJDB; @@ -24,7 +26,7 @@ public class Test2 { try { db.open("test5"); - System.out.println("test EJDB opened"); + System.out.println("test EJDB opened: " + db.getPath()); EJDBCollection test = db.getCollection("test"); @@ -50,8 +52,27 @@ public class Test2 { for (BSONObject r : rs) { System.out.println(r); } + rs.close(); + System.out.println(); System.out.println(query.findOne()); + System.out.println(); + + query = test.createQuery(new BasicBSONObject("randomBoolean", true)); + System.out.println("Objects with 'randomBoolean==true': " + query.count()); + rs = query.find(); + for (BSONObject r : rs) { + System.out.println(r); + } + rs.close(); + + query.getQueryObject().put("smallRandom", new BasicBSONObject("$lt", 6)); + rs = query.find(); + System.out.println("Objects with 'randomBoolean==true && smallRandom<6': " + rs.length()); + for (BSONObject r : rs) { + System.out.println(r); + } + rs.close(); } finally { db.close(); @@ -67,6 +88,9 @@ public class Test2 { bsonObject.put("time", System.currentTimeMillis()); bsonObject.put("index", INDEX); bsonObject.put("random", random.nextLong()); + bsonObject.put("randomBoolean", random.nextBoolean()); + bsonObject.put("randomDouble", random.nextDouble()); + bsonObject.put("smallRandom", random.nextInt(10)); return bsonObject; } diff --git a/jejdb/src/java/org/ejdb/driver/EJDB.java b/jejdb/src/java/org/ejdb/driver/EJDB.java index dbc7ba6..a99730a 100644 --- a/jejdb/src/java/org/ejdb/driver/EJDB.java +++ b/jejdb/src/java/org/ejdb/driver/EJDB.java @@ -5,15 +5,45 @@ package org.ejdb.driver; * @version $Id$ */ public class EJDB { - // Open modes - public static final int JBOREADER = 1 << 0; /**< Open as a reader. */ - public static final int JBOWRITER = 1 << 1; /**< Open as a writer. */ - public static final int JBOCREAT = 1 << 2; /**< Create if db file not exists. */ - public static final int JBOTRUNC = 1 << 3; /**< Truncate db on open. */ - public static final int JBONOLCK = 1 << 4; /**< Open without locking. */ - public static final int JBOLCKNB = 1 << 5; /**< Lock without blocking. */ - public static final int JBOTSYNC = 1 << 6; /**< Synchronize every transaction. */ + /** + * Open as a reader. + */ + public static final int JBOREADER = 1 << 0; + + /** + * Open as a writer. + */ + public static final int JBOWRITER = 1 << 1; + + /** + * Create if db file not exists. + */ + public static final int JBOCREAT = 1 << 2; + + /** + * Truncate db on open. + */ + public static final int JBOTRUNC = 1 << 3; + + /** + * Open without locking. + */ + public static final int JBONOLCK = 1 << 4; + + /** + * Lock without blocking. + */ + public static final int JBOLCKNB = 1 << 5; + + /** + * Synchronize every transaction. + */ + public static final int JBOTSYNC = 1 << 6; + + /** + * Default open mode + */ public static final int JBO_DEFAULT = (JBOWRITER | JBOCREAT | JBOTSYNC); static { @@ -22,7 +52,12 @@ public class EJDB { private long dbPointer; - // TODO: move to driver class + private String path; + + public String getPath() { + return path; + } + public void open(String path) { this.open(path, JBO_DEFAULT); } diff --git a/jejdb/src/java/org/ejdb/driver/EJDBDriver.java b/jejdb/src/java/org/ejdb/driver/EJDBDriver.java deleted file mode 100644 index 9cc44e2..0000000 --- a/jejdb/src/java/org/ejdb/driver/EJDBDriver.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.ejdb.driver; - -/** - * @author Tyutyunkov Vyacheslav (tve@softmotions.com) - * @version $Id$ - */ -public class EJDBDriver { -} -- 2.7.4