Browse Source

Polishing.

Minor formatting and documentation improvements.

See #2182
Original pull request #2189
pull/2200/merge
Jens Schauder 1 day ago
parent
commit
66c9a4c733
No known key found for this signature in database
GPG Key ID: 2BE5D185CD2A1CE6
  1. 9
      spring-data-relational/src/main/java/org/springframework/data/relational/core/dialect/Escaper.java
  2. 2
      spring-data-relational/src/test/java/org/springframework/data/relational/core/dialect/EscaperUnitTests.java

9
spring-data-relational/src/main/java/org/springframework/data/relational/core/dialect/Escaper.java

@ -22,7 +22,7 @@ import java.util.List;
import org.jspecify.annotations.Nullable; import org.jspecify.annotations.Nullable;
/** /**
* Helper class encapsulating an escape character for LIKE queries and the actually usage of it in escaping * Helper class encapsulating an escape character for LIKE queries and the actual usage of it in escaping
* {@link String}s. * {@link String}s.
* *
* @author Roman Chigvintsev * @author Roman Chigvintsev
@ -49,11 +49,11 @@ public class Escaper {
} }
/** /**
* Creates new instance of this class with the given escape character. * Creates a new instance of this class with the given escape character.
* *
* @param escapeCharacter escape character * @param escapeCharacter escape character
* @return new instance of {@link Escaper}. * @return new instance of {@link Escaper}.
* @throws IllegalArgumentException if escape character is one of special characters ('_' and '%') * @throws IllegalArgumentException if the escape character is one of special characters ('_' and '%')
*/ */
public static Escaper of(char escapeCharacter) { public static Escaper of(char escapeCharacter) {
return new Escaper(escapeCharacter, Arrays.asList("_", "%")); return new Escaper(escapeCharacter, Arrays.asList("_", "%"));
@ -63,7 +63,7 @@ public class Escaper {
* Apply the {@link Escaper} to the given {@code chars}. * Apply the {@link Escaper} to the given {@code chars}.
* *
* @param chars characters/char sequences that should be escaped. * @param chars characters/char sequences that should be escaped.
* @return * @return a new {@link Escaper} instance with the given characters added to the list of characters to be escaped.
*/ */
public Escaper withRewriteFor(String... chars) { public Escaper withRewriteFor(String... chars) {
@ -101,6 +101,7 @@ public class Escaper {
for (String character : toReplace) { for (String character : toReplace) {
escapedValue = escapedValue.replace(character, escapeCharacter + character); escapedValue = escapedValue.replace(character, escapeCharacter + character);
} }
return escapedValue; return escapedValue;
} }
} }

2
spring-data-relational/src/test/java/org/springframework/data/relational/core/dialect/EscaperUnitTests.java

@ -76,11 +76,11 @@ public class EscaperUnitTests {
@Test // GH-2182 @Test // GH-2182
public void escapesCharactersUsingDefaultEscapeCharacter() { public void escapesCharactersUsingDefaultEscapeCharacter() {
assertThat(Escaper.DEFAULT.escape("%te\\st_")).isEqualTo("\\%te\\\\st\\_"); assertThat(Escaper.DEFAULT.escape("%te\\st_")).isEqualTo("\\%te\\\\st\\_");
//assertThat(Escaper.of('$').escape("_%")).isEqualTo("$_$%");
} }
@Test // GH-2182 @Test // GH-2182
public void escapesCharactersUsingCustomEscapeCharacter() { public void escapesCharactersUsingCustomEscapeCharacter() {
assertThat(Escaper.DEFAULT.escape("%te\\st_")).isEqualTo("\\%te\\\\st\\_"); assertThat(Escaper.DEFAULT.escape("%te\\st_")).isEqualTo("\\%te\\\\st\\_");
assertThat(Escaper.of('$').escape("%te$st_")).isEqualTo("$%te$$st$_"); assertThat(Escaper.of('$').escape("%te$st_")).isEqualTo("$%te$$st$_");
} }

Loading…
Cancel
Save