Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 27628 invoked from network); 21 Feb 2005 04:43:10 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 21 Feb 2005 04:43:10 -0000 Received: (qmail 21353 invoked by uid 500); 21 Feb 2005 04:43:10 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 21336 invoked by uid 500); 21 Feb 2005 04:43:09 -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 Delivered-To: mailing list scm@geronimo.apache.org Received: (qmail 21323 invoked by uid 99); 21 Feb 2005 04:43:09 -0000 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Sun, 20 Feb 2005 20:43:08 -0800 Received: (qmail 27608 invoked by uid 65534); 21 Feb 2005 04:43:07 -0000 Message-ID: <20050221044307.27606.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Mailer: svnmailer-1.0.0-dev Date: Mon, 21 Feb 2005 04:43:07 -0000 Subject: svn commit: r154623 [2/2] - in geronimo/trunk/modules: assembly/src/plan/ axis-builder/ axis-builder/src/java/org/apache/geronimo/axis/builder/ axis-builder/src/test/org/apache/geronimo/axis/builder/ axis/src/java/org/apache/geronimo/axis/client/ j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/ j2ee-builder/src/test/org/apache/geronimo/j2ee/deployment/ j2ee-schema/ j2ee/src/java/org/apache/geronimo/j2ee/j2eeobjectnames/ jetty-builder/ jetty-builder/src/java/org/apache/geronimo/jetty/deployment/ jetty-builder/src/test/org/apache/geronimo/jetty/deployment/ jetty/src/java/org/apache/geronimo/jetty/ tomcat/src/java/org/apache/geronimo/tomcat/deployment/ To: scm@geronimo.apache.org From: djencks@apache.org X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Modified: geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo= /jetty/deployment/JettyModuleBuilder.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/jetty-builder/src= /java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java?view=3Dd= iff&r1=3D154622&r2=3D154623 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo/jetty= /deployment/JettyModuleBuilder.java (original) +++ geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo/jetty= /deployment/JettyModuleBuilder.java Sun Feb 20 20:43:02 2005 @@ -58,6 +58,7 @@ import org.apache.geronimo.j2ee.deployment.Module; import org.apache.geronimo.j2ee.deployment.ModuleBuilder; import org.apache.geronimo.j2ee.deployment.WebModule; +import org.apache.geronimo.j2ee.deployment.WebServiceBuilder; import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContext; import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContextImpl; import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory; @@ -67,6 +68,7 @@ import org.apache.geronimo.jetty.JettyServletHolder; import org.apache.geronimo.jetty.JettyWebAppContext; import org.apache.geronimo.kernel.Kernel; +import org.apache.geronimo.kernel.GBeanNotFoundException; import org.apache.geronimo.kernel.repository.Repository; import org.apache.geronimo.naming.deployment.ENCConfigBuilder; import org.apache.geronimo.naming.deployment.GBeanResourceEnvironmentBuild= er; @@ -102,6 +104,9 @@ import org.apache.geronimo.xbeans.j2ee.WebAppType; import org.apache.geronimo.xbeans.j2ee.WebResourceCollectionType; import org.apache.geronimo.xbeans.j2ee.WelcomeFileListType; +import org.apache.geronimo.xbeans.j2ee.WebservicesDocument; +import org.apache.geronimo.axis.builder.WSDescriptorParser; +import org.apache.geronimo.axis.builder.PortInfo; import org.apache.xmlbeans.XmlException; import org.apache.xmlbeans.XmlObject; import org.mortbay.http.BasicAuthenticator; @@ -119,6 +124,9 @@ private final ObjectName defaultServlets; private final ObjectName defaultFilters; private final ObjectName defaultFilterMappings; + private final ObjectName pojoWebServiceTemplate; + + private final WebServiceBuilder webServiceBuilder; =20 private final List defaultWelcomeFiles; private final Integer defaultSessionTimeoutSeconds; @@ -133,6 +141,8 @@ ObjectName defaultServlets, ObjectName defaultFilters, ObjectName defaultFilterMappings, + ObjectName pojoWebServiceTemplate, + WebServiceBuilder webServiceBuilder, Repository repository, Kernel kernel) { this.defaultParentId =3D defaultParentId; @@ -141,6 +151,8 @@ this.defaultServlets =3D defaultServlets; this.defaultFilters =3D defaultFilters; this.defaultFilterMappings =3D defaultFilterMappings; + this.pojoWebServiceTemplate =3D pojoWebServiceTemplate; + this.webServiceBuilder =3D webServiceBuilder; this.repository =3D repository; this.kernel =3D kernel; =20 @@ -188,6 +200,15 @@ } check(webApp); =20 + //look for a webservices dd + Map portMap =3D Collections.EMPTY_MAP; + try { + URL wsDDUrl =3D DeploymentUtil.createJarURL(moduleFile, "WEB-I= NF/webservices.xml"); + portMap =3D WSDescriptorParser.parseWebServiceDescriptor(wsDDU= rl, moduleFile, false); + } catch (MalformedURLException e) { + //no descriptor + } + // parse vendor dd JettyWebAppType jettyWebApp =3D getJettyWebApp(plan, moduleFile, s= tandAlone, targetPath, webApp); =20 @@ -210,7 +231,7 @@ parentId =3D defaultParentId; } =20 - WebModule module =3D new WebModule(standAlone, configId, parentId,= moduleFile, targetPath, webApp, jettyWebApp, specDD); + WebModule module =3D new WebModule(standAlone, configId, parentId,= moduleFile, targetPath, webApp, jettyWebApp, specDD, portMap); module.setContextRoot(jettyWebApp.getContextRoot()); return module; } @@ -673,10 +694,11 @@ =20 //set up servlet gbeans. ServletType[] servletTypes =3D webApp.getServletArray(); + Map portMap =3D ((WebModule)module).getPortMap(); =20 for (int i =3D 0; i < servletTypes.length; i++) { ServletType servletType =3D servletTypes[i]; - addServlet(webModuleName, servletType, servletMappings, se= curityRoles, webClassLoader, moduleJ2eeContext, earContext); + addServlet(webModuleName, servletType, servletMappings, se= curityRoles, portMap, webClassLoader, moduleJ2eeContext, earContext); } } catch (DeploymentException de) { throw de; @@ -704,7 +726,13 @@ return webClassLoader; } =20 - private void addServlet(ObjectName webModuleName, ServletType servletT= ype, Map servletMappings, Set securityRoles, ClassLoader webClassLoader, J2= eeContext moduleJ2eeContext, EARContext earContext) throws MalformedObjectN= ameException, DeploymentException { + private void addServlet(ObjectName webModuleName, + ServletType servletType, + Map servletMappings, + Set securityRoles, + Map portMap, ClassLoader webClassLoader, + J2eeContext moduleJ2eeContext, + EARContext earContext) throws MalformedObjectN= ameException, DeploymentException { String servletName =3D servletType.getServletName().getStringValue= ().trim(); ObjectName servletObjectName =3D NameFactory.getWebComponentName(n= ull, null, null, null, servletName, NameFactory.SERVLET, moduleJ2eeContext); GBeanData servletData; @@ -726,9 +754,18 @@ servletData =3D new GBeanData(servletObjectName, JettyServ= letHolder.GBEAN_INFO); servletData.setAttribute("servletClass", servletClassName); } else { -// servletData =3D webServiceBuilder.buildServletGBean(); - System.out.println("NOT DEPLOYING WEB SERVICE CLASS " + se= rvletClassName); - return; + try { + servletData =3D kernel.getGBeanData(pojoWebServiceTemp= late); + } catch (GBeanNotFoundException e) { + throw new DeploymentException("No POJO web service tem= plate gbean found at object name: " + pojoWebServiceTemplate, e); + } + servletData.setName(servletObjectName); + //let the web service builder deal with configuring the gb= ean with the web service stack + PortInfo portInfo =3D (PortInfo) portMap.get(servletName); + if (portInfo =3D=3D null) { + throw new DeploymentException("No web service deployme= nt info for servlet name " + servletName); + } + webServiceBuilder.configurePOJO(servletData, portInfo, ser= vletClassName); } } else if (servletType.isSetJspFile()) { servletData =3D new GBeanData(servletObjectName, JettyServletH= older.GBEAN_INFO); @@ -1070,6 +1107,8 @@ infoBuilder.addAttribute("defaultServlets", ObjectName.class, true= ); infoBuilder.addAttribute("defaultFilters", ObjectName.class, true); infoBuilder.addAttribute("defaultFilterMappings", ObjectName.class= , true); + infoBuilder.addAttribute("pojoWebServiceTemplate", ObjectName.clas= s, true); + infoBuilder.addReference("WebServiceBuilder", WebServiceBuilder.cl= ass); infoBuilder.addReference("Repository", Repository.class); infoBuilder.addAttribute("kernel", Kernel.class, false); infoBuilder.addInterface(ModuleBuilder.class); @@ -1082,6 +1121,8 @@ "defaultServlets", "defaultFilters", "defaultFilterMappings", + "pojoWebServiceTemplate", + "WebServiceBuilder", "Repository", "kernel"}); GBEAN_INFO =3D infoBuilder.getBeanInfo(); Modified: geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo= /jetty/deployment/JettyModuleBuilderTest.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/jetty-builder/src= /test/org/apache/geronimo/jetty/deployment/JettyModuleBuilderTest.java?view= =3Ddiff&r1=3D154622&r2=3D154623 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo/jetty= /deployment/JettyModuleBuilderTest.java (original) +++ geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo/jetty= /deployment/JettyModuleBuilderTest.java Sun Feb 20 20:43:02 2005 @@ -47,6 +47,7 @@ import org.apache.geronimo.j2ee.deployment.RefContext; import org.apache.geronimo.j2ee.deployment.ResourceReferenceBuilder; import org.apache.geronimo.j2ee.deployment.ServiceReferenceBuilder; +import org.apache.geronimo.j2ee.deployment.WebServiceBuilder; import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContext; import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContextImpl; import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory; @@ -226,10 +227,12 @@ kernel.startGBean(baseConfig.getName()); =20 ObjectName defaultServlets =3D ObjectName.getInstance("test:name= =3Dtest,type=3Dnone,*"); + ObjectName pojoWebServiceTemplate =3D null; + WebServiceBuilder webServiceBuilder =3D null; //install the policy configuration factory SecurityServiceImpl securityService =3D new SecurityServiceImpl(nu= ll, "org.apache.geronimo.security.jacc.GeronimoPolicyConfigurationFactory",= null); =20 - builder =3D new JettyModuleBuilder(new URI("null"), new Integer(18= 00), Collections.EMPTY_LIST, containerName, defaultServlets, null, null, nu= ll, kernel); + builder =3D new JettyModuleBuilder(new URI("null"), new Integer(18= 00), Collections.EMPTY_LIST, containerName, defaultServlets, null, null, po= joWebServiceTemplate, webServiceBuilder, null, kernel); =20 container =3D new GBeanData(containerName, JettyContainerImpl.GBEA= N_INFO); =20 Modified: geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo= /jetty/deployment/PlanParsingTest.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/jetty-builder/src= /test/org/apache/geronimo/jetty/deployment/PlanParsingTest.java?view=3Ddiff= &r1=3D154622&r2=3D154623 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo/jetty= /deployment/PlanParsingTest.java (original) +++ geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo/jetty= /deployment/PlanParsingTest.java Sun Feb 20 20:43:02 2005 @@ -9,12 +9,15 @@ import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppDocument; import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType; import org.apache.geronimo.xbeans.geronimo.naming.GerResourceRefType; +import org.apache.geronimo.j2ee.deployment.WebServiceBuilder; =20 /** */ public class PlanParsingTest extends TestCase { ObjectName jettyContainerObjectName =3D JMXUtil.getObjectName("test:ty= pe=3DJettyContainer"); - private JettyModuleBuilder builder =3D new JettyModuleBuilder(null, ne= w Integer(1800), null, jettyContainerObjectName, null, null, null, null, nu= ll); + ObjectName pojoWebServiceTemplate =3D null; + WebServiceBuilder webServiceBuilder =3D null; + private JettyModuleBuilder builder =3D new JettyModuleBuilder(null, ne= w Integer(1800), null, jettyContainerObjectName, null, null, null, pojoWebS= erviceTemplate, webServiceBuilder, null, null); private File basedir =3D new File(System.getProperty("basedir", ".")); =20 public void testResourceRef() throws Exception { Added: geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/Jett= yAxisPOJOWebService.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/jetty/src/java/or= g/apache/geronimo/jetty/JettyAxisPOJOWebService.java?view=3Dauto&rev=3D1546= 23 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyAx= isPOJOWebService.java (added) +++ geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyAx= isPOJOWebService.java Sun Feb 20 20:43:02 2005 @@ -0,0 +1,150 @@ +/** + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implie= d=2E + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.geronimo.jetty; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Map; +import java.util.Set; +import java.util.Collections; +import javax.security.jacc.PolicyContext; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.UnavailableException; +import javax.servlet.Servlet; +import javax.servlet.ServletConfig; + +import org.apache.geronimo.gbean.GBeanInfo; +import org.apache.geronimo.gbean.GBeanInfoBuilder; +import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory; +import org.mortbay.jetty.servlet.ServletHolder; +import org.mortbay.jetty.servlet.ServletHttpRequest; + + +/** + * This is intended to hold the web service stack for an axis POJO web ser= vice. + * It is starting life as a copy of JettyServletHolder. + * + * @version $Rev: 154436 $ $Date: 2005-02-19 10:22:02 -0800 (Sat, 19 Feb 2= 005) $ + */ +public class JettyAxisPOJOWebService extends ServletHolder { + + //todo consider interface instead of this constructor for endpoint use. + public JettyAxisPOJOWebService() { + + } + + public JettyAxisPOJOWebService(String servletName, + Map initParams, + Integer loadOnStartup, + Set servletMappings, + Map webRoleRefPermissions, + JettyServletRegistration context) throws Exc= eption { + super(context =3D=3D null? null: context.getServletHandler(), serv= letName, DummyServlet.class.getName(), null); + //context will be null only for use as "default servlet info holde= r" in deployer. + + if (context !=3D null) { + putAll(initParams); + if (loadOnStartup !=3D null) { + setInitOrder(loadOnStartup.intValue()); + } + //this now starts the servlet in the appropriate context + context.registerServletHolder(this, servletName, servletMappin= gs, webRoleRefPermissions =3D=3D null? Collections.EMPTY_MAP: webRoleRefPer= missions); +// start(); + } + } + + //todo how do we stop/destroy the servlet? + //todo is start called twice??? + + public String getServletName() { + return getName(); + } + + /** + * Service a request with this servlet. Set the ThreadLocal to hold t= he + * current JettyServletHolder. + */ + public void handle(ServletRequest request, ServletResponse response) + throws ServletException, UnavailableException, IOException { + + JettyServletHolder.currentServletHolder.set(this); + PolicyContext.setHandlerData(ServletHttpRequest.unwrap(request)); + + super.handle(request, response); + } + + public static class DummyServlet implements Servlet { + + public void init(ServletConfig config) throws ServletException { + + } + + public ServletConfig getServletConfig() { + return null; + } + + public void service(ServletRequest req, ServletResponse res) throw= s ServletException, IOException { + //just for fun, copy input into output + InputStream in =3D req.getInputStream(); + OutputStream out =3D res.getOutputStream(); + byte[] buf =3D new byte[1024]; + int i; + while ((i =3D in.read(buf)) > 0) { + out.write(buf, 0, i); + } + } + + public String getServletInfo() { + return null; + } + + public void destroy() { + + } + } + + public static final GBeanInfo GBEAN_INFO; + + static { + GBeanInfoBuilder infoBuilder =3D new GBeanInfoBuilder(JettyAxisPOJ= OWebService.class, NameFactory.SERVLET_WEB_SERVICE_TEMPLATE); + //todo replace with interface + infoBuilder.addInterface(ServletHolder.class); + =20 + infoBuilder.addAttribute("servletName", String.class, true); + infoBuilder.addAttribute("initParams", Map.class, true); + infoBuilder.addAttribute("loadOnStartup", Integer.class, true); + infoBuilder.addAttribute("servletMappings", Set.class, true); + infoBuilder.addAttribute("webRoleRefPermissions", Map.class, true); + infoBuilder.addReference("JettyServletRegistration", JettyServletR= egistration.class); + + infoBuilder.setConstructor(new String[] {"servletName", + "initParams", + "loadOnStartup",=20 + "servletMappings", + "webRoleRefPermissions", + "JettyServletRegistration= "}); + + GBEAN_INFO =3D infoBuilder.getBeanInfo(); + } + + public static GBeanInfo getGBeanInfo() { + return GBEAN_INFO; + } +} Modified: geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/J= ettyServletHolder.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/jetty/src/java/or= g/apache/geronimo/jetty/JettyServletHolder.java?view=3Ddiff&r1=3D154622&r2= =3D154623 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettySe= rvletHolder.java (original) +++ geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettySe= rvletHolder.java Sun Feb 20 20:43:02 2005 @@ -44,7 +44,7 @@ * @see org.apache.geronimo.jetty.JAASJettyRealm#isUserInRole(java.securit= y=2EPrincipal, java.lang.String) */ public class JettyServletHolder extends ServletHolder { - private static final ThreadLocal currentServletHolder =3D new ThreadLo= cal(); + static final ThreadLocal currentServletHolder =3D new ThreadLocal(); =20 //todo consider interface instead of this constructor for endpoint use. public JettyServletHolder() { Modified: geronimo/trunk/modules/tomcat/src/java/org/apache/geronimo/tomcat= /deployment/TomcatModuleBuilder.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/tomcat/src/java/o= rg/apache/geronimo/tomcat/deployment/TomcatModuleBuilder.java?view=3Ddiff&r= 1=3D154622&r2=3D154623 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- geronimo/trunk/modules/tomcat/src/java/org/apache/geronimo/tomcat/deplo= yment/TomcatModuleBuilder.java (original) +++ geronimo/trunk/modules/tomcat/src/java/org/apache/geronimo/tomcat/deplo= yment/TomcatModuleBuilder.java Sun Feb 20 20:43:02 2005 @@ -181,8 +181,9 @@ // webapp to Jetty- or TomcatModuleBuilder based on parentId. log.warn("Assigning defaultParentId [" + defaultParentId + "] to w= ebapp [" + configId + "]"); parentId =3D defaultParentId; + Map portMap =3D null; =20 - WebModule module =3D new WebModule(false, configId, parentId, modu= leFile, "war", webApp, jettyWebApp, specDD); + WebModule module =3D new WebModule(false, configId, parentId, modu= leFile, "war", webApp, jettyWebApp, specDD, portMap); module.setContextRoot(jettyWebApp.getContextRoot()); =20 return module;