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 2014/08/07 08:04:00 UTC
svn commit: r1616409 - in /tomee/tomee/trunk:
arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/
tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/
tomee/tomee-common/src/main/java/org/apache/tomee/in...
Author: rmannibucau
Date: Thu Aug 7 06:04:00 2014
New Revision: 1616409
URL: http://svn.apache.org/r1616409
Log:
fixing drop in war
Modified:
tomee/tomee/trunk/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappContainer.java
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java
tomee/tomee/trunk/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java
tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/LoaderServlet.java
tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatEmbedder.java
Modified: tomee/tomee/trunk/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappContainer.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappContainer.java?rev=1616409&r1=1616408&r2=1616409&view=diff
==============================================================================
--- tomee/tomee/trunk/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappContainer.java (original)
+++ tomee/tomee/trunk/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappContainer.java Thu Aug 7 06:04:00 2014
@@ -39,9 +39,6 @@ import java.util.TreeMap;
import java.util.logging.Level;
import java.util.logging.Logger;
-/*
- * TODO: delete old embedded adapter, move the tests and set those up
- */
public class TomEEWebappContainer extends TomEEContainer<TomEEWebappConfiguration> {
private static final Logger logger = Logger.getLogger(TomEEWebappContainer.class.getName());
@@ -131,7 +128,7 @@ public class TomEEWebappContainer extend
}
if (logger.isLoggable(Level.FINE)) {
- final Map<Object, Object> map = new TreeMap<Object, Object>(System.getProperties());
+ final Map<Object, Object> map = new TreeMap<>(System.getProperties());
for (final Map.Entry<Object, Object> entry : map.entrySet()) {
System.out.printf("%s = %s\n", entry.getKey(), entry.getValue());
}
@@ -187,12 +184,9 @@ public class TomEEWebappContainer extend
if (file.exists()) {
Files.delete(file);
}
- final InputStream is = org.apache.openejb.loader.IO.read(resource);
- try {
+ try (final InputStream is = org.apache.openejb.loader.IO.read(resource)) {
IO.copy(is, file);
- } finally {
- is.close();
}
}
@@ -205,16 +199,11 @@ public class TomEEWebappContainer extend
protected void downloadTomcat(final File catalinaDirectory, final String tomcatVersion) throws LifecycleException {
String source = null;
- if (tomcatVersion.startsWith("7.")) {
- source = "http://archive.apache.org/dist/tomcat/tomcat-7/v" + tomcatVersion + "/bin/apache-tomcat-" + tomcatVersion + ".zip";
- }
-
- if (tomcatVersion.startsWith("6.")) {
- source = "http://archive.apache.org/dist/tomcat/tomcat-6/v" + tomcatVersion + "/bin/apache-tomcat-" + tomcatVersion + ".zip";
- }
-
- if (tomcatVersion.startsWith("5.5")) {
- source = "http://archive.apache.org/dist/tomcat/tomcat-5/v" + tomcatVersion + "/bin/apache-tomcat-" + tomcatVersion + ".zip";
+ try {
+ int v = Integer.parseInt(tomcatVersion.substring(0, tomcatVersion.indexOf('.')));
+ source = "http://archive.apache.org/dist/tomcat/tomcat-" + v + "/v" + v + "/bin/apache-tomcat-" + tomcatVersion + ".zip";
+ } catch (final Exception e) {
+ // no-op
}
if (source == null) {
Modified: tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java?rev=1616409&r1=1616408&r2=1616409&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java (original)
+++ tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatLoader.java Thu Aug 7 06:04:00 2014
@@ -150,7 +150,7 @@ public class TomcatLoader implements Loa
if (paths.verify()) {
final Installer installer = new Installer(paths);
if (installer.getStatus() != Status.INSTALLED) {
- installer.installConfigFiles();
+ installer.installConfigFiles(false);
}
}
}
Modified: tomee/tomee/trunk/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java?rev=1616409&r1=1616408&r2=1616409&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java (original)
+++ tomee/tomee/trunk/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java Thu Aug 7 06:04:00 2014
@@ -90,7 +90,7 @@ public class Installer implements Instal
public void installAll() {
installListener();
installJavaagent();
- installConfigFiles();
+ installConfigFiles(false);
removeTomcatLibJar("annotations-api.jar");
// addJavaeeInEndorsed();
@@ -175,7 +175,7 @@ public class Installer implements Instal
installJavaagent();
commentDeploymentDir();
- installConfigFiles();
+ installConfigFiles(true);
removeTomcatLibJar("annotations-api.jar");
// addJavaeeInEndorsed();
@@ -543,8 +543,9 @@ public class Installer implements Instal
*
* NOTE:- If the existing conf/logging.properties file already has some openejb specific
* configuration, then this method will just leave the logging.properties file alone
+ * @param builtIn
*/
- public void installConfigFiles() {
+ public void installConfigFiles(final boolean builtIn) {
final File openejbCoreJar = paths.getOpenEJBCoreJar();
final File confDir = paths.getCatalinaConfDir();
final Alerts alerts = this.alerts;
@@ -646,13 +647,8 @@ public class Installer implements Instal
openejbLoggingProps + "\r\n";
}
}
- if (newLoggingProps != null) {
- if (Installers.writeAll(
- loggingPropsFile,
- newLoggingProps.replace("java.util.logging.ConsoleHandler", "org.apache.tomee.jul.formatter.AsyncConsoleHandler"),
- alerts)) {
- alerts.addInfo("Append OpenEJB config to logging.properties");
- }
+ if (builtIn) {
+ installTomEEJuli(alerts, loggingPropsFile, newLoggingProps);
}
final File openejbSystemProperties = new File(confDir, "system.properties");
@@ -757,4 +753,15 @@ public class Installer implements Instal
alerts.addInfo("Set jasper in production mode in TomEE web.xml");
}
}
+
+ private void installTomEEJuli(Alerts alerts, File loggingPropsFile, String newLoggingProps) {
+ if (newLoggingProps != null) {
+ if (Installers.writeAll(
+ loggingPropsFile,
+ newLoggingProps.replace("java.util.logging.ConsoleHandler", "org.apache.tomee.jul.formatter.AsyncConsoleHandler"),
+ alerts)) {
+ alerts.addInfo("Append OpenEJB config to logging.properties");
+ }
+ }
+ }
}
Modified: tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/LoaderServlet.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/LoaderServlet.java?rev=1616409&r1=1616408&r2=1616409&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/LoaderServlet.java (original)
+++ tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/LoaderServlet.java Thu Aug 7 06:04:00 2014
@@ -45,6 +45,8 @@ public class LoaderServlet extends HttpS
* {@inheritDoc}
*/
public void init(final ServletConfig config) throws ServletException {
+ super.init(config);
+
// only install once
if (embedded) {
return;
@@ -107,7 +109,7 @@ public class LoaderServlet extends HttpS
*/
private String getWebappPath(final ServletConfig config) {
final ServletContext ctx = config.getServletContext();
- final File webInf = new File(ctx.getRealPath("WEB-INF"));
+ final File webInf = new File(ctx.getRealPath("/WEB-INF"));
final File webapp = webInf.getParentFile();
final String webappPath = webapp.getAbsolutePath();
return webappPath;
Modified: tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatEmbedder.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatEmbedder.java?rev=1616409&r1=1616408&r2=1616409&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatEmbedder.java (original)
+++ tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/TomcatEmbedder.java Thu Aug 7 06:04:00 2014
@@ -21,6 +21,7 @@ import java.io.File;
import java.lang.reflect.Method;
import java.net.URL;
import java.net.URI;
+import java.net.URLClassLoader;
import java.net.URLDecoder;
import java.util.Properties;
@@ -73,28 +74,10 @@ public class TomcatEmbedder {
// set the ClassLoader to the one which loaded ServletConfig.class i.e. the parent ClassLoader
Thread.currentThread().setContextClassLoader(catalinaCl);
try {
- // WebappClassLoader childCl = new WebappClassLoader(catalinaCl)
- final Class<?> webappClClass = catalinaCl.loadClass("org.apache.catalina.loader.WebappClassLoader");
- final ClassLoader childCl = (ClassLoader) webappClClass.getConstructor(ClassLoader.class).newInstance(catalinaCl);
-
- // childCl.addRepository(tomee-loader.jar)
- // Use reflection to add the tomee-loader.jar file to the repository of WebappClassLoader.
- // WebappClassLoader will now search for classes in this jar too
- final File thisJar = getThisJar();
- final String thisJarUrl = thisJar.toURI().toString();
- webappClClass.getMethod("addRepository", String.class).invoke(childCl, thisJarUrl);
-
- // childCl.addRepository(openejb-loader.jar)
- // Use reflection to add the openejb-loader.jar file to the repository of WebappClassLoader.
- // WebappClassLoader will now search for classes in this jar too
-
- final File jarFile = findOpenEJBJar(openejbWar, OPENEJB_LOADER_PREFIX);
- final String openejbLoaderUrl = jarFile.toURI().toString();
-
- webappClClass.getMethod("addRepository", String.class).invoke(childCl, openejbLoaderUrl);
-
- // childCl.start()
- webappClClass.getMethod("start").invoke(childCl);
+ final ClassLoader childCl = new URLClassLoader(new URL[] {
+ getThisJar().toURI().toURL(),
+ findOpenEJBJar(openejbWar, OPENEJB_LOADER_PREFIX).toURI().toURL()
+ });
// TomcatHook.hook()
//This is loaded by childCl and is defined in the tomee-loader