Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 82617 invoked from network); 23 Apr 2006 01:56:00 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 23 Apr 2006 01:56:00 -0000 Received: (qmail 96528 invoked by uid 500); 23 Apr 2006 01:56:00 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 96520 invoked by uid 500); 23 Apr 2006 01:56:00 -0000 Mailing-List: contact scm-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list scm@geronimo.apache.org Received: (qmail 96509 invoked by uid 99); 23 Apr 2006 01:55:59 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 22 Apr 2006 18:55:59 -0700 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Sat, 22 Apr 2006 18:55:59 -0700 Received: (qmail 82170 invoked by uid 65534); 23 Apr 2006 01:55:38 -0000 Message-ID: <20060423015538.82168.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r396193 - /geronimo/branches/1.1/modules/tomcat/src/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java Date: Sun, 23 Apr 2006 01:55:38 -0000 To: scm@geronimo.apache.org From: gdamour@apache.org X-Mailer: svnmailer-1.0.8 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: gdamour Date: Sat Apr 22 18:55:36 2006 New Revision: 396193 URL: http://svn.apache.org/viewcvs?rev=396193&view=rev Log: GERONIMO-1871 Unable to deploy Tapestry app due to classloading issue The CL to be used is the Geronimo one and not the WebappClassLoader created by Tomcat. Modified: geronimo/branches/1.1/modules/tomcat/src/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java Modified: geronimo/branches/1.1/modules/tomcat/src/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/tomcat/src/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java?rev=396193&r1=396192&r2=396193&view=diff ============================================================================== --- geronimo/branches/1.1/modules/tomcat/src/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java (original) +++ geronimo/branches/1.1/modules/tomcat/src/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java Sat Apr 22 18:55:36 2006 @@ -16,6 +16,7 @@ */ package org.apache.geronimo.tomcat; +import java.beans.PropertyChangeListener; import java.io.IOException; import java.util.Iterator; import java.util.List; @@ -29,6 +30,7 @@ import org.apache.catalina.Container; import org.apache.catalina.LifecycleException; +import org.apache.catalina.Loader; import org.apache.catalina.Manager; import org.apache.catalina.Valve; import org.apache.catalina.Wrapper; @@ -254,6 +256,72 @@ super.addChild(child); } + public synchronized void setLoader(final Loader delegate) { + Loader loader = new Loader() { + + public void backgroundProcess() { + delegate.backgroundProcess(); + } + + public ClassLoader getClassLoader() { + // Implementation Note: the actual CL to be used by this + // context is the Geronimo one and not the Tomcat one. + return parentClassLoader; + } + + public Container getContainer() { + return delegate.getContainer(); + } + + public void setContainer(Container container) { + delegate.setContainer(container); + } + + public boolean getDelegate() { + return delegate.getDelegate(); + } + + public void setDelegate(boolean delegateBoolean) { + delegate.setDelegate(delegateBoolean); + } + + public String getInfo() { + return delegate.getInfo(); + } + + public boolean getReloadable() { + return false; + } + + public void setReloadable(boolean reloadable) { + if (reloadable) { + throw new UnsupportedOperationException("Reloadable context is not supported."); + } + } + + public void addPropertyChangeListener(PropertyChangeListener listener) { + delegate.addPropertyChangeListener(listener); + } + + public void addRepository(String repository) { + delegate.addRepository(repository); + } + + public String[] findRepositories() { + return delegate.findRepositories(); + } + + public boolean modified() { + return delegate.modified(); + } + + public void removePropertyChangeListener(PropertyChangeListener listener) { + delegate.removePropertyChangeListener(listener); + } + }; + + super.setLoader(loader); + } private class SystemMethodValve extends ValveBase {