Skip to content

Commit aa093bd

Browse files
committed
Polish string matcher and path matcher
1 parent 1a4d900 commit aa093bd

File tree

8 files changed

+14
-47
lines changed

8 files changed

+14
-47
lines changed

commons-utils/src/main/java/io/onedev/commons/utils/PathUtils.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,8 @@
99

1010
import com.google.common.base.Splitter;
1111

12-
import io.onedev.commons.utils.stringmatch.ChildAwareMatcher;
13-
import io.onedev.commons.utils.stringmatch.Matcher;
14-
1512
public class PathUtils {
1613

17-
private static final Matcher CHILDAWARE_MATCHER = new ChildAwareMatcher();
18-
1914
/**
2015
* Match specified path against a collection of base paths to find out the longest match.
2116
* For instance, if collection contains /path1/path2/path3 and /path1/path2, the eager
@@ -102,10 +97,6 @@ public static String parseRelative(String longPath, String shortPath) {
10297
return null;
10398
}
10499

105-
public static boolean matchChildAware(String pattern, String value) {
106-
return CHILDAWARE_MATCHER.matches(pattern, value);
107-
}
108-
109100
/**
110101
* Normalize a path separated with forward slash to remove single and double dots.
111102
* Adapted from FilenameUtils.normalize(filename)

commons-utils/src/main/java/io/onedev/commons/utils/stringmatch/Matcher.java renamed to commons-utils/src/main/java/io/onedev/commons/utils/match/Matcher.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.onedev.commons.utils.stringmatch;
1+
package io.onedev.commons.utils.match;
22

33
public interface Matcher {
44
boolean matches(String pattern, String value);
Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* specific language governing permissions and limitations
1717
* under the License.
1818
*/
19-
package io.onedev.commons.utils.stringmatch;
19+
package io.onedev.commons.utils.match;
2020

2121
import io.onedev.commons.utils.StringUtils;
2222

@@ -59,9 +59,9 @@
5959
*
6060
* @since 16.07.2003
6161
*/
62-
public class WildcardPathMatcher implements Matcher {
62+
public class PathMatcher implements Matcher {
6363

64-
private static final Matcher STRING_MATCHER = new WildcardStringMatcher();
64+
private static final Matcher STRING_MATCHER = new StringMatcher();
6565

6666
//TODO - complete JavaDoc
6767

@@ -86,7 +86,10 @@ public boolean isPattern(String path) {
8686
return (path.indexOf('*') != -1 || path.indexOf('?') != -1);
8787
}
8888

89+
@Override
8990
public boolean matches(String pattern, String str) {
91+
if (pattern.endsWith("/"))
92+
pattern += "**";
9093
return doMatch(pattern, str, true);
9194
}
9295

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.onedev.commons.utils.stringmatch;
1+
package io.onedev.commons.utils.match;
22

33
import java.io.Serializable;
44

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package io.onedev.commons.utils.stringmatch;
1+
package io.onedev.commons.utils.match;
22

3-
public class WildcardStringMatcher implements Matcher {
3+
public class StringMatcher implements Matcher {
44

55
@Override
66
public boolean matches(String pattern, String str) {
Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.onedev.commons.utils.stringmatch;
1+
package io.onedev.commons.utils.match;
22

33
import java.util.ArrayList;
44
import java.util.List;
@@ -9,9 +9,9 @@
99

1010
public class WildcardUtils {
1111

12-
private static final Matcher PATH_MATCHER = new WildcardPathMatcher();
12+
private static final Matcher PATH_MATCHER = new PathMatcher();
1313

14-
private static final Matcher STRING_MATCHER = new WildcardStringMatcher();
14+
private static final Matcher STRING_MATCHER = new StringMatcher();
1515

1616
/**
1717
* Tests whether or not a given path matches a given pattern using of
@@ -47,10 +47,6 @@ public static boolean matchString(String pattern, String str) {
4747
return STRING_MATCHER.matches(pattern, str);
4848
}
4949

50-
public static boolean hasWildcards(String str) {
51-
return (str.indexOf('*') != -1 || str.indexOf('?') != -1);
52-
}
53-
5450
private static int indexOf(String str, String substr, int index) {
5551
if (index >= str.length()) {
5652
return (substr.length() == 0 ? str.length(): -1);

commons-utils/src/main/java/io/onedev/commons/utils/stringmatch/ChildAwareMatcher.java

Lines changed: 0 additions & 23 deletions
This file was deleted.

commons-utils/src/test/java/io/onedev/commons/utils/stringmatch/WildcardUtilsTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package io.onedev.commons.utils.stringmatch;
22

3-
import static io.onedev.commons.utils.stringmatch.WildcardUtils.*;
3+
import static io.onedev.commons.utils.match.WildcardUtils.*;
44
import static org.junit.Assert.*;
55

66
import org.junit.Test;

0 commit comments

Comments
 (0)