You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by oz...@apache.org on 2005/02/13 17:16:55 UTC

svn commit: r153637 - in jakarta/commons/proper/digester/branches/digester2/src: java/org/apache/commons/digester2/Path.java java/org/apache/commons/digester2/SupplementaryRuleManager.java test/org/apache/commons/digester2/SupplementaryRuleManagerTestCase.java

Author: ozeigermann
Date: Sun Feb 13 08:16:53 2005
New Revision: 153637

URL: http://svn.apache.org/viewcvs?view=rev&rev=153637
Log:
Moved match methods into supplementary rule manager

Modified:
    jakarta/commons/proper/digester/branches/digester2/src/java/org/apache/commons/digester2/Path.java
    jakarta/commons/proper/digester/branches/digester2/src/java/org/apache/commons/digester2/SupplementaryRuleManager.java
    jakarta/commons/proper/digester/branches/digester2/src/test/org/apache/commons/digester2/SupplementaryRuleManagerTestCase.java

Modified: jakarta/commons/proper/digester/branches/digester2/src/java/org/apache/commons/digester2/Path.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/digester/branches/digester2/src/java/org/apache/commons/digester2/Path.java?view=diff&r1=153636&r2=153637
==============================================================================
--- jakarta/commons/proper/digester/branches/digester2/src/java/org/apache/commons/digester2/Path.java (original)
+++ jakarta/commons/proper/digester/branches/digester2/src/java/org/apache/commons/digester2/Path.java Sun Feb 13 08:16:53 2005
@@ -142,32 +142,6 @@
         localNames.clear();
     }
     
-    public boolean matches(String pathToMatch) {
-        if (pathToMatch.charAt(0) == '/') {
-            // absolute
-            return getPath().equals(pathToMatch);
-        } else {
-            // relative
-            // XXX looks wrong but protects a match of 
-            // "a/b" against a path of "/gotcha/b", but
-            // still allows
-            // "a/b" to match against "/a/b"
-            return getPath().endsWith("/" + pathToMatch);
-        }
-    }
-    
-    /** 
-     * Checks if this path matches any of the paths given. This means we iterate through 
-     * <code>pathsToMatch</code> and match every entry to this path.
-     */
-    public boolean matchsAny(String[] pathsToMatch) {
-        for (int i = 0; i < pathsToMatch.length; i++) {
-            if (matches(pathsToMatch[i]))
-                return true;
-        }
-        return false;
-    }
-
     public String toString() {
         return getPath();
     }

Modified: jakarta/commons/proper/digester/branches/digester2/src/java/org/apache/commons/digester2/SupplementaryRuleManager.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/digester/branches/digester2/src/java/org/apache/commons/digester2/SupplementaryRuleManager.java?view=diff&r1=153636&r2=153637
==============================================================================
--- jakarta/commons/proper/digester/branches/digester2/src/java/org/apache/commons/digester2/SupplementaryRuleManager.java (original)
+++ jakarta/commons/proper/digester/branches/digester2/src/java/org/apache/commons/digester2/SupplementaryRuleManager.java Sun Feb 13 08:16:53 2005
@@ -31,6 +31,32 @@
 
 public class SupplementaryRuleManager extends DefaultRuleManager {
 
+    public static boolean matches(String path, String pathToMatch) {
+        if (pathToMatch.charAt(0) == '/') {
+            // absolute
+            return path.equals(pathToMatch);
+        } else {
+            // relative
+            // XXX looks wrong but protects a match of 
+            // "a/b" against a path of "/gotcha/b", but
+            // still allows
+            // "a/b" to match against "/a/b"
+            return path.endsWith("/" + pathToMatch);
+        }
+    }
+    
+    /** 
+     * Checks if this path matches any of the paths given. This means we iterate through 
+     * <code>pathsToMatch</code> and match every entry to this path.
+     */
+    public static boolean matchsAny(String path, String[] pathsToMatch) {
+        for (int i = 0; i < pathsToMatch.length; i++) {
+            if (matches(path, pathsToMatch[i]))
+                return true;
+        }
+        return false;
+    }
+    
     protected final Action supplementaryAction;
     protected final Action fallbackAction;
     

Modified: jakarta/commons/proper/digester/branches/digester2/src/test/org/apache/commons/digester2/SupplementaryRuleManagerTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/digester/branches/digester2/src/test/org/apache/commons/digester2/SupplementaryRuleManagerTestCase.java?view=diff&r1=153636&r2=153637
==============================================================================
--- jakarta/commons/proper/digester/branches/digester2/src/test/org/apache/commons/digester2/SupplementaryRuleManagerTestCase.java (original)
+++ jakarta/commons/proper/digester/branches/digester2/src/test/org/apache/commons/digester2/SupplementaryRuleManagerTestCase.java Sun Feb 13 08:16:53 2005
@@ -44,20 +44,20 @@
     
         public void begin(Context context, String namespace, String name, Attributes attrs) {
 
-            Path path = context.getCurrentPath();
-            if (path.matches("/root")) {
+            String path = context.getMatchPath();
+            if (SupplementaryRuleManager.matches(path, "/root")) {
                 rootFoundAbsolute = true;
             } 
             
-            if (path.matches("root")) {
+            if (SupplementaryRuleManager.matches(path, "root")) {
                 rootFoundRelative = true;
             }
 
-            if (path.matches("/root/p/em")) {
+            if (SupplementaryRuleManager.matches(path, "/root/p/em")) {
                 longAbsoluteFound = true;
             } 
 
-            if (path.matches("ot/p")) {
+            if (SupplementaryRuleManager.matches(path, "ot/p")) {
                 wrongRelativeFound = true;
             }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org