Repository: tomee
Updated Branches:
  refs/heads/master fadfbaa9f -> fee207c52


TOMEE-1660 allow to control web resource caching in tomee embedded


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/fee207c5
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/fee207c5
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/fee207c5

Branch: refs/heads/master
Commit: fee207c522d5f85d24fdcbb5fac00ce799206728
Parents: fadfbaa
Author: Romain Manni-Bucau <[email protected]>
Authored: Tue Nov 17 22:10:35 2015 -0800
Committer: Romain Manni-Bucau <[email protected]>
Committed: Tue Nov 17 22:10:35 2015 -0800

----------------------------------------------------------------------
 .../arquillian/embedded/EmbeddedTomEEConfiguration.java   |  9 +++++++++
 .../arquillian/embedded/EmbeddedTomEEContainer.java       |  2 ++
 .../apache/openejb/maven/plugins/TomEEEmbeddedMojo.java   |  3 +++
 .../org/apache/tomee/catalina/TomEEWebappClassLoader.java |  2 +-
 .../java/org/apache/tomee/embedded/Configuration.java     | 10 ++++++++++
 .../embedded/internal/StandardContextCustomizer.java      |  4 +++-
 6 files changed, 28 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/fee207c5/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEConfiguration.java
----------------------------------------------------------------------
diff --git 
a/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEConfiguration.java
 
b/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEConfiguration.java
index d09a85f..0d18097 100644
--- 
a/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEConfiguration.java
+++ 
b/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEConfiguration.java
@@ -44,6 +44,15 @@ public class EmbeddedTomEEConfiguration extends 
TomEEConfiguration {
     private String sslProtocol;
     private String users;
     private String roles;
+    private boolean webResourcesCached = true;
+
+    public boolean isWebResourcesCached() {
+        return webResourcesCached;
+    }
+
+    public void setWebResourcesCached(final boolean webResourcesCached) {
+        this.webResourcesCached = webResourcesCached;
+    }
 
     public boolean isWithEjbRemote() {
         return withEjbRemote;

http://git-wip-us.apache.org/repos/asf/tomee/blob/fee207c5/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java
----------------------------------------------------------------------
diff --git 
a/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java
 
b/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java
index e19ae3b..6f30b11 100644
--- 
a/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java
+++ 
b/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java
@@ -98,6 +98,8 @@ public class EmbeddedTomEEContainer extends 
TomEEContainer<EmbeddedTomEEConfigur
         configuration.setSslProtocol(tomeeConfiguration.getSslProtocol());
         configuration.setWithEjbRemote(tomeeConfiguration.isWithEjbRemote());
 
+        
configuration.setWebResourceCached(tomeeConfiguration.isWebResourcesCached());
+
         if (tomeeConfiguration.getRoles() != null) {
             configuration.setRoles(new HashMap<String, 
String>(Map.class.cast(tomeeConfiguration.getRolesAsProperties())));
         }

http://git-wip-us.apache.org/repos/asf/tomee/blob/fee207c5/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java
----------------------------------------------------------------------
diff --git 
a/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java
 
b/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java
index f688854..346ce1e 100644
--- 
a/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java
+++ 
b/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java
@@ -126,6 +126,9 @@ public class TomEEEmbeddedMojo extends AbstractMojo {
     @Parameter(property = "tomee-embedded-plugin.useProjectClasspath", 
defaultValue = "true")
     protected boolean useProjectClasspath;
 
+    @Parameter(property = "tomee-embedded-plugin.webResourceCached", 
defaultValue = "true")
+    protected boolean webResourceCached;
+
     @Parameter(property = "tomee-embedded-plugin.modules", defaultValue = 
"${project.build.outputDirectory}")
     protected List<File> modules;
 

http://git-wip-us.apache.org/repos/asf/tomee/blob/fee207c5/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappClassLoader.java
----------------------------------------------------------------------
diff --git 
a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappClassLoader.java
 
b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappClassLoader.java
index 17fd006..6fb2890 100644
--- 
a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappClassLoader.java
+++ 
b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappClassLoader.java
@@ -345,7 +345,7 @@ public class TomEEWebappClassLoader extends 
ParallelWebappClassLoader {
 
         // mainly for tomee-maven-plugin
         initAdditionalRepos();
-        if (additionalRepos != null) {
+        if (additionalRepos != null && !additionalRepos.isEmpty()) {
             for (final File f : additionalRepos) {
                 final DirResourceSet webResourceSet = new 
PremptiveDirResourceSet(resources, "/", f.getAbsolutePath(), "/");
                 resources.addPreResources(webResourceSet);

http://git-wip-us.apache.org/repos/asf/tomee/blob/fee207c5/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Configuration.java
----------------------------------------------------------------------
diff --git 
a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Configuration.java
 
b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Configuration.java
index fc40b03..3b2b754 100644
--- 
a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Configuration.java
+++ 
b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Configuration.java
@@ -67,6 +67,8 @@ public class Configuration {
      */
     private String tempDir = new File(System.getProperty("java.io.tmpdir"), 
"tomee-embedded_" + System.currentTimeMillis()).getAbsolutePath();
 
+    private boolean webResourceCached = true;
+
     public int getHttpPort() {
         return httpPort;
     }
@@ -333,4 +335,12 @@ public class Configuration {
         this.realm = realm;
         return this;
     }
+
+    public boolean areWebResourcesCached() {
+        return webResourceCached;
+    }
+
+    public void setWebResourceCached(boolean cached) {
+        this.webResourceCached = cached;
+    }
 }

http://git-wip-us.apache.org/repos/asf/tomee/blob/fee207c5/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/internal/StandardContextCustomizer.java
----------------------------------------------------------------------
diff --git 
a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/internal/StandardContextCustomizer.java
 
b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/internal/StandardContextCustomizer.java
index bc22a5a..eb68b36 100644
--- 
a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/internal/StandardContextCustomizer.java
+++ 
b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/internal/StandardContextCustomizer.java
@@ -63,7 +63,9 @@ public class StandardContextCustomizer {
 
         switch (event.getType()) {
             case Lifecycle.BEFORE_START_EVENT:
-                final WebResourceRoot resources = new StandardRoot(context);
+                final StandardRoot resources = new StandardRoot(context);
+                resources.setCachingAllowed(config.areWebResourcesCached());
+
                 context.setResources(resources);
                 if (!module.getProperties().containsKey("fakeJarLocation")) {
                     context.setDocBase(module.getJarLocation());

Reply via email to