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);