Browse Source

DATAMONGO-776 - Improvement in TypeBasedAggregationOperationContext.

TypeBasedAggregationOperationContext's getReference(…) doesn't use a PropertyPath anymore to avoid running the camel case property resolution.
pull/82/head
Oliver Gierke 12 years ago
parent
commit
a120ce2bb1
  1. 5
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/TypeBasedAggregationOperationContext.java
  2. 4
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/aggregation/TypeBasedAggregationOperationContextUnitTests.java

5
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/aggregation/TypeBasedAggregationOperationContext.java

@ -88,11 +88,10 @@ public class TypeBasedAggregationOperationContext implements AggregationOperatio @@ -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)));
}

4
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/aggregation/TypeBasedAggregationOperationContextUnitTests.java

@ -23,7 +23,7 @@ import org.junit.Test; @@ -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 { @@ -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");
}

Loading…
Cancel
Save