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]

Reply via email to