From e2d6f187c274408c6f73ded4bafa58958f9d0f8c Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Wed, 1 Mar 2017 08:17:57 +0100 Subject: [PATCH] DATAMONGO-1603 - Polishing. Remove code that became unused. Reformat code. Extend years in copyright header. Original pull request: #441. --- .../ExpressionEvaluatingParameterBinder.java | 46 +++++++++---------- .../query/StringBasedMongoQuery.java | 2 +- .../query/StringBasedMongoQueryUnitTests.java | 19 +++----- 3 files changed, 29 insertions(+), 38 deletions(-) diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/ExpressionEvaluatingParameterBinder.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/ExpressionEvaluatingParameterBinder.java index b1e9328e5..a47ee3e29 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/ExpressionEvaluatingParameterBinder.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/ExpressionEvaluatingParameterBinder.java @@ -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); } /** diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/StringBasedMongoQuery.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/StringBasedMongoQuery.java index 8f9a3728a..0a1c1f1b8 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/StringBasedMongoQuery.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/StringBasedMongoQuery.java @@ -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. diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/StringBasedMongoQueryUnitTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/StringBasedMongoQueryUnitTests.java index dee1a399e..00a166c13 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/StringBasedMongoQueryUnitTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/StringBasedMongoQueryUnitTests.java @@ -24,13 +24,9 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.regex.Pattern; import javax.xml.bind.DatatypeConverter; -import com.mongodb.BasicDBObject; -import com.mongodb.DBObject; -import com.mongodb.util.JSON; import org.bson.BSON; import org.bson.BsonRegularExpression; import org.bson.Document; @@ -446,8 +442,8 @@ public class StringBasedMongoQueryUnitTests { ConvertingParameterAccessor accessor = StubParameterAccessor.getAccessor(converter, "calamity", "regalia"); org.springframework.data.mongodb.core.query.Query query = mongoQuery.createQuery(accessor); - assertThat(query.getQueryObject(), is(new Document().append("arg0", "calamity") - .append("arg1", "regalia").append("arg2", "calamity"))); + assertThat(query.getQueryObject(), + is(new Document().append("arg0", "calamity").append("arg1", "regalia").append("arg2", "calamity"))); } @Test // DATAMONGO-1603 @@ -458,8 +454,8 @@ public class StringBasedMongoQueryUnitTests { ConvertingParameterAccessor accessor = StubParameterAccessor.getAccessor(converter, "calamity", "regalia"); org.springframework.data.mongodb.core.query.Query query = mongoQuery.createQuery(accessor); - assertThat(query.getQueryObject(), is(new Document().append("arg0", "calamity") - .append("arg1", "regalia").append("arg2", "calamity"))); + assertThat(query.getQueryObject(), + is(new Document().append("arg0", "calamity").append("arg1", "regalia").append("arg2", "calamity"))); } @Test // DATAMONGO-1603 @@ -470,8 +466,8 @@ public class StringBasedMongoQueryUnitTests { ConvertingParameterAccessor accessor = StubParameterAccessor.getAccessor(converter, "calamity", "regalia"); org.springframework.data.mongodb.core.query.Query query = mongoQuery.createQuery(accessor); - assertThat(query.getQueryObject(), is(new Document().append("arg0", "calamity") - .append("arg1", "regalia").append("arg2", "calamitys"))); + assertThat(query.getQueryObject(), + is(new Document().append("arg0", "calamity").append("arg1", "regalia").append("arg2", "calamitys"))); } @Test // DATAMONGO-1603 @@ -482,8 +478,7 @@ public class StringBasedMongoQueryUnitTests { ConvertingParameterAccessor accessor = StubParameterAccessor.getAccessor(converter, "calamity", "regalia"); org.springframework.data.mongodb.core.query.Query query = mongoQuery.createQuery(accessor); - assertThat(query.getQueryObject(), - is(new Document().append("arg0", "calamity").append("arg1", "regalias"))); + assertThat(query.getQueryObject(), is(new Document().append("arg0", "calamity").append("arg1", "regalias"))); } @Test // DATAMONGO-1603