DATAMONGO-1603 - Polishing.

Remove code that became unused. Reformat code. Extend years in copyright header.

Original pull request: #441.
This commit is contained in:
Mark Paluch
2017-03-01 08:17:57 +01:00
parent 5925b5133c
commit 6f138e641b
3 changed files with 41 additions and 45 deletions

View File

@@ -45,7 +45,7 @@ import com.mongodb.util.JSON;
/**
* {@link ExpressionEvaluatingParameterBinder} allows to evaluate, convert and bind parameters to placeholders within a
* {@link String}.
*
*
* @author Christoph Strobl
* @author Thomas Darimont
* @author Oliver Gierke
@@ -59,7 +59,7 @@ class ExpressionEvaluatingParameterBinder {
/**
* Creates new {@link ExpressionEvaluatingParameterBinder}
*
*
* @param expressionParser must not be {@literal null}.
* @param evaluationContextProvider must not be {@literal null}.
*/
@@ -76,7 +76,7 @@ class ExpressionEvaluatingParameterBinder {
/**
* Bind values provided by {@link MongoParameterAccessor} to placeholders in {@literal raw} while considering
* potential conversions and parameter types.
*
*
* @param raw can be {@literal null} or empty.
* @param accessor must not be {@literal null}.
* @param bindingContext must not be {@literal null}.
@@ -93,7 +93,7 @@ class ExpressionEvaluatingParameterBinder {
/**
* Replaced the parameter placeholders with the actual parameter values from the given {@link ParameterBinding}s.
*
*
* @param input must not be {@literal null} or empty.
* @param accessor must not be {@literal null}.
* @param bindingContext must not be {@literal null}.
@@ -264,38 +264,34 @@ class ExpressionEvaluatingParameterBinder {
*/
private Placeholder extractPlaceholder(int parameterIndex, Matcher matcher) {
if (matcher.groupCount() > 1) {
String rawPlaceholder = matcher.group(parameterIndex * 3 + 1);
String suffix = matcher.group(parameterIndex * 3 + 2);
String rawPlaceholder = matcher.group(parameterIndex * 3 + 1);
String suffix = matcher.group(parameterIndex * 3 + 2);
if (!StringUtils.hasText(rawPlaceholder)) {
if (!StringUtils.hasText(rawPlaceholder)) {
rawPlaceholder = matcher.group();
if(rawPlaceholder.matches(".*\\d$")) {
suffix = "";
} else {
int index = rawPlaceholder.replaceAll("[^\\?0-9]*$", "").length() - 1;
if (index > 0 && rawPlaceholder.length() > index) {
suffix = rawPlaceholder.substring(index+1);
}
}
if (QuotedString.endsWithQuote(rawPlaceholder)) {
rawPlaceholder = rawPlaceholder.substring(0, rawPlaceholder.length() - (StringUtils.hasText(suffix) ? suffix.length() : 1));
rawPlaceholder = matcher.group();
if (rawPlaceholder.matches(".*\\d$")) {
suffix = "";
} else {
int index = rawPlaceholder.replaceAll("[^\\?0-9]*$", "").length() - 1;
if (index > 0 && rawPlaceholder.length() > index) {
suffix = rawPlaceholder.substring(index + 1);
}
}
if (StringUtils.hasText(suffix)) {
boolean quoted = QuotedString.endsWithQuote(suffix);
return Placeholder.of(parameterIndex, rawPlaceholder, quoted,
quoted ? QuotedString.unquoteSuffix(suffix) : suffix);
if (QuotedString.endsWithQuote(rawPlaceholder)) {
rawPlaceholder = rawPlaceholder.substring(0,
rawPlaceholder.length() - (StringUtils.hasText(suffix) ? suffix.length() : 1));
}
return Placeholder.of(parameterIndex, rawPlaceholder, false, null);
}
return Placeholder.of(parameterIndex, matcher.group(), false, null);
if (StringUtils.hasText(suffix)) {
boolean quoted = QuotedString.endsWithQuote(suffix);
return Placeholder.of(parameterIndex, rawPlaceholder, quoted,
quoted ? QuotedString.unquoteSuffix(suffix) : suffix);
}
return Placeholder.of(parameterIndex, rawPlaceholder, false, null);
}
/**

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2011-2016 the original author or authors.
* Copyright 2011-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -38,7 +38,7 @@ import com.mongodb.util.JSON;
/**
* Query to use a plain JSON String to create the {@link Query} to actually execute.
*
*
* @author Oliver Gierke
* @author Christoph Strobl
* @author Thomas Darimont
@@ -61,7 +61,7 @@ public class StringBasedMongoQuery extends AbstractMongoQuery {
/**
* Creates a new {@link StringBasedMongoQuery} for the given {@link MongoQueryMethod} and {@link MongoOperations}.
*
*
* @param method must not be {@literal null}.
* @param mongoOperations must not be {@literal null}.
* @param expressionParser must not be {@literal null}.
@@ -99,7 +99,6 @@ public class StringBasedMongoQuery extends AbstractMongoQuery {
this.parameterBinder = new ExpressionEvaluatingParameterBinder(expressionParser, evaluationContextProvider);
if (method.hasAnnotatedQuery()) {
org.springframework.data.mongodb.repository.Query queryAnnotation = method.getQueryAnnotation();
@@ -127,10 +126,10 @@ public class StringBasedMongoQuery extends AbstractMongoQuery {
@Override
protected Query createQuery(ConvertingParameterAccessor accessor) {
String queryString = parameterBinder.bind(this.query, accessor, new BindingContext(getQueryMethod()
.getParameters(), queryParameterBindings));
String fieldsString = parameterBinder.bind(this.fieldSpec, accessor, new BindingContext(getQueryMethod()
.getParameters(), fieldSpecParameterBindings));
String queryString = parameterBinder.bind(this.query, accessor,
new BindingContext(getQueryMethod().getParameters(), queryParameterBindings));
String fieldsString = parameterBinder.bind(this.fieldSpec, accessor,
new BindingContext(getQueryMethod().getParameters(), fieldSpecParameterBindings));
Query query = new BasicQuery(queryString, fieldsString).with(accessor.getSort());
@@ -141,7 +140,7 @@ public class StringBasedMongoQuery extends AbstractMongoQuery {
return query;
}
/*
/*
* (non-Javadoc)
* @see org.springframework.data.mongodb.repository.query.AbstractMongoQuery#isCountQuery()
*/
@@ -168,7 +167,8 @@ public class StringBasedMongoQuery extends AbstractMongoQuery {
return this.isDeleteQuery;
}
private static boolean hasAmbiguousProjectionFlags(boolean isCountQuery, boolean isExistsQuery, boolean isDeleteQuery) {
private static boolean hasAmbiguousProjectionFlags(boolean isCountQuery, boolean isExistsQuery,
boolean isDeleteQuery) {
return countBooleanValues(isCountQuery, isExistsQuery, isDeleteQuery) > 1;
}
@@ -188,7 +188,7 @@ public class StringBasedMongoQuery extends AbstractMongoQuery {
/**
* A parser that extracts the parameter bindings from a given query string.
*
*
* @author Thomas Darimont
*/
private enum ParameterBindingParser {
@@ -211,7 +211,7 @@ public class StringBasedMongoQuery extends AbstractMongoQuery {
/**
* Returns a list of {@link ParameterBinding}s found in the given {@code input} or an
* {@link Collections#emptyList()}.
*
*
* @param input can be {@literal null} or empty.
* @param bindings must not be {@literal null}.
* @return
@@ -306,7 +306,7 @@ public class StringBasedMongoQuery extends AbstractMongoQuery {
int paramIndex = Integer.parseInt(valueMatcher.group(PARAMETER_INDEX_GROUP));
/*
* The pattern is used as a direct parameter replacement, e.g. 'field': ?1,
* The pattern is used as a direct parameter replacement, e.g. 'field': ?1,
* therefore we treat it as not quoted to remain backwards compatible.
*/
boolean quoted = !string.equals(PARAMETER_PREFIX + paramIndex);
@@ -356,7 +356,7 @@ public class StringBasedMongoQuery extends AbstractMongoQuery {
/**
* A generic parameter binding with name or position information.
*
*
* @author Thomas Darimont
*/
static class ParameterBinding {
@@ -367,7 +367,7 @@ public class StringBasedMongoQuery extends AbstractMongoQuery {
/**
* Creates a new {@link ParameterBinding} with the given {@code parameterIndex} and {@code quoted} information.
*
*
* @param parameterIndex
* @param quoted whether or not the parameter is already quoted.
*/

View File

@@ -60,7 +60,7 @@ import com.mongodb.util.JSON;
/**
* Unit tests for {@link StringBasedMongoQuery}.
*
*
* @author Oliver Gierke
* @author Christoph Strobl
* @author Thomas Darimont