Author: jlmonteiro
Date: Tue Jun  3 12:42:39 2014
New Revision: 1599514

URL: http://svn.apache.org/r1599514
Log:
TOMEE-1240 Allow to choose Host when deploying a webapp (WebAppDeployer)

Modified:
    
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/Deployer.java
    
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java
    
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/WebAppDeployer.java
    
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/deployment/TomcatWebappDeployer.java
    
tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/Deployer.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/Deployer.java?rev=1599514&r1=1599513&r2=1599514&view=diff
==============================================================================
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/Deployer.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/Deployer.java
 Tue Jun  3 12:42:39 2014
@@ -25,6 +25,8 @@ import org.apache.openejb.assembler.clas
 import java.util.Collection;
 import java.util.Properties;
 
+// The signature of this intf must never change without caution
+// it is used in many tools either internal or external (intellij idea)
 public interface Deployer {
     String FILENAME = "filename";
     String ALT_DD = "altDD";

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java?rev=1599514&r1=1599513&r2=1599514&view=diff
==============================================================================
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java
 Tue Jun  3 12:42:39 2014
@@ -70,10 +70,13 @@ public class DeployerEjb implements Depl
 
     public static final String OPENEJB_DEPLOYER_FORCED_APP_ID_PROP = 
"openejb.deployer.forced.appId";
 
+    public static final String OPENEJB_DEPLOYER_HOST = "openejb.deployer.host";
+
     public static final String OPENEJB_USE_BINARIES = 
"openejb.deployer.binaries.use";
     public static final String OPENEJB_PATH_BINARIES = 
"openejb.deployer.binaries.path";
     public static final String OPENEJB_VALUE_BINARIES = 
"openejb.deployer.binaries.value";
 
+    public static final String OPENEJB_APP_AUTODEPLOY = 
"openejb.app.autodeploy";
     public static final ThreadLocal<Boolean> AUTO_DEPLOY = new 
ThreadLocal<Boolean>();
 
     private static final File uniqueFile;
@@ -110,6 +113,7 @@ public class DeployerEjb implements Depl
         uniqueFile.deleteOnExit();
     }
 
+
     private final DeploymentLoader deploymentLoader;
     private final ConfigurationFactory configurationFactory;
     private final Assembler assembler;
@@ -162,13 +166,14 @@ public class DeployerEjb implements Depl
             file = new File(realLocation(rawLocation));
         }
 
-        final boolean autoDeploy = 
Boolean.parseBoolean(properties.getProperty("openejb.app.autodeploy", "false"));
+        final boolean autoDeploy = 
Boolean.parseBoolean(properties.getProperty(OPENEJB_APP_AUTODEPLOY, "false"));
+        final String host = properties.getProperty(OPENEJB_DEPLOYER_HOST, 
null);
 
         if (WebAppDeployer.Helper.isWebApp(file) && !oldWarDeployer) {
             AUTO_DEPLOY.set(autoDeploy);
             try {
                 return SystemInstance.get().getComponent(WebAppDeployer.class)
-                                     .deploy(contextRoot(properties, 
file.getAbsolutePath()), file);
+                                     .deploy(host, contextRoot(properties, 
file.getAbsolutePath()), file);
             } finally {
                 AUTO_DEPLOY.remove();
             }

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/WebAppDeployer.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/WebAppDeployer.java?rev=1599514&r1=1599513&r2=1599514&view=diff
==============================================================================
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/WebAppDeployer.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/WebAppDeployer.java
 Tue Jun  3 12:42:39 2014
@@ -23,7 +23,7 @@ import org.apache.openejb.loader.SystemI
 import java.io.File;
 
 public interface WebAppDeployer {
-    AppInfo deploy(String contextRoot, File file);
+    AppInfo deploy(String host, String contextRoot, File file);
     void reload(String appId);
 
     final class Helper {

Modified: 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/deployment/TomcatWebappDeployer.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/deployment/TomcatWebappDeployer.java?rev=1599514&r1=1599513&r2=1599514&view=diff
==============================================================================
--- 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/deployment/TomcatWebappDeployer.java
 (original)
+++ 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/deployment/TomcatWebappDeployer.java
 Tue Jun  3 12:42:39 2014
@@ -34,13 +34,13 @@ public class TomcatWebappDeployer implem
     private static final Logger LOGGER = 
Logger.getInstance(LogCategory.OPENEJB, TomcatWebappDeployer.class);
 
     @Override
-    public AppInfo deploy(final String context, final File file) {
+    public AppInfo deploy(final String host, final String context, final File 
file) {
         final TomcatWebAppBuilder tomcatWebAppBuilder = (TomcatWebAppBuilder) 
SystemInstance.get().getComponent(WebAppBuilder.class);
 
         final Collection<String> alreadyDeployed = 
tomcatWebAppBuilder.availableApps();
 
         try {
-            tomcatWebAppBuilder.deployWebApps(fakeInfo(file, context), null); 
// classloader == null -> standalone war
+            tomcatWebAppBuilder.deployWebApps(fakeInfo(file, host, context), 
null); // classloader == null -> standalone war
         } catch (final Exception e) {
             throw new OpenEJBRuntimeException(e);
         }
@@ -90,7 +90,7 @@ public class TomcatWebappDeployer implem
     }
 
     // simply create a fake AppInfo to be able to deploy reusing the logic we 
already have
-    private static AppInfo fakeInfo(final File file, final String context) {
+    private static AppInfo fakeInfo(final File file, final String host, final 
String context) {
         final AppInfo info = new AppInfo();
         info.path = file.getAbsolutePath();
         info.webAppAlone = true;
@@ -104,6 +104,7 @@ public class TomcatWebappDeployer implem
             webAppInfo.contextRoot = context;
         }
 
+        webAppInfo.host = host; // we don't care if it's null, the default 
host gonna be used by TomcatWebAppBuilder
         webAppInfo.moduleId = webAppInfo.contextRoot;
         info.webApps.add(webAppInfo);
 

Modified: 
tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java?rev=1599514&r1=1599513&r2=1599514&view=diff
==============================================================================
--- 
tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java
 (original)
+++ 
tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java
 Tue Jun  3 12:42:39 2014
@@ -358,7 +358,7 @@ public class Container {
                 contextRoot = name;
             }
 
-            appInfo = 
SystemInstance.get().getComponent(WebAppDeployer.class).deploy(contextRoot, 
file);
+            appInfo = 
SystemInstance.get().getComponent(WebAppDeployer.class).deploy(null, 
contextRoot, file);
 
             if (appInfo != null) {
                 context = 
SystemInstance.get().getComponent(ContainerSystem.class).getAppContext(appInfo.appId);


Reply via email to