You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2016/06/15 07:50:50 UTC

tomee git commit: useless variable customizers + avoid to override a custom AnnotationDeployer.FolderDDMapper in tomee embedded classpath deployment

Repository: tomee
Updated Branches:
  refs/heads/master 44578a5d8 -> 54f66e00f


useless variable customizers + avoid to override a custom AnnotationDeployer.FolderDDMapper in tomee embedded classpath deployment


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

Branch: refs/heads/master
Commit: 54f66e00f6f7c53caf017fb32996b8b2ff090fa5
Parents: 44578a5
Author: Romain manni-Bucau <rm...@gmail.com>
Authored: Wed Jun 15 09:50:43 2016 +0200
Committer: Romain manni-Bucau <rm...@gmail.com>
Committed: Wed Jun 15 09:50:43 2016 +0200

----------------------------------------------------------------------
 .../apache/tomee/embedded/Configuration.java    |  1 -
 .../org/apache/tomee/embedded/Container.java    | 29 ++++++++++++++------
 2 files changed, 21 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/54f66e00/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 5801d0e..7871812 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,7 +67,6 @@ public class Configuration {
     private boolean http2;
 
     private final Collection<Connector> connectors = new ArrayList<>();
-    private final Collection<ConfigurationCustomizer> customizers = new ArrayList<>();
 
     /**
      * when needed temp file only (deployClasspathAsWebapp() for instance)

http://git-wip-us.apache.org/repos/asf/tomee/blob/54f66e00/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java
----------------------------------------------------------------------
diff --git a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java
index 92789d1..cd0cec0 100644
--- a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java
+++ b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java
@@ -277,14 +277,27 @@ public class Container implements AutoCloseable {
         addCallersAsEjbModule(loader, app, additionalCallers);
 
         systemInstance.addObserver(new StandardContextCustomizer(configuration, webModule, keepClassloader));
-        systemInstance.setComponent(AnnotationDeployer.FolderDDMapper.class, new AnnotationDeployer.FolderDDMapper() {
-            @Override
-            public File getDDFolder(final File dir) {
-                // maven
-                return dir.getName().equals("classes") && dir.getParentFile().getName().equals("target") ?
-                        new File(docBase, "WEB-INF") : null;
-            }
-        });
+        if (systemInstance.getComponent(AnnotationDeployer.FolderDDMapper.class) == null) {
+            systemInstance.setComponent(AnnotationDeployer.FolderDDMapper.class, new AnnotationDeployer.FolderDDMapper() {
+                @Override
+                public File getDDFolder(final File dir) {
+                    try {
+                        return isMaven(dir) || isGradle(dir) ? new File(docBase, "WEB-INF") : null;
+                    } catch (final RuntimeException re) { // folder doesn't exist -> test is stopped which is expected
+                        return null;
+                    }
+                }
+
+                private boolean isGradle(final File dir) {
+                    return dir.getName().equals("classes") && dir.getParentFile().getName().equals("target");
+                }
+
+                private boolean isMaven(final File dir) {
+                    return dir.getName().equals("main") && dir.getParentFile().getName().equals("classes")
+                            && dir.getParentFile().getParentFile().getName().equals("build");
+                }
+            });
+        }
 
         try {
             final AppInfo appInfo = configurationFactory.configureApplication(app);