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;
   }
 }