DATAMONGO-570 - Guard against null values in references.
QueryMapper does not try to convert null values into DBRef objects anymore but returns the plain null value as is.
This commit is contained in:
@@ -263,7 +263,7 @@ public class QueryMapper {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
return source instanceof DBRef ? source : converter.toDBRef(source, property);
|
return source == null || source instanceof DBRef ? source : converter.toDBRef(source, property);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -335,6 +335,18 @@ public class QueryMapperUnitTests {
|
|||||||
assertThat(reference.containsField("$in"), is(true));
|
assertThat(reference.containsField("$in"), is(true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see DATAMONGO-570
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void correctlyConvertsNullReference() {
|
||||||
|
|
||||||
|
Query query = query(where("reference").is(null));
|
||||||
|
DBObject object = mapper.getMappedObject(query.getQueryObject(), context.getPersistentEntity(WithDBRef.class));
|
||||||
|
|
||||||
|
assertThat(object.get("reference"), is(nullValue()));
|
||||||
|
}
|
||||||
|
|
||||||
class IdWrapper {
|
class IdWrapper {
|
||||||
Object id;
|
Object id;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user