Skip to content

Commit 3eabb3a

Browse files
ebuildycbuescher
authored andcommitted
Enforce validation for PathHierarchy tokenizer (#23510)
If delimiter or replacement parameter are an empty string, the error is not clear enough to indicate how to fix it. With this change, the user knows these parameter must be a non empty string.
1 parent 1b0c93b commit 3eabb3a

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

core/src/main/java/org/elasticsearch/index/analysis/PathHierarchyTokenizerFactory.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,17 +41,17 @@ public PathHierarchyTokenizerFactory(IndexSettings indexSettings, Environment en
4141
String delimiter = settings.get("delimiter");
4242
if (delimiter == null) {
4343
this.delimiter = PathHierarchyTokenizer.DEFAULT_DELIMITER;
44-
} else if (delimiter.length() > 1) {
45-
throw new IllegalArgumentException("delimiter can only be a one char value");
44+
} else if (delimiter.length() != 1) {
45+
throw new IllegalArgumentException("delimiter must be a one char value");
4646
} else {
4747
this.delimiter = delimiter.charAt(0);
4848
}
4949

5050
String replacement = settings.get("replacement");
5151
if (replacement == null) {
5252
this.replacement = this.delimiter;
53-
} else if (replacement.length() > 1) {
54-
throw new IllegalArgumentException("replacement can only be a one char value");
53+
} else if (replacement.length() != 1) {
54+
throw new IllegalArgumentException("replacement must be a one char value");
5555
} else {
5656
this.replacement = replacement.charAt(0);
5757
}

0 commit comments

Comments
 (0)