Skip to content

Commit 84c958a

Browse files
committed
Fix WildcardTrie trailing wildcard not matching prefix. (#651)
1 parent a6ea2b7 commit 84c958a

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

metafacture-commons/src/main/java/org/metafacture/commons/tries/WildcardTrie.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,10 @@ public List<P> get(final String key) {
9797
Node<P> temp = node.getNext(key.charAt(i));
9898
if (temp != null) {
9999
nextNodes.add(temp);
100+
temp = temp.getNext(STAR_WILDCARD);
101+
if (temp != null) {
102+
nextNodes.add(temp);
103+
}
100104
}
101105
temp = node.getNext(Q_WILDCARD);
102106
if (temp != null) {

metafacture-commons/src/test/java/org/metafacture/commons/tries/WildcardTrieTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ public void testWithStarWildcard() {
8989

9090
@Test
9191
public void testWithTrailingStarWildcard() {
92-
assertTrie(A_STAR, AABB, AACBB, AB, ABBC, ABC, ACB);
92+
assertTrie(A_STAR, A, AABB, AACBB, AB, ABBC, ABC, ACB);
9393
assertList(AABB, A_STAR, AABB);
9494
assertList(AACBB, A_STAR, AACBB);
9595
}
@@ -104,7 +104,7 @@ public void testWithInitialStarWildcard() {
104104
@Test
105105
public void testWithMultipleStarWildcards() {
106106
assertTrie(STAR_B, AABB, AACBB, AB, ACB, B, CCB);
107-
assertTrie(A_STAR, AABB, AACBB, AB, ABC, ABBC, ACB);
107+
assertTrie(A_STAR, A, AABB, AACBB, AB, ABC, ABBC, ACB);
108108
assertTrie(A_STAR_B, AABB, AACBB, AB, ACB);
109109
assertList(AACBB, STAR_B, A_STAR, A_STAR_B, AACBB);
110110

0 commit comments

Comments
 (0)