[jboss-cvs] JBossAS SVN: r96045 - in projects/demos/microcontainer/trunk: policy/src/main/java/org/jboss/demos/policy/services and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Nov 5 03:27:40 EST 2009


Author: alesj
Date: 2009-11-05 03:27:40 -0500 (Thu, 05 Nov 2009)
New Revision: 96045

Modified:
   projects/demos/microcontainer/trunk/classloader/src/main/java/org/jboss/demos/classloader/policy/RegexpClassLoaderPolicy.java
   projects/demos/microcontainer/trunk/policy/src/main/java/org/jboss/demos/policy/services/RegexpService.java
Log:
Fix regexp.

Modified: projects/demos/microcontainer/trunk/classloader/src/main/java/org/jboss/demos/classloader/policy/RegexpClassLoaderPolicy.java
===================================================================
--- projects/demos/microcontainer/trunk/classloader/src/main/java/org/jboss/demos/classloader/policy/RegexpClassLoaderPolicy.java	2009-11-05 08:20:48 UTC (rev 96044)
+++ projects/demos/microcontainer/trunk/classloader/src/main/java/org/jboss/demos/classloader/policy/RegexpClassLoaderPolicy.java	2009-11-05 08:27:40 UTC (rev 96045)
@@ -66,7 +66,32 @@
 
    protected Pattern createPattern(String regexp)
    {
-      return Pattern.compile(regexp);
+      boolean done;
+      boolean paren = false;
+      StringBuilder builder = new StringBuilder();
+      for (int i = 0; i < regexp.length(); i++)
+      {
+         done = false;
+
+         char ch = regexp.charAt(i);
+         if (ch == '[')
+            paren = true;
+         else if (ch == ']')
+            paren = false;
+
+         if (ch == '.' && i > 0)
+         {
+            if (paren == false && regexp.charAt(i - 1) != '\\')
+            {
+               builder.append("\\.");
+               done = true;
+            }
+         }
+
+         if (done == false)
+            builder.append(ch);
+      }
+      return Pattern.compile(builder.toString());
    }
 
    public URL getResource(String path)

Modified: projects/demos/microcontainer/trunk/policy/src/main/java/org/jboss/demos/policy/services/RegexpService.java
===================================================================
--- projects/demos/microcontainer/trunk/policy/src/main/java/org/jboss/demos/policy/services/RegexpService.java	2009-11-05 08:20:48 UTC (rev 96044)
+++ projects/demos/microcontainer/trunk/policy/src/main/java/org/jboss/demos/policy/services/RegexpService.java	2009-11-05 08:27:40 UTC (rev 96045)
@@ -35,7 +35,7 @@
    @Override
    protected boolean ignoreInputStream(InputStream stream)
    {
-      return (stream instanceof CipherInputStream);
+      return (stream == null || stream instanceof CipherInputStream);
    }
 
    public void start() throws Exception
@@ -43,7 +43,7 @@
       System.out.println();
 
       ClassLoader cl = getClass().getClassLoader();
-      Enumeration<URL> urls = cl.getResources("config/[^.]+.[^.]{1,4}");
+      Enumeration<URL> urls = cl.getResources("config/[^.]+\\.[^.]{1,4}");
       while (urls.hasMoreElements())
       {
          URL url = urls.nextElement();




More information about the jboss-cvs-commits mailing list