cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup SetDocBaseRule.java
yoavs 2004/05/26 09:16:50 Modified:catalina/src/share/org/apache/catalina/startup SetDocBaseRule.java Log: Minor JavaDoc fixes (Bugzilla 28335) Revision ChangesPath 1.13 +0 -2 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/SetDocBaseRule.java Index: SetDocBaseRule.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/SetDocBaseRule.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- SetDocBaseRule.java 27 Feb 2004 14:58:49 - 1.12 +++ SetDocBaseRule.java 26 May 2004 16:16:50 - 1.13 @@ -42,8 +42,6 @@ /** * Construct a new instance of this Rule. - * - * @param digester Digester we are associated with */ public SetDocBaseRule() { } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup SetDocBaseRule.java
remm2004/01/11 02:05:35 Modified:catalina/src/share/org/apache/catalina/startup SetDocBaseRule.java Log: - Fix array out of bounds when docBase is equal to . Revision ChangesPath 1.10 +10 -6 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/SetDocBaseRule.java Index: SetDocBaseRule.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/SetDocBaseRule.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- SetDocBaseRule.java 27 Sep 2003 12:06:32 - 1.9 +++ SetDocBaseRule.java 11 Jan 2004 10:05:35 - 1.10 @@ -193,10 +193,14 @@ } if (docBase.startsWith(canonicalAppBase.getPath())) { -docBase = docBase.substring -(canonicalAppBase.getPath().length() + 1); +docBase = docBase.substring(canonicalAppBase.getPath().length()); +docBase = docBase.replace(File.separatorChar, '/'); +if (docBase.startsWith(/)) { +docBase = docBase.substring(1); +} +} else { +docBase = docBase.replace(File.separatorChar, '/'); } -docBase = docBase.replace(File.separatorChar, '/'); child.setDocBase(docBase); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup SetDocBaseRule.java
remm2003/09/27 05:06:32 Modified:catalina/src/share/org/apache/catalina/startup SetDocBaseRule.java Log: - Fix handling of root context when upacking a WAR. Note that obviously using a context path with a WAR which doesn't match the name will result in the webapp being deployed twice. Revision ChangesPath 1.9 +8 -4 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/SetDocBaseRule.java Index: SetDocBaseRule.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/SetDocBaseRule.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- SetDocBaseRule.java 8 Sep 2003 13:43:40 - 1.8 +++ SetDocBaseRule.java 27 Sep 2003 12:06:32 - 1.9 @@ -172,7 +172,11 @@ if (docBase.toLowerCase().endsWith(.war)) { URL war = new URL(jar: + (new File(docBase)).toURL() + !/); -docBase = ExpandWar.expand(host, war, child.getPath()); +String contextPath = child.getPath(); +if (contextPath.equals()) { +contextPath = ROOT; +} +docBase = ExpandWar.expand(host, war, contextPath); file = new File(docBase); docBase = file.getCanonicalPath(); } else { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup SetDocBaseRule.java
remm2003/09/08 06:43:40 Modified:catalina/src/share/org/apache/catalina/startup SetDocBaseRule.java Log: - Bug 22986: Appbase was canonicalized relative to catalina.base even if it was already absolute. - Also simplify a bit the code by reusing the canonical appBase. Revision ChangesPath 1.8 +12 -11 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/SetDocBaseRule.java Index: SetDocBaseRule.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/SetDocBaseRule.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- SetDocBaseRule.java 2 Sep 2003 21:22:00 - 1.7 +++ SetDocBaseRule.java 8 Sep 2003 13:43:40 - 1.8 @@ -136,9 +136,14 @@ return; } -File canonicalAppBase = -new File(System.getProperty(catalina.base), appBase) -.getCanonicalFile(); +File canonicalAppBase = new File(appBase); +if (canonicalAppBase.isAbsolute()) { +canonicalAppBase = canonicalAppBase.getCanonicalFile(); +} else { +canonicalAppBase = +new File(System.getProperty(catalina.base), appBase) +.getCanonicalFile(); +} String docBase = child.getDocBase(); if (docBase == null) { @@ -160,11 +165,7 @@ File file = new File(docBase); if (!file.isAbsolute()) { -// Use the appBase property of this container -file = new File(appBase); -if (!file.isAbsolute()) -file = canonicalAppBase; -docBase = (new File(file, docBase)).getPath(); +docBase = (new File(canonicalAppBase, docBase)).getPath(); } else { docBase = file.getCanonicalPath(); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup SetDocBaseRule.java
remm2003/09/01 05:43:13 Modified:catalina/src/share/org/apache/catalina/startup SetDocBaseRule.java Log: - Unpack WARs if the host is not a standard host. - Allow unpackWAR to override the unpackWARs value (ie, if unpackWARs is false, it can be used to force unpacking of a particular webapp which would need filesystem access, unlike others within the host). Revision ChangesPath 1.6 +9 -6 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/SetDocBaseRule.java Index: SetDocBaseRule.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/SetDocBaseRule.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- SetDocBaseRule.java 31 Aug 2003 15:50:18 - 1.5 +++ SetDocBaseRule.java 1 Sep 2003 12:43:13 - 1.6 @@ -75,6 +75,7 @@ import org.apache.catalina.Deployer; import org.apache.catalina.Host; +import org.apache.catalina.core.StandardContext; import org.apache.catalina.core.StandardHost; /** @@ -127,10 +128,12 @@ } String appBase = host.getAppBase(); -if (!(host instanceof StandardHost)) { -return; +boolean unpackWARs = true; +if (host instanceof StandardHost) { +unpackWARs = ((StandardHost) host).isUnpackWARs(); } -if (!((StandardHost) host).isUnpackWARs()) { +if (!unpackWARs + !(true.equals(attributes.getValue(unpackWAR { return; } if (false.equals(attributes.getValue(unpackWAR))) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup SetDocBaseRule.java
remm2003/08/31 08:50:18 Modified:catalina/src/share/org/apache/catalina/startup SetDocBaseRule.java Log: - Don't unpack if there's an overriding unpackWAR attribute on the context itself. I plan to use this to run the tomcat-docs webapp from the WAR (it simply uses too much HD space, and takes a while to unpack when installing Tomcat, so I'll experiment with bundling it as a WAR). Revision ChangesPath 1.5 +6 -3 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/SetDocBaseRule.java Index: SetDocBaseRule.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/SetDocBaseRule.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- SetDocBaseRule.java 25 Jul 2003 16:43:53 - 1.4 +++ SetDocBaseRule.java 31 Aug 2003 15:50:18 - 1.5 @@ -133,6 +133,9 @@ if (!((StandardHost) host).isUnpackWARs()) { return; } +if (false.equals(attributes.getValue(unpackWAR))) { +return; +} File canonicalAppBase = new File(System.getProperty(catalina.base), appBase) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup SetDocBaseRule.java
remm2003/07/25 09:43:53 Modified:catalina/src/share/org/apache/catalina/startup SetDocBaseRule.java Log: - Attempt to guess docbase if not set. Revision ChangesPath 1.4 +20 -3 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/SetDocBaseRule.java Index: SetDocBaseRule.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/SetDocBaseRule.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- SetDocBaseRule.java 9 Jul 2003 19:54:34 - 1.3 +++ SetDocBaseRule.java 25 Jul 2003 16:43:53 - 1.4 @@ -139,6 +139,23 @@ .getCanonicalFile(); String docBase = child.getDocBase(); +if (docBase == null) { +// Trying to guess the docBase according to the path +String path = child.getPath(); +if (path == null) { +return; +} +if (path.equals()) { +docBase = ROOT; +} else { +if (path.startsWith(/)) { +docBase = path.substring(1); +} else { +docBase = path; +} +} +} + File file = new File(docBase); if (!file.isAbsolute()) { // Use the appBase property of this container - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup SetDocBaseRule.java
remm2003/07/09 11:16:33 Modified:catalina/src/share/org/apache/catalina/startup SetDocBaseRule.java Log: - Fix bug 21419: failure to start when a Context element is included in server.xml. - Patch submitted by Torsten Fohrer. Revision ChangesPath 1.2 +11 -6 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/SetDocBaseRule.java Index: SetDocBaseRule.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/SetDocBaseRule.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- SetDocBaseRule.java 24 Jun 2003 22:37:05 - 1.1 +++ SetDocBaseRule.java 9 Jul 2003 18:16:32 - 1.2 @@ -35,7 +35,7 @@ *permission, please contact [EMAIL PROTECTED] * * 5. Products derived from this software may not be called Apache - *nor may Apache appear in their names without prior written + *nor may Apache appear in their names Torstenwithout prior written *permission of the Apache Group. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED @@ -118,8 +118,13 @@ Context child = (Context) digester.peek(0); Deployer parent = (Deployer) digester.peek(1); -Method method = parent.getClass().getMethod(getHost, null); -Host host = (Host) method.invoke(parent, null); +Host host = null; +if (!(parent instanceof StandardHost)) { +Method method = parent.getClass().getMethod(getHost, null); +host = (Host) method.invoke(parent, null); +} else { +host = (Host) parent; +} String appBase = host.getAppBase(); if (!(host instanceof StandardHost)) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup SetDocBaseRule.java
remm2003/07/09 12:54:34 Modified:catalina/src/share/org/apache/catalina/startup SetDocBaseRule.java Log: - Copy paste oops. Thanks Tim :) Revision ChangesPath 1.3 +4 -4 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/SetDocBaseRule.java Index: SetDocBaseRule.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/SetDocBaseRule.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- SetDocBaseRule.java 9 Jul 2003 18:16:32 - 1.2 +++ SetDocBaseRule.java 9 Jul 2003 19:54:34 - 1.3 @@ -35,7 +35,7 @@ *permission, please contact [EMAIL PROTECTED] * * 5. Products derived from this software may not be called Apache - *nor may Apache appear in their names Torstenwithout prior written + *nor may Apache appear in their names without prior written *permission of the Apache Group. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup SetDocBaseRule.java ContextRuleSet.java HostConfig.java
remm2003/06/24 15:37:06 Modified:catalina/src/share/org/apache/catalina/startup ContextRuleSet.java HostConfig.java Added: catalina/src/share/org/apache/catalina/startup SetDocBaseRule.java Log: - Update processing so that unpackWARs is respected even when deploying a context file. In that case, the docBase is adjusted to reflect the unpacked WAR. Also, using the unpacked docBase in the config file is valid, and will produce the same result as pointing to the WAR file. - This fixes bug 4829. - If a context file is added for an existing context, or if a context file is updated, the context will be redeployed (note: a special workaround of some sort will likely be needed when the admin webapp commits changes, unless we accept this as an acceptable side effect). - This lacks testing, but is the final piece of the deployer refactoring (sorry for breaking stuff ...). Revision ChangesPath 1.2 +6 -4 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/ContextRuleSet.java Index: ContextRuleSet.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/ContextRuleSet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ContextRuleSet.java 18 Jul 2002 16:47:48 - 1.1 +++ ContextRuleSet.java 24 Jun 2003 22:37:05 - 1.2 @@ -159,6 +159,8 @@ (digester, org.apache.catalina.startup.ContextConfig, configClass)); +digester.addRule(prefix + Context, + new SetDocBaseRule(digester)); digester.addSetNext(prefix + Context, addChild, org.apache.catalina.Container); 1.16 +27 -8 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/HostConfig.java Index: HostConfig.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/HostConfig.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- HostConfig.java 21 Jun 2003 19:59:46 - 1.15 +++ HostConfig.java 24 Jun 2003 22:37:05 - 1.16 @@ -478,13 +478,16 @@ if (file.equals(ROOT)) { contextPath = ; } -if (host.findChild(contextPath) != null) { -continue; -} // Assume this is a configuration descriptor and deploy it log.debug(sm.getString(hostConfig.deployDescriptor, files[i])); try { +if (host.findChild(contextPath) != null) { +// If this is a newly added context file and +// it overrides a context with a simple path, +// undeploy the context +((Deployer) host).remove(contextPath); +} URL config = new URL(file, null, dir.getCanonicalPath()); ((Deployer) host).install(config, null); @@ -696,7 +699,23 @@ } else { if (lastModified.longValue() != newLastModified) { contextXmlLastModified.remove(contextName); -restartContext(context); +String fileName = contextName; +if (fileName.equals()) { +fileName = ROOT.xml; +} else { +fileName = fileName + .war; +} +try { +deployed.remove(fileName); +if (host.findChild(contextName) != null) { +((Deployer) host).remove(contextName); +} +} catch (Throwable t) { +log.error(sm.getString + (hostConfig.undeployJar.error, + fileName), t); +} +deployApps(); } } } 1.1 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/SetDocBaseRule.java Index: SetDocBaseRule.java === /* * $Header: