DATAMONGO-1269 - Polishing.

Original pull request: #314.
This commit is contained in:
Oliver Gierke
2015-08-06 10:53:12 +02:00
parent e0b8f5b566
commit 855c9d4fab

View File

@@ -879,10 +879,14 @@ public class QueryMapper {
private final KeyMapper keyMapper;
PositionParameterRetainingPropertyKeyConverter(String rawKey) {
public PositionParameterRetainingPropertyKeyConverter(String rawKey) {
this.keyMapper = new KeyMapper(rawKey);
}
/*
* (non-Javadoc)
* @see org.springframework.core.convert.converter.Converter#convert(java.lang.Object)
*/
@Override
public String convert(MongoPersistentProperty source) {
return keyMapper.mapPropertyName(source);
@@ -916,7 +920,7 @@ public class QueryMapper {
*/
static class KeyMapper {
Iterator<String> iterator;
private final Iterator<String> iterator;
public KeyMapper(String key) {
@@ -933,14 +937,13 @@ public class QueryMapper {
protected String mapPropertyName(MongoPersistentProperty property) {
String mappedName = PropertyToFieldNameConverter.INSTANCE.convert(property);
boolean inspect = iterator.hasNext();
while (inspect) {
String partial = iterator.next();
boolean isPositional = (isPositionalParameter(partial) && (property.isMap() || property.isCollectionLike()));
boolean isPositional = (isPositionalParameter(partial) && (property.isMap() || property.isCollectionLike() || property
.isArray()));
if (isPositional) {
mappedName += "." + partial;
}
@@ -951,7 +954,7 @@ public class QueryMapper {
return mappedName;
}
boolean isPositionalParameter(String partial) {
private static boolean isPositionalParameter(String partial) {
if (partial.equals("$")) {
return true;
@@ -965,7 +968,6 @@ public class QueryMapper {
}
}
}
}
/**