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();
+ }
+ }
}