Browse Source

Polishing.

Minor formatting.
Replaced a while loop that ends with a return with an if.

See: #5095
4.5.x
Jens Schauder 1 month ago committed by Christoph Strobl
parent
commit
81bd4e5891
No known key found for this signature in database
GPG Key ID: E6054036D0C37A4B
  1. 11
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/util/json/ParameterBindingJsonReader.java
  2. 2
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/AbstractPersonRepositoryIntegrationTests.java

11
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/util/json/ParameterBindingJsonReader.java

@ -68,8 +68,13 @@ public class ParameterBindingJsonReader extends AbstractBsonReader { @@ -68,8 +68,13 @@ public class ParameterBindingJsonReader extends AbstractBsonReader {
private static final Pattern PARAMETER_BINDING_PATTERN = Pattern.compile("\\?(\\d+)");
private static final Pattern EXPRESSION_BINDING_PATTERN = Pattern.compile("[\\?:][#$]\\{.*\\}");
private static final Pattern SPEL_PARAMETER_BINDING_PATTERN = Pattern.compile("('\\?(\\d+)'|\\?(\\d+))");
private static final String QUOTE_START = "\\Q";
private static final String ESCAPED_QUOTE_START = "\\" + QUOTE_START;
private static final String QUOTE_REPLACEMENT_QUOTE_START = Matcher.quoteReplacement(ESCAPED_QUOTE_START);
private static final String QUOTE_END = "\\E";
private static final String ESCAPED_QUOTE_END = "\\" + QUOTE_END;
private static final String QUOTE_REPLACEMENT_QUOTE_END = Matcher.quoteReplacement(ESCAPED_QUOTE_END);
private final ParameterBindingContext bindingContext;
@ -421,7 +426,7 @@ public class ParameterBindingJsonReader extends AbstractBsonReader { @@ -421,7 +426,7 @@ public class ParameterBindingJsonReader extends AbstractBsonReader {
Matcher regexMatcher = EXPRESSION_BINDING_PATTERN.matcher(computedValue);
while (regexMatcher.find()) {
if (regexMatcher.find()) {
String binding = regexMatcher.group();
String expression = binding.substring(3, binding.length() - 1);
@ -461,8 +466,8 @@ public class ParameterBindingJsonReader extends AbstractBsonReader { @@ -461,8 +466,8 @@ public class ParameterBindingJsonReader extends AbstractBsonReader {
String bindValue = nullSafeToString(getBindableValueForIndex(index));
if(isQuoted(tokenValue)) {
bindValue = bindValue.replaceAll("\\%s".formatted(QUOTE_START), Matcher.quoteReplacement("\\%s".formatted(QUOTE_START))) //
.replaceAll("\\%s".formatted(QUOTE_END), Matcher.quoteReplacement("\\%s".formatted(QUOTE_END)));
bindValue = bindValue.replaceAll(ESCAPED_QUOTE_START, QUOTE_REPLACEMENT_QUOTE_START) //
.replaceAll(ESCAPED_QUOTE_END, QUOTE_REPLACEMENT_QUOTE_END);
}
computedValue = computedValue.replace(group, bindValue);
}

2
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/AbstractPersonRepositoryIntegrationTests.java

@ -728,7 +728,7 @@ public abstract class AbstractPersonRepositoryIntegrationTests implements Dirtie @@ -728,7 +728,7 @@ public abstract class AbstractPersonRepositoryIntegrationTests implements Dirtie
assertThat(result.get(0)).isEqualTo(dave);
}
@Test // DATAMONGO-770
@Test
void findByFirstnameStartingWith() {
String inputString = "\\E.*\\Q";

Loading…
Cancel
Save