diff --git a/symmetric-util/src/main/java/org/jumpmind/util/FormatUtils.java b/symmetric-util/src/main/java/org/jumpmind/util/FormatUtils.java index 58b32387c3..9bd6d37998 100644 --- a/symmetric-util/src/main/java/org/jumpmind/util/FormatUtils.java +++ b/symmetric-util/src/main/java/org/jumpmind/util/FormatUtils.java @@ -182,8 +182,10 @@ public static boolean isWildCardMatch(String text, String pattern) { String card = cards[i]; boolean foundToken = false; - if (i == 0 && !pattern.startsWith("*")) { + if (i == 0 && !pattern.startsWith("*") && pattern.endsWith("*")) { foundToken = text.startsWith(card); + } else if (i == 0 && !pattern.startsWith("*")) { + foundToken = text.equals(card); } else { foundToken = text.indexOf(card) != -1; } diff --git a/symmetric-util/src/test/java/org/jumpmind/util/FormatUtilsTest.java b/symmetric-util/src/test/java/org/jumpmind/util/FormatUtilsTest.java index 202e344d39..267b5c99e2 100644 --- a/symmetric-util/src/test/java/org/jumpmind/util/FormatUtilsTest.java +++ b/symmetric-util/src/test/java/org/jumpmind/util/FormatUtilsTest.java @@ -56,6 +56,7 @@ public void testIsWildcardMatch() { assertFalse(FormatUtils.isWildCardMatch("NOT_A_MATCH", "TEST_*")); assertFalse(FormatUtils.isWildCardMatch("NOT_A_MATCH_TEST_1", "TEST_*")); assertTrue(FormatUtils.isWildCardMatch("NOT_A_MATCH_TEST_1", "*TEST*")); + assertFalse(FormatUtils.isWildCardMatch("TEST_12", "TEST_1")); assertFalse(FormatUtils.isWildCardMatch("B_A", "*A*B")); assertTrue(FormatUtils.isWildCardMatch("A_B", "*A*B")); assertFalse(FormatUtils.isWildCardMatch("TEST_NO_MATCH", "TEST_*,!TEST_NO_MATCH"));