changeset 228:53215157ca8f

Fix order in which mongoexec populate PUT and DELETE metadata Reviewd-by: jkang Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2017-August/024499.html
author Chris Lessard <clessard@redhat.com>
date Thu, 10 Aug 2017 11:56:46 -0400
parents c3e64deb1f12
children 8e7b37db2ede
files common/mongodb/src/main/java/com/redhat/thermostat/gateway/common/mongodb/executor/MongoExecutor.java
diffstat 1 files changed, 7 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/common/mongodb/src/main/java/com/redhat/thermostat/gateway/common/mongodb/executor/MongoExecutor.java	Thu Aug 10 10:09:40 2017 -0400
+++ b/common/mongodb/src/main/java/com/redhat/thermostat/gateway/common/mongodb/executor/MongoExecutor.java	Thu Aug 10 11:56:46 2017 -0400
@@ -47,6 +47,8 @@
 import java.util.List;
 import java.util.Set;
 
+import com.mongodb.client.result.DeleteResult;
+import com.mongodb.client.result.UpdateResult;
 import com.redhat.thermostat.gateway.common.mongodb.ThermostatFields;
 import org.bson.Document;
 import org.bson.conversions.Bson;
@@ -106,9 +108,9 @@
 
         final Bson bsonQueries = MongoRequestFilters.buildQuery(queries, realms);
 
-        collection.updateMany(bsonQueries, fields);
+        UpdateResult res = collection.updateMany(bsonQueries, fields);
 
-        metaDataContainer.setPutReqMatches(collection.count(bsonQueries));
+        metaDataContainer.setPutReqMatches(res.getModifiedCount());
 
         return metaDataContainer;
     }
@@ -124,8 +126,8 @@
         MongoDataResultContainer metaDataContainer = new MongoDataResultContainer();
         if (queries != null && !queries.isEmpty() || realms != null && !realms.isEmpty()) {
             Bson bsonQueries = MongoRequestFilters.buildQuery(queries, realms);
-            metaDataContainer.setDeleteReqMatches(collection.count(bsonQueries));
-            collection.deleteMany(bsonQueries);
+            DeleteResult res = collection.deleteMany(bsonQueries);
+            metaDataContainer.setDeleteReqMatches(res.getDeletedCount());
         } else {
             metaDataContainer.setDeleteReqMatches(collection.count());
             collection.drop();
@@ -155,6 +157,7 @@
             }
 
             collection.insertMany(inputList);
+            metaDataContainer.setPostReqInsertions(inputList.size());
         }
 
         return metaDataContainer;