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