Author: tfmorris Date: 2008-08-29 01:08:09-0700 New Revision: 15645 Modified: trunk/src/argouml-app/src/org/argouml/util/PredicateStringMatch.java
Log: issue 5354: Optimize matching of a single wildcard character Modified: trunk/src/argouml-app/src/org/argouml/util/PredicateStringMatch.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/util/PredicateStringMatch.java?view=diff&rev=15645&p1=trunk/src/argouml-app/src/org/argouml/util/PredicateStringMatch.java&p2=trunk/src/argouml-app/src/org/argouml/util/PredicateStringMatch.java&r1=15644&r2=15645 ============================================================================== --- trunk/src/argouml-app/src/org/argouml/util/PredicateStringMatch.java (original) +++ trunk/src/argouml-app/src/org/argouml/util/PredicateStringMatch.java 2008-08-29 01:08:09-0700 @@ -26,6 +26,10 @@ import java.util.StringTokenizer; +/** + * Predicate to match strings/substrings. It only supports simple + * wildcard processing, not full regex style matching. + */ public class PredicateStringMatch implements Predicate { public static int MAX_PATS = 10; @@ -41,6 +45,9 @@ public static Predicate create(String pattern) { pattern = pattern.trim(); + if ("*".equals(pattern) || "".equals(pattern)) { + return PredicateTrue.getInstance(); + } String pats[] = new String[MAX_PATS]; int count = 0; if (pattern.startsWith("*")) { --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
