in dubbo-admin-server/src/main/java/org/apache/dubbo/admin/common/util/ParseUtils.java [98:127]
public static boolean isMatchGlobPattern(String pattern, String value) {
if ("*".equals(pattern))
return true;
if ((pattern == null || pattern.length() == 0)
&& (value == null || value.length() == 0))
return true;
if ((pattern == null || pattern.length() == 0)
|| (value == null || value.length() == 0))
return false;
int i = pattern.lastIndexOf('*');
// No asterisk found
if (i == -1) {
return value.equals(pattern);
}
// Asterisk at the end
else if (i == pattern.length() - 1) {
return value.startsWith(pattern.substring(0, i));
}
// Asterisk at the beginning
else if (i == 0) {
return value.endsWith(pattern.substring(i + 1));
}
// Asterisk in the middle of the string
else {
String prefix = pattern.substring(0, i);
String suffix = pattern.substring(i + 1);
return value.startsWith(prefix) && value.endsWith(suffix);
}
}