Author: rmannibucau
Date: Thu Jul 26 14:51:13 2012
New Revision: 1366026

URL: http://svn.apache.org/viewvc?rev=1366026&view=rev
Log:
ability to use a regex for synchro between maven and webapp

Modified:
    
openejb/trunk/openejb/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/Synchronization.java
    
openejb/trunk/openejb/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/UpdatableTomEEMojo.java

Modified: 
openejb/trunk/openejb/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/Synchronization.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/Synchronization.java?rev=1366026&r1=1366025&r2=1366026&view=diff
==============================================================================
--- 
openejb/trunk/openejb/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/Synchronization.java
 (original)
+++ 
openejb/trunk/openejb/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/Synchronization.java
 Thu Jul 26 14:51:13 2012
@@ -26,6 +26,7 @@ public class Synchronization {
     private File targetResourcesDir;
     private int updateInterval;
     private List<String> extensions;
+    private String regex;
 
     public File getResourcesDir() {
         return resourcesDir;
@@ -74,4 +75,12 @@ public class Synchronization {
     public void setExtensions(List<String> extensions) {
         this.extensions = extensions;
     }
+
+    public String getRegex() {
+        return regex;
+    }
+
+    public void setRegex(String regex) {
+        this.regex = regex;
+    }
 }

Modified: 
openejb/trunk/openejb/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/UpdatableTomEEMojo.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/UpdatableTomEEMojo.java?rev=1366026&r1=1366025&r2=1366026&view=diff
==============================================================================
--- 
openejb/trunk/openejb/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/UpdatableTomEEMojo.java
 (original)
+++ 
openejb/trunk/openejb/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/UpdatableTomEEMojo.java
 Thu Jul 26 14:51:13 2012
@@ -29,6 +29,7 @@ import java.util.List;
 import java.util.Timer;
 import java.util.TimerTask;
 import java.util.concurrent.TimeUnit;
+import java.util.regex.Pattern;
 
 public abstract class UpdatableTomEEMojo extends AbstractTomEEMojo {
     public static final int INITIAL_DELAY = 5000;
@@ -113,7 +114,11 @@ public abstract class UpdatableTomEEMojo
         private long lastUpdate = System.currentTimeMillis();
 
         private Synchronizer() {
-            fileFilter = new 
SuffixesFileFilter(synchronization.getExtensions());
+            if (synchronization.getRegex() != null) {
+                fileFilter = new 
SuffixesAndRegexFileFilter(synchronization.getExtensions(), 
Pattern.compile(synchronization.getRegex()));
+            } else {
+                fileFilter = new 
SuffixesFileFilter(synchronization.getExtensions());
+            }
         }
 
         @Override
@@ -191,4 +196,22 @@ public abstract class UpdatableTomEEMojo
             return false;
         }
     }
+
+    private class SuffixesAndRegexFileFilter extends SuffixesFileFilter {
+        private final Pattern pattern;
+
+        public SuffixesAndRegexFileFilter(final List<String> extensions, final 
Pattern pattern) {
+            super(extensions);
+            this.pattern = pattern;
+        }
+
+        @Override
+        public boolean accept(final File file) {
+            if (file.isDirectory()) {
+                return true;
+            }
+
+            return super.accept(file) && 
pattern.matcher(file.getAbsolutePath()).matches();
+        }
+    }
 }


Reply via email to