Skip to content

Commit 7ada3a9

Browse files
sliceofapplepiesureshanaparti
authored andcommitted
Pre-compile regex in Rule.java
1 parent 3e688b0 commit 7ada3a9

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

  • api/src/main/java/org/apache/cloudstack/acl

api/src/main/java/org/apache/cloudstack/acl/Rule.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,18 @@
2525

2626
public final class Rule {
2727
private final String rule;
28+
private final Pattern compiledPattern;
2829
private final static Pattern ALLOWED_PATTERN = Pattern.compile("^[a-zA-Z0-9*]+$");
2930

3031
public Rule(final String rule) {
3132
validate(rule);
3233
this.rule = rule;
34+
this.compiledPattern = Pattern.compile(rule.toLowerCase().replace("*", "\\w*"));
3335
}
3436

3537
public boolean matches(final String commandName) {
3638
return StringUtils.isNotEmpty(commandName)
37-
&& commandName.toLowerCase().matches(rule.toLowerCase().replace("*", "\\w*"));
39+
&& compiledPattern.matcher(commandName.toLowerCase()).matches();
3840
}
3941

4042
public String getRuleString() {

0 commit comments

Comments
 (0)