DATAMONGO-776 - Improvement in TypeBasedAggregationOperationContext.

TypeBasedAggregationOperationContext's getReference(…) doesn't use a PropertyPath anymore to avoid running the camel case property resolution.
This commit is contained in:
Oliver Gierke
2013-10-10 13:23:38 +02:00
parent a5d40a049d
commit a120ce2bb1
2 changed files with 4 additions and 5 deletions

View File

@@ -88,11 +88,10 @@ public class TypeBasedAggregationOperationContext implements AggregationOperatio
*/
@Override
public FieldReference getReference(String name) {
PropertyPath path = PropertyPath.from(name, type);
PersistentPropertyPath<MongoPersistentProperty> propertyPath = mappingContext.getPersistentPropertyPath(path);
PersistentPropertyPath<MongoPersistentProperty> propertyPath = mappingContext.getPersistentPropertyPath(name, type);
return getReferenceFor(field(path.getLeafProperty().getSegment(),
return getReferenceFor(field(propertyPath.getLeafProperty().getName(),
propertyPath.toDotPath(MongoPersistentProperty.PropertyToFieldNameConverter.INSTANCE)));
}

View File

@@ -23,7 +23,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import org.springframework.data.mapping.PropertyReferenceException;
import org.springframework.data.mapping.model.MappingException;
import org.springframework.data.mongodb.MongoDbFactory;
import org.springframework.data.mongodb.core.convert.MappingMongoConverter;
import org.springframework.data.mongodb.core.convert.QueryMapper;
@@ -56,7 +56,7 @@ public class TypeBasedAggregationOperationContextUnitTests {
assertThat(getContext(Foo.class).getReference("bar"), is(notNullValue()));
}
@Test(expected = PropertyReferenceException.class)
@Test(expected = MappingException.class)
public void rejectsInvalidFieldReference() {
getContext(Foo.class).getReference("foo");
}