DATAMONGO-1387 - Fix BasicQuery getFieldsObject() inconsistency.
We changed BasicQuery to consider its parent getFieldsObject() when not given an explicit fields DBObject. Original Pull Request: #345 CLA: 165520160303021604 (John Willemin)
This commit is contained in:
committed by
Christoph Strobl
parent
6068f3243a
commit
119692c979
@@ -28,6 +28,7 @@ import com.mongodb.util.JSON;
|
||||
* @author Oliver Gierke
|
||||
* @author Christoph Strobl
|
||||
* @author Thomas Darimont
|
||||
* @author John Willemin
|
||||
*/
|
||||
public class BasicQuery extends Query {
|
||||
|
||||
@@ -70,7 +71,11 @@ public class BasicQuery extends Query {
|
||||
|
||||
@Override
|
||||
public DBObject getFieldsObject() {
|
||||
return fieldsObject;
|
||||
if(fieldsObject != null) {
|
||||
return fieldsObject;
|
||||
} else {
|
||||
return super.getFieldsObject();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -32,6 +32,7 @@ import com.mongodb.DBObject;
|
||||
*
|
||||
* @author Oliver Gierke
|
||||
* @author Thomas Darimont
|
||||
* @author John Willemin
|
||||
*/
|
||||
public class BasicQueryUnitTests {
|
||||
|
||||
@@ -137,4 +138,21 @@ public class BasicQueryUnitTests {
|
||||
assertThat(query1, is(not(equalTo(query2))));
|
||||
assertThat(query1.hashCode(), is(not(query2.hashCode())));
|
||||
}
|
||||
|
||||
/**
|
||||
* @see DATAMONGO-1387
|
||||
*/
|
||||
@Test
|
||||
public void handlesFieldsIncludeCorrectly() {
|
||||
|
||||
String qry = "{ \"name\" : \"Thomas\"}";
|
||||
|
||||
BasicQuery query1 = new BasicQuery(qry);
|
||||
query1.fields().include("name");
|
||||
|
||||
DBObject fieldsObject = query1.getFieldsObject();
|
||||
fieldsObject.containsField("name");
|
||||
assertThat(query1.getFieldsObject(), notNullValue());
|
||||
assertThat(query1.getFieldsObject().containsField("name"), is(true));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user