diff --git a/spring-data-mongodb/pom.xml b/spring-data-mongodb/pom.xml index 7dc8d1949..e82d4cc68 100644 --- a/spring-data-mongodb/pom.xml +++ b/spring-data-mongodb/pom.xml @@ -12,7 +12,7 @@ Spring Data MongoDB - 2.6.5 + 2.7.1 2.2.4 diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapreduce/GroupByResults.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapreduce/GroupByResults.java index 577f79133..4289e8afd 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapreduce/GroupByResults.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/mapreduce/GroupByResults.java @@ -39,6 +39,8 @@ public class GroupByResults implements Iterable { private int keys; + private String serverUsed; + public GroupByResults(List mappedResults, DBObject rawResults) { Assert.notNull(mappedResults); Assert.notNull(rawResults); @@ -46,6 +48,7 @@ public class GroupByResults implements Iterable { this.rawResults = rawResults; parseKeys(); parseCount(); + parseServerUsed(); } public double getCount() { @@ -55,6 +58,10 @@ public class GroupByResults implements Iterable { public int getKeys() { return keys; } + + public String getServerUsed() { + return serverUsed; + } public Iterator iterator() { return mappedResults.iterator(); @@ -65,18 +72,25 @@ public class GroupByResults implements Iterable { } private void parseCount() { - Object object = (Object) rawResults.get("count"); + Object object = rawResults.get("count"); if (object instanceof Double) { - count = (Double)object; + count = (Double) object; } } private void parseKeys() { - Object object = (Object) rawResults.get("keys"); + Object object = rawResults.get("keys"); if (object instanceof Integer) { - keys = (Integer)object; + keys = (Integer) object; } } + private void parseServerUsed() { + //"serverUsed" : "127.0.0.1:27017" + Object object = rawResults.get("serverUsed"); + if (object instanceof String) { + serverUsed = (String) object; + } + } } diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/mapreduce/GroupByTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/mapreduce/GroupByTests.java index 9be6a8a1d..c1c112bcb 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/mapreduce/GroupByTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/mapreduce/GroupByTests.java @@ -161,7 +161,7 @@ public class GroupByTests { private void assertMapReduceResults(GroupByResults results) { DBObject dboRawResults = results.getRawResults(); - String expected = "{ \"retval\" : [ { \"x\" : 1.0 , \"count\" : 2.0} , { \"x\" : 2.0 , \"count\" : 1.0} , { \"x\" : 3.0 , \"count\" : 3.0}] , \"count\" : 6.0 , \"keys\" : 3 , \"ok\" : 1.0}"; + String expected = "{ \"serverUsed\" : \"127.0.0.1:27017\" , \"retval\" : [ { \"x\" : 1.0 , \"count\" : 2.0} , { \"x\" : 2.0 , \"count\" : 1.0} , { \"x\" : 3.0 , \"count\" : 3.0}] , \"count\" : 6.0 , \"keys\" : 3 , \"ok\" : 1.0}"; Assert.assertEquals(expected, dboRawResults.toString()); int numResults = 0;