Author: rmannibucau
Date: Fri Oct 12 14:00:11 2012
New Revision: 1397569

URL: http://svn.apache.org/viewvc?rev=1397569&view=rev
Log:
managing autodeploy attribute (with new deployer style)

Modified:
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java
    
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java?rev=1397569&r1=1397568&r2=1397569&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java
 Fri Oct 12 14:00:11 2012
@@ -23,6 +23,7 @@ import org.apache.openejb.config.*;
 import org.apache.openejb.config.sys.AdditionalDeployments;
 import org.apache.openejb.config.sys.Deployments;
 import org.apache.openejb.config.sys.JaxbOpenejb;
+import org.apache.openejb.core.ThreadContext;
 import org.apache.openejb.loader.IO;
 import org.apache.openejb.loader.SystemInstance;
 import org.apache.openejb.util.LogCategory;
@@ -52,6 +53,8 @@ public class DeployerEjb implements Depl
     public static final String OPENEJB_DEPLOYER_FORCED_APP_ID_PROP = 
"openejb.deployer.forced.appId";
     public static final Logger LOGGER = 
Logger.getInstance(LogCategory.OPENEJB, DeployerEjb.class);
 
+    public static final ThreadLocal<Boolean> AUTO_DEPLOY = new 
ThreadLocal<Boolean>();
+
     private final static File uniqueFile;
     private final static boolean oldWarDeployer = 
"old".equalsIgnoreCase(SystemInstance.get().getOptions().get("openejb.deployer.war",
 "new"));
 
@@ -121,10 +124,16 @@ public class DeployerEjb implements Depl
         AppModule appModule = null;
 
         final File file = new File(realLocation(rawLocation));
+        final boolean autoDeploy = 
Boolean.parseBoolean(properties.getProperty("openejb.app.autodeploy", "false"));
 
         if (WebAppDeployer.Helper.isWebApp(file) && !oldWarDeployer) {
-            return SystemInstance.get().getComponent(WebAppDeployer.class)
+            AUTO_DEPLOY.set(autoDeploy);
+            try {
+                return SystemInstance.get().getComponent(WebAppDeployer.class)
                         .deploy(contextRoot(properties, 
file.getAbsolutePath()), file);
+            } finally {
+                AUTO_DEPLOY.remove();
+            }
         }
 
         AppInfo appInfo;
@@ -179,7 +188,7 @@ public class DeployerEjb implements Depl
             }
 
             appInfo = configurationFactory.configureApplication(appModule);
-            appInfo.autoDeploy = 
Boolean.parseBoolean(properties.getProperty("openejb.app.autodeploy", "false"));
+            appInfo.autoDeploy = autoDeploy;
 
             if (properties != null && 
properties.containsKey(OPENEJB_DEPLOYER_FORCED_APP_ID_PROP)) {
                 appInfo.appId = 
properties.getProperty(OPENEJB_DEPLOYER_FORCED_APP_ID_PROP);

Modified: 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java?rev=1397569&r1=1397568&r2=1397569&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
 Fri Oct 12 14:00:11 2012
@@ -60,6 +60,7 @@ import org.apache.openejb.BeanContext;
 import org.apache.openejb.ClassLoaderUtil;
 import org.apache.openejb.Injection;
 import org.apache.openejb.OpenEJBException;
+import org.apache.openejb.assembler.DeployerEjb;
 import org.apache.openejb.assembler.classic.AppInfo;
 import org.apache.openejb.assembler.classic.Assembler;
 import org.apache.openejb.assembler.classic.ClassListInfo;
@@ -877,6 +878,9 @@ public class TomcatWebAppBuilder impleme
                     contextInfo.standardContext = standardContext; // ensure 
to do it before an exception can be thrown
 
                     contextInfo.appInfo = 
configurationFactory.configureApplication(appModule);
+                    final Boolean autoDeploy = DeployerEjb.AUTO_DEPLOY.get();
+                    contextInfo.appInfo.autoDeploy = autoDeploy == null || 
autoDeploy;
+                    DeployerEjb.AUTO_DEPLOY.remove();
 
                     appContext = a.createApplication(contextInfo.appInfo, 
classLoader);
                     // todo add watched resources to context


Reply via email to