You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2006/05/17 19:17:20 UTC

svn commit: r407329 - in /cocoon/trunk: blocks/cocoon-paranoid/cocoon-paranoid-impl/ blocks/cocoon-paranoid/cocoon-paranoid-impl/src/main/java/org/apache/cocoon/servlet/ core/cocoon-webapp/ core/cocoon-webapp/src/main/webapp/WEB-INF/

Author: cziegeler
Date: Wed May 17 10:17:19 2006
New Revision: 407329

URL: http://svn.apache.org/viewvc?rev=407329&view=rev
Log:
Cleanup paranoid block and use paranoid servlet as default

Modified:
    cocoon/trunk/blocks/cocoon-paranoid/cocoon-paranoid-impl/pom.xml
    cocoon/trunk/blocks/cocoon-paranoid/cocoon-paranoid-impl/src/main/java/org/apache/cocoon/servlet/BootstrapServlet.java
    cocoon/trunk/blocks/cocoon-paranoid/cocoon-paranoid-impl/src/main/java/org/apache/cocoon/servlet/ParanoidClassLoader.java
    cocoon/trunk/blocks/cocoon-paranoid/cocoon-paranoid-impl/src/main/java/org/apache/cocoon/servlet/ParanoidCocoonServlet.java
    cocoon/trunk/core/cocoon-webapp/pom.xml
    cocoon/trunk/core/cocoon-webapp/src/main/webapp/WEB-INF/web.xml

Modified: cocoon/trunk/blocks/cocoon-paranoid/cocoon-paranoid-impl/pom.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-paranoid/cocoon-paranoid-impl/pom.xml?rev=407329&r1=407328&r2=407329&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-paranoid/cocoon-paranoid-impl/pom.xml (original)
+++ cocoon/trunk/blocks/cocoon-paranoid/cocoon-paranoid-impl/pom.xml Wed May 17 10:17:19 2006
@@ -33,14 +33,10 @@
   <description/>
   <dependencies>
     <dependency>
-      <groupId>org.apache.cocoon</groupId>
-      <artifactId>cocoon-core</artifactId>
-      <version>2.2.0-SNAPSHOT</version>
-    </dependency>
-    <dependency>
-      <groupId>servletapi</groupId>
-      <artifactId>servletapi</artifactId>
-      <version>2.3</version>
+      <groupId>javax.servlet</groupId>
+      <artifactId>servlet-api</artifactId>
+      <version>2.3</version>
+      <scope>provided</scope>
     </dependency>
   </dependencies>
 </project>

Modified: cocoon/trunk/blocks/cocoon-paranoid/cocoon-paranoid-impl/src/main/java/org/apache/cocoon/servlet/BootstrapServlet.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-paranoid/cocoon-paranoid-impl/src/main/java/org/apache/cocoon/servlet/BootstrapServlet.java?rev=407329&r1=407328&r2=407329&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-paranoid/cocoon-paranoid-impl/src/main/java/org/apache/cocoon/servlet/BootstrapServlet.java (original)
+++ cocoon/trunk/blocks/cocoon-paranoid/cocoon-paranoid-impl/src/main/java/org/apache/cocoon/servlet/BootstrapServlet.java Wed May 17 10:17:19 2006
@@ -42,10 +42,8 @@
  * <li>resolve paths for context resources.
  * </ul>
  *
- * @author <a href="mailto:sylvain@apache.org">Sylvain Wallez</a>
  * @version $Id$
  */
-
 public class BootstrapServlet extends ParanoidCocoonServlet {
     
     protected File contextDir;

Modified: cocoon/trunk/blocks/cocoon-paranoid/cocoon-paranoid-impl/src/main/java/org/apache/cocoon/servlet/ParanoidClassLoader.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-paranoid/cocoon-paranoid-impl/src/main/java/org/apache/cocoon/servlet/ParanoidClassLoader.java?rev=407329&r1=407328&r2=407329&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-paranoid/cocoon-paranoid-impl/src/main/java/org/apache/cocoon/servlet/ParanoidClassLoader.java (original)
+++ cocoon/trunk/blocks/cocoon-paranoid/cocoon-paranoid-impl/src/main/java/org/apache/cocoon/servlet/ParanoidClassLoader.java Wed May 17 10:17:19 2006
@@ -21,15 +21,12 @@
 import java.net.URLClassLoader;
 import java.net.URLStreamHandlerFactory;
 
-/*
+/**
  * The <code>ParanoidClassLoader</code> reverses the search order for
  * classes.  It checks this classloader before it checks its parent.
  *
- * @author <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
- * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
  * @version $Id$
  */
-
 public class ParanoidClassLoader extends URLClassLoader {
 
     /**
@@ -67,22 +64,6 @@
      */
     public ParanoidClassLoader(final URL[] urls, final ClassLoader parent, final URLStreamHandlerFactory factory) {
         super(urls, parent, factory);
-    }
-
-    /**
-     * Extends <code>URLClassLoader</code>'s initialization methods so we
-     * return a <code>ParanoidClassLoad</code> instead.
-     */
-    public static final URLClassLoader newInstance(final URL[] urls) {
-        return new ParanoidClassLoader(urls);
-    }
-
-    /**
-     * Extends <code>URLClassLoader</code>'s initialization methods so we
-     * return a <code>ParanoidClassLoad</code> instead.
-     */
-    public static final URLClassLoader newInstance(final URL[] urls, final ClassLoader parent) {
-        return new ParanoidClassLoader(urls, parent);
     }
 
     /**

Modified: cocoon/trunk/blocks/cocoon-paranoid/cocoon-paranoid-impl/src/main/java/org/apache/cocoon/servlet/ParanoidCocoonServlet.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-paranoid/cocoon-paranoid-impl/src/main/java/org/apache/cocoon/servlet/ParanoidCocoonServlet.java?rev=407329&r1=407328&r2=407329&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-paranoid/cocoon-paranoid-impl/src/main/java/org/apache/cocoon/servlet/ParanoidCocoonServlet.java (original)
+++ cocoon/trunk/blocks/cocoon-paranoid/cocoon-paranoid-impl/src/main/java/org/apache/cocoon/servlet/ParanoidCocoonServlet.java Wed May 17 10:17:19 2006
@@ -57,12 +57,8 @@
  *      is resolved to the basedir of the servlet context.
  * </ul>
  *
- * @author <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
- * @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
- * @author <a href="mailto:tcurdt@apache.org">Torsten Curdt</a>
  * @version $Id$
  */
-
 public class ParanoidCocoonServlet extends HttpServlet {
 
     /**
@@ -78,10 +74,11 @@
 
     protected ClassLoader classloader;
 
+    /**
+     * @see javax.servlet.GenericServlet#init(javax.servlet.ServletConfig)
+     */
     public void init(ServletConfig config) throws ServletException {
-
         super.init(config);
-
         // Create the classloader in which we will load the servlet
         // this can either be specified by an external file configured
         // as a parameter in web.xml or (the default) all jars and
@@ -98,7 +95,6 @@
         }
         this.classloader = createClassLoader(classLoaderName, getContextDir(), classPath);
 
-        
         String servletName = config.getInitParameter("servlet-class");
         if (servletName == null) {
             servletName = DEFAULT_SERVLET_CLASS;
@@ -188,7 +184,7 @@
 
         return urls;
     }
-    
+
     protected URL[] getClassPath(final String externalClasspath, final File contextDir) throws ServletException {
         final List urlList = new ArrayList();
 
@@ -250,14 +246,16 @@
         } catch (IOException io) {
             throw new ServletException(io);
         }
-
         URL[] urls = (URL[]) urlList.toArray(new URL[urlList.size()]);
 
         return urls;
     }
 
-    protected ClassLoader createClassLoader(final String className, final File contextDir, final URL[] classPath) throws ServletException {
-        if (className != null) {
+    protected ClassLoader createClassLoader(final String className,
+                                            final File contextDir,
+                                            final URL[] classPath)
+    throws ServletException {
+        if (className != null && !className.equals(ParanoidClassLoader.class.getName())) {
             try {
                 final Class classLoaderClass = Class.forName(className);
                 final Class[] parameterClasses = new Class[] { ClassLoader.class, File.class };
@@ -283,35 +281,14 @@
                 throw new ServletException("", e);
             }
         } else {
-            return ParanoidClassLoader.newInstance(classPath, this.getClass().getClassLoader());
+            return new ParanoidClassLoader(classPath, this.getClass().getClassLoader());
         }
     }
 
-    
-    /**
-     * Get the classloader that will be used to create the actual servlet. Its
-     * classpath is defined by the WEB-INF/classes and WEB-INF/lib directories
-     * in the context dir.
-     * @deprecated
-     */
-    protected ClassLoader getClassLoader(File contextDir) throws ServletException {
-        return createClassLoader(null, contextDir, getClassPath(contextDir));
-    }
-
-    /**
-     * Get the classloader that will be used to create the actual servlet. Its
-     * classpath is defined by an external file.
-     * @deprecated
-     */
-    protected ClassLoader getClassLoader(final String externalClasspath, final File contextDir) throws ServletException {
-        return createClassLoader(null, contextDir, getClassPath(externalClasspath, contextDir));
-    }
-
     /**
      * Service the request by delegating the call to the real servlet
      */
     public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
-
         final ClassLoader old = Thread.currentThread().getContextClassLoader();
         try {
             Thread.currentThread().setContextClassLoader(this.classloader);
@@ -325,7 +302,6 @@
      * Destroy the actual servlet
      */
     public void destroy() {
-
         if (this.servlet != null) {
             final ClassLoader old = Thread.currentThread().getContextClassLoader();
             try {
@@ -335,7 +311,6 @@
                 Thread.currentThread().setContextClassLoader(old);
             }
         }
-
         super.destroy();
     }
 
@@ -344,6 +319,4 @@
             return name.endsWith(".zip") || name.endsWith(".jar");
         }
     }
-
-}
-
+}
\ No newline at end of file

Modified: cocoon/trunk/core/cocoon-webapp/pom.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-webapp/pom.xml?rev=407329&r1=407328&r2=407329&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-webapp/pom.xml (original)
+++ cocoon/trunk/core/cocoon-webapp/pom.xml Wed May 17 10:17:19 2006
@@ -82,6 +82,11 @@
       <artifactId>cocoon-core</artifactId>
       <version>2.2.0-SNAPSHOT</version>
     </dependency>
+    <dependency>
+      <groupId>org.apache.cocoon</groupId>
+      <artifactId>cocoon-paranoid-impl</artifactId>
+      <version>1.0.0-SNAPSHOT</version>
+    </dependency>    
     <!--dependency> cocoon-session-fw-sample doesn't work because of old-style xconf/roles-files
       <groupId>org.apache.cocoon</groupId>
       <artifactId>cocoon-session-fw-sample</artifactId>

Modified: cocoon/trunk/core/cocoon-webapp/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-webapp/src/main/webapp/WEB-INF/web.xml?rev=407329&r1=407328&r2=407329&view=diff
==============================================================================
--- cocoon/trunk/core/cocoon-webapp/src/main/webapp/WEB-INF/web.xml (original)
+++ cocoon/trunk/core/cocoon-webapp/src/main/webapp/WEB-INF/web.xml Wed May 17 10:17:19 2006
@@ -47,19 +47,19 @@
     <description>Cocoon</description>
 
     <!--
-      The regular servlet class (trusts the servlet container classloader)
-      -->
-    <servlet-class>org.apache.cocoon.servlet.CocoonServlet</servlet-class>
-    <!--
       The paranoid servlet class, to be used instead of regular one when
       having conflicts between libraries used by Cocoon and the servlet
       container.
+    -->
     <servlet-class>org.apache.cocoon.servlet.ParanoidCocoonServlet</servlet-class>
     <init-param>
       <param-name>classloader-class</param-name>
-      <param-value>org.apache.commons.javaflow.ContinuationCompilingClassLoader</param-value>
+      <param-value>org.apache.cocoon.servlet.ParanoidClassLoader</param-value>
     </init-param>
-    -->
+    <!--
+      The regular servlet class (trusts the servlet container classloader)
+    <servlet-class>org.apache.cocoon.servlet.CocoonServlet</servlet-class>
+      -->
 
     <!--
       Set encoding used by the container. If not set the ISO-8859-1 encoding