Browse Source

DATACMNS-363 - Revert support for unicode characters in in query method names.

This reverts commit f7679d41b8 as it introduced every Or in query method names to be considered a keyword.
pull/73/merge
Oliver Gierke 13 years ago
parent
commit
5c0f2ea157
  1. 6
      src/main/java/org/springframework/data/repository/query/parser/PartTree.java
  2. 15
      src/test/java/org/springframework/data/repository/query/parser/PartTreeUnitTests.java

6
src/main/java/org/springframework/data/repository/query/parser/PartTree.java

@ -34,13 +34,11 @@ import org.springframework.util.StringUtils; @@ -34,13 +34,11 @@ import org.springframework.util.StringUtils;
* each query execution.
*
* @author Oliver Gierke
* @author Thomas Darimont
*/
public class PartTree implements Iterable<OrPart> {
private static final Pattern PREFIX_TEMPLATE = Pattern
.compile("^(find|read|get|count)((\\p{Lu}|\\P{M}\\p{M}*+).*?)??By");
private static final String KEYWORD_TEMPLATE = "(%s)(?=(\\p{Lu}|\\P{M}\\p{M}*+))";
private static final Pattern PREFIX_TEMPLATE = Pattern.compile("^(find|read|get|count)(\\p{Lu}.*?)??By");
private static final String KEYWORD_TEMPLATE = "(%s)(?=\\p{Lu})";
/**
* The subject, for example "findDistinctUserByNameOrderByAge" would have the subject "DistinctUser".

15
src/test/java/org/springframework/data/repository/query/parser/PartTreeUnitTests.java

@ -40,7 +40,6 @@ import org.springframework.data.repository.query.parser.PartTree.OrPart; @@ -40,7 +40,6 @@ import org.springframework.data.repository.query.parser.PartTree.OrPart;
*
* @author Oliver Gierke
* @author Phillip Webb
* @author Thomas Darimont
*/
public class PartTreeUnitTests {
@ -358,17 +357,6 @@ public class PartTreeUnitTests { @@ -358,17 +357,6 @@ public class PartTreeUnitTests {
assertThat(new PartTree("findByCategoryId", Product.class), is(notNullValue()));
}
/**
* @see DATACMNS-363
*/
@Test
public void supportNonLowercaseUnicodeAttributeNamesInQueryMethodNames() throws Exception {
PartTree tree = new PartTree("findBy생일And이름", DomainObjectWithSpecialChars.class);
assertPart(tree, new Part[] { new Part("생일", DomainObjectWithSpecialChars.class),
new Part("이름", DomainObjectWithSpecialChars.class) });
}
private static void assertType(Iterable<String> sources, Type type, String property) {
assertType(sources, type, property, 1, true);
}
@ -446,9 +434,6 @@ public class PartTreeUnitTests { @@ -446,9 +434,6 @@ public class PartTreeUnitTests {
class DomainObjectWithSpecialChars {
String øre;
String år;
String 생일; // Birthday
String 이름; // Name
}
interface Product {

Loading…
Cancel
Save