Return-Path: Delivered-To: apmail-xml-cocoon-cvs-archive@xml.apache.org Received: (qmail 93895 invoked by uid 500); 11 Apr 2002 13:42:15 -0000 Mailing-List: contact cocoon-cvs-help@xml.apache.org; run by ezmlm Precedence: bulk Reply-To: cocoon-dev@xml.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list cocoon-cvs@xml.apache.org Received: (qmail 93885 invoked by uid 500); 11 Apr 2002 13:42:15 -0000 Delivered-To: apmail-xml-cocoon2-cvs@apache.org Date: 11 Apr 2002 13:42:14 -0000 Message-ID: <20020411134214.40882.qmail@icarus.apache.org> From: sylvain@apache.org To: xml-cocoon2-cvs@apache.org Subject: cvs commit: xml-cocoon2/src/java/org/apache/cocoon/servlet CocoonServlet.java BootstrapServlet.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N sylvain 02/04/11 06:42:14 Modified: src/java/org/apache/cocoon/servlet CocoonServlet.java BootstrapServlet.java Log: - BootstrapServlet incorrectly handled servlet config attributes - rename "context-dir" parameter in BootstrapServlet to "context-directory" for consistency with other parameters - fix handling of absolute paths for the work-directory parameter Revision Changes Path 1.20 +11 -2 xml-cocoon2/src/java/org/apache/cocoon/servlet/CocoonServlet.java Index: CocoonServlet.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/servlet/CocoonServlet.java,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- CocoonServlet.java 24 Mar 2002 21:56:35 -0000 1.19 +++ CocoonServlet.java 11 Apr 2002 13:42:14 -0000 1.20 @@ -118,7 +118,7 @@ * @author Berin Loritsch * @author Carsten Ziegeler * @author Leo Sutic - * @version CVS $Id: CocoonServlet.java,v 1.19 2002/03/24 21:56:35 sylvain Exp $ + * @version CVS $Id: CocoonServlet.java,v 1.20 2002/04/11 13:42:14 sylvain Exp $ */ public class CocoonServlet extends HttpServlet { @@ -227,9 +227,18 @@ final String workDirParam = conf.getInitParameter("work-directory"); if ((workDirParam != null) && (!workDirParam.trim().equals(""))) { if (this.servletContextPath == null) { + // No context path : consider work-directory as absolute this.workDir = new File(workDirParam); } else { - this.workDir = IOUtils.createFile( new File(servletContextPath) , workDirParam); + // Context path exists : is work-directory absolute ? + File workDirParamFile = new File(workDirParam); + if (workDirParamFile.isAbsolute()) { + // Yes : keep it as is + this.workDir = workDirParamFile; + } else { + // No : consider it relative to context path + this.workDir = new File(servletContextPath , workDirParam); + } } this.workDir.mkdirs(); } else { 1.3 +22 -16 xml-cocoon2/src/java/org/apache/cocoon/servlet/BootstrapServlet.java Index: BootstrapServlet.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/servlet/BootstrapServlet.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- BootstrapServlet.java 23 Mar 2002 19:52:02 -0000 1.2 +++ BootstrapServlet.java 11 Apr 2002 13:42:14 -0000 1.3 @@ -83,7 +83,7 @@ * * * @author Sylvain Wallez - * @version CVS $Id: BootstrapServlet.java,v 1.2 2002/03/23 19:52:02 sylvain Exp $ + * @version CVS $Id: BootstrapServlet.java,v 1.3 2002/04/11 13:42:14 sylvain Exp $ */ public class BootstrapServlet extends HttpServlet { @@ -100,17 +100,21 @@ protected ServletContext context; public void init(ServletConfig config) throws ServletException { - super.init(config); - this.context = config.getServletContext(); this.context.log("getRealPath(\"/\") = " + context.getRealPath("/")); - String contextDirParam = getInitParameter("context-dir"); + String contextDirParam = config.getInitParameter("context-directory"); if (contextDirParam == null) { - String msg = "The 'context-dir' parameter must be set to the root of the servlet context"; - this.context.log(msg); - throw new ServletException(msg); + // Check old form, not consistent with other parameter names + contextDirParam = config.getInitParameter("context-dir"); + if (contextDirParam == null) { + String msg = "The 'context-directory' parameter must be set to the root of the servlet context"; + this.context.log(msg); + throw new ServletException(msg); + } else { + this.context.log("Parameter 'context-dir' is deprecated - use 'context-directory'"); + } } // Ensure context dir doesn't end with a "/" (servlet spec says that paths for @@ -151,7 +155,9 @@ Thread.currentThread().setContextClassLoader(this.classloader); ServletContext newContext = new ContextWrapper(context, contextDirParam); - ServletConfig newConfig = new SimpleConfig(config.getServletName(), newContext); + ServletConfig newConfig = new ConfigWrapper(config, newContext); + + super.init(newConfig); // Inlitialize the actual servlet this.servlet.init(newConfig); @@ -220,26 +226,26 @@ //------------------------------------------------------------------------- /** * Implementation of ServletConfig passed to the actual servlet. - * It delegates calls to the provided ServletContext. + * It wraps the original config object and returns the new context. */ - public static class SimpleConfig implements ServletConfig { - String name; + public static class ConfigWrapper implements ServletConfig { + ServletConfig config; ServletContext context; /** * Builds a ServletConfig using a servlet name and * a ServletContext. */ - public SimpleConfig(String name, ServletContext context) { - this.name = name; + public ConfigWrapper(ServletConfig config, ServletContext context) { + this.config = config; this.context = context; } public String getServletName() { - return this.name; + return config.getServletName(); } public Enumeration getInitParameterNames() { - return this.context.getInitParameterNames(); + return this.config.getInitParameterNames(); } public ServletContext getServletContext() { @@ -247,7 +253,7 @@ } public String getInitParameter(String name) { - return context.getInitParameter(name); + return config.getInitParameter(name); } } ---------------------------------------------------------------------- In case of troubles, e-mail: webmaster@xml.apache.org To unsubscribe, e-mail: cocoon-cvs-unsubscribe@xml.apache.org For additional commands, e-mail: cocoon-cvs-help@xml.apache.org