You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gora.apache.org by dr...@apache.org on 2020/03/23 21:01:33 UTC
[gora] 01/07: GORA-649 MongoDBResult: pass `cursor` and `size` as
constructor args
This is an automated email from the ASF dual-hosted git repository.
drazzib pushed a commit to branch GORA-649-replace-deprecated-mongo-api
in repository https://gitbox.apache.org/repos/asf/gora.git
commit 68fbf52d00783703b53d49d806139f0f5527c399
Author: Damien Raude-Morvan <dr...@drazzib.com>
AuthorDate: Mon Mar 23 21:49:20 2020 +0100
GORA-649 MongoDBResult: pass `cursor` and `size` as constructor args
---
.../apache/gora/mongodb/query/MongoDBResult.java | 35 ++++++++--------------
1 file changed, 12 insertions(+), 23 deletions(-)
diff --git a/gora-mongodb/src/main/java/org/apache/gora/mongodb/query/MongoDBResult.java b/gora-mongodb/src/main/java/org/apache/gora/mongodb/query/MongoDBResult.java
index 3965333..c2ba04e 100644
--- a/gora-mongodb/src/main/java/org/apache/gora/mongodb/query/MongoDBResult.java
+++ b/gora-mongodb/src/main/java/org/apache/gora/mongodb/query/MongoDBResult.java
@@ -17,16 +17,15 @@
*/
package org.apache.gora.mongodb.query;
-import java.io.IOException;
-
+import com.mongodb.client.MongoCursor;
import org.apache.gora.mongodb.store.MongoStore;
import org.apache.gora.persistency.impl.PersistentBase;
import org.apache.gora.query.Query;
import org.apache.gora.query.impl.ResultBase;
import org.apache.gora.store.DataStore;
+import org.bson.Document;
-import com.mongodb.DBCursor;
-import com.mongodb.DBObject;
+import java.io.IOException;
/**
* MongoDB specific implementation of the {@link org.apache.gora.query.Result}
@@ -41,15 +40,17 @@ public class MongoDBResult<K, T extends PersistentBase> extends
/**
* Reference to the cursor pointing to the results
*/
- private DBCursor cursor;
- private int size;
+ private MongoCursor<Document> cursor;
+ private long size;
- public MongoDBResult(DataStore<K, T> dataStore, Query<K, T> query) {
+ public MongoDBResult(DataStore<K, T> dataStore, Query<K, T> query, MongoCursor<Document> cursor, long size) {
super(dataStore, query);
+ this.cursor = cursor;
+ this.size = size;
}
@Override
- public float getProgress() throws IOException {
+ public float getProgress() {
if (cursor == null) {
return 0;
} else if (size == 0) {
@@ -60,7 +61,7 @@ public class MongoDBResult<K, T extends PersistentBase> extends
}
@Override
- public void close() throws IOException {
+ public void close() {
if (cursor != null) {
cursor.close();
}
@@ -72,27 +73,15 @@ public class MongoDBResult<K, T extends PersistentBase> extends
return false;
}
- DBObject obj = cursor.next();
+ Document obj = cursor.next();
key = (K) obj.get("_id");
persistent = ((MongoStore<K, T>) getDataStore()).newInstance(obj,
getQuery().getFields());
return persistent != null;
}
- /**
- * Save the reference to the cursor that holds the actual results.
- *
- * @param cursor
- * {@link DBCursor} obtained from a query execution and that holds
- * the actual results
- */
- public void setCursor(DBCursor cursor) {
- this.cursor = cursor;
- this.size = cursor.size();
- }
-
@Override
public int size() {
- return size;
+ return (int) size;
}
}