geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From djen...@apache.org
Subject svn commit: r993185 [2/2] - in /geronimo/server/trunk: framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/ plugins/corba/geronimo-corba-builder/src/main/java/org/apache/geronimo/corba/deployment/security/con...
Date Tue, 07 Sep 2010 00:34:47 GMT
Modified: geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/main/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/main/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilder.java?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/main/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilder.java (original)
+++ geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/main/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilder.java Tue Sep  7 00:34:46 2010
@@ -17,9 +17,6 @@
 
 package org.apache.geronimo.jetty8.deployment;
 
-import static java.lang.Boolean.FALSE;
-import static java.lang.Boolean.TRUE;
-
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
@@ -40,9 +37,7 @@ import java.util.TreeSet;
 import java.util.jar.JarFile;
 
 import javax.management.ObjectName;
-import javax.servlet.Servlet;
 import javax.xml.bind.JAXBException;
-
 import org.apache.geronimo.common.DeploymentException;
 import org.apache.geronimo.deployment.Deployable;
 import org.apache.geronimo.deployment.DeployableBundle;
@@ -70,11 +65,9 @@ import org.apache.geronimo.j2ee.deployme
 import org.apache.geronimo.j2ee.deployment.WebModule;
 import org.apache.geronimo.j2ee.deployment.WebServiceBuilder;
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
-import org.apache.geronimo.jetty8.DefaultServletHolderWrapper;
 import org.apache.geronimo.jetty8.FilterHolderWrapper;
 import org.apache.geronimo.jetty8.Host;
 import org.apache.geronimo.jetty8.JettyFilterMapping;
-import org.apache.geronimo.jetty8.JspServletHolderWrapper;
 import org.apache.geronimo.jetty8.ServletHolderWrapper;
 import org.apache.geronimo.jetty8.WebAppContextManager;
 import org.apache.geronimo.jetty8.WebAppContextWrapper;
@@ -98,7 +91,12 @@ import org.apache.geronimo.security.depl
 import org.apache.geronimo.security.jaas.ConfigurationFactory;
 import org.apache.geronimo.security.jacc.ComponentPermissions;
 import org.apache.geronimo.web.deployment.GenericToSpecificPlanConverter;
+import org.apache.geronimo.web.info.ServletInfo;
+import org.apache.geronimo.web.info.WebAppInfo;
 import org.apache.geronimo.web25.deployment.AbstractWebModuleBuilder;
+import org.apache.geronimo.web25.deployment.StandardWebAppInfoFactory;
+import org.apache.geronimo.web25.deployment.WebAppInfoBuilder;
+import org.apache.geronimo.web25.deployment.WebAppInfoFactory;
 import org.apache.geronimo.web25.deployment.security.AuthenticationWrapper;
 import org.apache.geronimo.web25.deployment.utils.WebDeploymentValidationUtils;
 import org.apache.geronimo.xbeans.geronimo.jaspi.JaspiAuthModuleType;
@@ -109,7 +107,24 @@ import org.apache.geronimo.xbeans.geroni
 import org.apache.geronimo.xbeans.geronimo.web.jetty.JettyWebAppDocument;
 import org.apache.geronimo.xbeans.geronimo.web.jetty.JettyWebAppType;
 import org.apache.geronimo.xbeans.geronimo.web.jetty.config.GerJettyDocument;
-import org.apache.openejb.jee.*;
+import org.apache.openejb.jee.Dispatcher;
+import org.apache.openejb.jee.ErrorPage;
+import org.apache.openejb.jee.FilterMapping;
+import org.apache.openejb.jee.FormLoginConfig;
+import org.apache.openejb.jee.JaxbJavaee;
+import org.apache.openejb.jee.JspConfig;
+import org.apache.openejb.jee.JspPropertyGroup;
+import org.apache.openejb.jee.Listener;
+import org.apache.openejb.jee.LocaleEncodingMapping;
+import org.apache.openejb.jee.LocaleEncodingMappingList;
+import org.apache.openejb.jee.LoginConfig;
+import org.apache.openejb.jee.MimeMapping;
+import org.apache.openejb.jee.ParamValue;
+import org.apache.openejb.jee.Servlet;
+import org.apache.openejb.jee.ServletMapping;
+import org.apache.openejb.jee.Taglib;
+import org.apache.openejb.jee.WebApp;
+import org.apache.openejb.jee.WelcomeFileList;
 import org.apache.xbean.osgi.bundle.util.BundleUtils;
 import org.apache.xmlbeans.XmlException;
 import org.apache.xmlbeans.XmlObject;
@@ -120,6 +135,9 @@ import org.osgi.service.packageadmin.Pac
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import static java.lang.Boolean.FALSE;
+import static java.lang.Boolean.TRUE;
+
 /**
  * @version $Rev:385659 $ $Date$
  */
@@ -152,10 +170,13 @@ public class JettyModuleBuilder extends 
 
     private final Environment defaultEnvironment;
     private final AbstractNameQuery jettyContainerObjectName;
-    private final JspServletHolderWrapper jspServlet;
-    private final Collection defaultServlets;
-    private final Collection defaultFilters;
-    private final Collection defaultFilterMappings;
+    private final ServletInfo jspServlet;
+//    private final Collection defaultServlets;
+//    private final Collection defaultFilters;
+//    private final Collection defaultFilterMappings;
+    private final WebAppInfo defaultWebAppInfo;
+    private final WebAppInfoFactory webAppInfoFactory;
+
     private final GBeanData pojoWebServiceTemplate;
 
     protected final NamespaceDrivenBuilderCollection clusteringBuilders;
@@ -166,34 +187,49 @@ public class JettyModuleBuilder extends 
     private final Map<String, String> defaultMimeTypeMappings;
 
     private static final String JETTY_NAMESPACE = JettyWebAppDocument.type.getDocumentElementName().getNamespaceURI();
+    private final String defaultJspServletName;
 
-    public JettyModuleBuilder(@ParamAttribute(name="defaultEnvironment")Environment defaultEnvironment,
-                              @ParamAttribute(name="defaultSessionTimeoutSeconds")Integer defaultSessionTimeoutSeconds,
-                              @ParamAttribute(name="defaultWelcomeFiles")List<String> defaultWelcomeFiles,
-                              @ParamAttribute(name="jettyContainerObjectName")AbstractNameQuery jettyContainerName,
-                              @ParamReference(name="JspServlet", namingType=NameFactory.SERVLET_TEMPLATE)JspServletHolderWrapper jspServlet,
-                              @ParamReference(name="DefaultServlets", namingType=NameFactory.SERVLET_TEMPLATE)Collection<DefaultServletHolderWrapper> defaultServlets,
-                              @ParamReference(name="DefaultFilters", namingType=NameFactory.SERVLET_TEMPLATE)Collection<FilterHolderWrapper> defaultFilters,
-                              @ParamReference(name="DefaultFilterMappings", namingType=NameFactory.SERVLET_TEMPLATE)Collection<JettyFilterMapping> defaultFilterMappings,
-                              @ParamAttribute(name="defaultLocaleEncodingMappings")Map<String, String> defaultLocaleEncodingMappings,
-                              @ParamAttribute(name="defaultMimeTypeMappings")Map<String, String> defaultMimeTypeMappings,
-                              @ParamReference(name="PojoWebServiceTemplate", namingType=NameFactory.SERVLET_WEB_SERVICE_TEMPLATE)Object pojoWebServiceTemplate,
-                              @ParamReference(name="WebServiceBuilder", namingType=NameFactory.MODULE_BUILDER)Collection<WebServiceBuilder> webServiceBuilder,
-                              @ParamReference(name="ClusteringBuilders", namingType=NameFactory.MODULE_BUILDER)Collection<NamespaceDrivenBuilder> clusteringBuilders,
-                              @ParamReference(name="ServiceBuilders", namingType=NameFactory.MODULE_BUILDER)Collection<NamespaceDrivenBuilder> serviceBuilders,
-                              @ParamReference(name="NamingBuilders", namingType=NameFactory.MODULE_BUILDER)NamingBuilder namingBuilders,
-                              @ParamReference(name="ModuleBuilderExtensions", namingType=NameFactory.MODULE_BUILDER)Collection<ModuleBuilderExtension> moduleBuilderExtensions,
-                              @ParamReference(name="ResourceEnvironmentSetter", namingType=NameFactory.MODULE_BUILDER)ResourceEnvironmentSetter resourceEnvironmentSetter,
-                              @ParamSpecial(type = SpecialAttributeType.kernel)Kernel kernel,
-                              @ParamSpecial(type = SpecialAttributeType.bundleContext) BundleContext bundleContext) throws GBeanNotFoundException {
+    public JettyModuleBuilder(@ParamAttribute(name = "defaultEnvironment") Environment defaultEnvironment,
+                              @ParamAttribute(name = "defaultSessionTimeoutSeconds") Integer defaultSessionTimeoutSeconds,
+                              @ParamAttribute(name = "defaultWelcomeFiles") List<String> defaultWelcomeFiles,
+                              @ParamAttribute(name = "jettyContainerObjectName") AbstractNameQuery jettyContainerName,
+//                              @ParamReference(name="JspServlet", namingType=NameFactory.SERVLET_TEMPLATE)JspServletHolderWrapper jspServlet,
+@ParamAttribute(name = "defaultWebApp") WebAppInfo defaultWebApp,
+@ParamAttribute(name = "jspServlet") WebAppInfo jspServlet,
+
+//                              @ParamReference(name="DefaultServlets", namingType=NameFactory.SERVLET_TEMPLATE)Collection<DefaultServletHolderWrapper> defaultServlets,
+//                              @ParamReference(name="DefaultFilters", namingType=NameFactory.SERVLET_TEMPLATE)Collection<FilterHolderWrapper> defaultFilters,
+//                              @ParamReference(name="DefaultFilterMappings", namingType=NameFactory.SERVLET_TEMPLATE)Collection<JettyFilterMapping> defaultFilterMappings,
+@ParamAttribute(name = "defaultJspServletName") String defaultJspServletName,
+@ParamAttribute(name = "defaultLocaleEncodingMappings") Map<String, String> defaultLocaleEncodingMappings,
+@ParamAttribute(name = "defaultMimeTypeMappings") Map<String, String> defaultMimeTypeMappings,
+@ParamReference(name = "PojoWebServiceTemplate", namingType = NameFactory.SERVLET_WEB_SERVICE_TEMPLATE) Object pojoWebServiceTemplate,
+@ParamReference(name = "WebServiceBuilder", namingType = NameFactory.MODULE_BUILDER) Collection<WebServiceBuilder> webServiceBuilder,
+@ParamReference(name = "ClusteringBuilders", namingType = NameFactory.MODULE_BUILDER) Collection<NamespaceDrivenBuilder> clusteringBuilders,
+@ParamReference(name = "ServiceBuilders", namingType = NameFactory.MODULE_BUILDER) Collection<NamespaceDrivenBuilder> serviceBuilders,
+@ParamReference(name = "NamingBuilders", namingType = NameFactory.MODULE_BUILDER) NamingBuilder namingBuilders,
+@ParamReference(name = "ModuleBuilderExtensions", namingType = NameFactory.MODULE_BUILDER) Collection<ModuleBuilderExtension> moduleBuilderExtensions,
+@ParamReference(name = "ResourceEnvironmentSetter", namingType = NameFactory.MODULE_BUILDER) ResourceEnvironmentSetter resourceEnvironmentSetter,
+@ParamSpecial(type = SpecialAttributeType.kernel) Kernel kernel,
+@ParamSpecial(type = SpecialAttributeType.bundleContext) BundleContext bundleContext) throws GBeanNotFoundException, DeploymentException {
         super(kernel, serviceBuilders, namingBuilders, resourceEnvironmentSetter, webServiceBuilder, moduleBuilderExtensions, bundleContext);
         this.defaultEnvironment = defaultEnvironment;
         this.defaultSessionTimeoutSeconds = (defaultSessionTimeoutSeconds == null) ? 30 * 60 : defaultSessionTimeoutSeconds;
         this.jettyContainerObjectName = jettyContainerName;
-        this.jspServlet = jspServlet;
-        this.defaultServlets = defaultServlets;
-        this.defaultFilters = defaultFilters;
-        this.defaultFilterMappings = defaultFilterMappings;
+//        this.jspServlet = jspServlet;
+//        this.defaultServlets = defaultServlets;
+//        this.defaultFilters = defaultFilters;
+//        this.defaultFilterMappings = defaultFilterMappings;
+        this.defaultWebAppInfo = defaultWebApp;
+        if (jspServlet != null) {
+            this.jspServlet = jspServlet.servlets.get(0);
+            this.defaultJspServletName = defaultJspServletName;
+        } else {
+            this.jspServlet = null;
+            this.defaultJspServletName = null;
+        }
+        this.webAppInfoFactory = new StandardWebAppInfoFactory(defaultWebAppInfo, this.jspServlet);
+
         this.pojoWebServiceTemplate = getGBeanData(kernel, pojoWebServiceTemplate);
         this.clusteringBuilders = new NamespaceDrivenBuilderCollection(clusteringBuilders);//, GerClusteringDocument.type.getDocumentElementName());
 
@@ -462,7 +498,7 @@ public class JettyModuleBuilder extends 
         AbstractName moduleName = module.getModuleName();
         WebModule webModule = (WebModule) module;
 
-        WebApp webApp = (WebApp) webModule.getSpecDD();
+        WebApp webApp = webModule.getSpecDD();
         JettyWebAppType jettyWebApp = (JettyWebAppType) webModule.getVendorDD();
         GBeanData webModuleData = new GBeanData(moduleName, WebAppContextWrapper.class);
 
@@ -509,11 +545,18 @@ public class JettyModuleBuilder extends 
             //stuff that jetty used to do
             webModuleData.setAttribute("displayName", webApp.getDisplayName());
 
-            // configure context parameters.
-            configureContextParams(webApp, webModuleData);
+            WebAppInfoBuilder webAppInfoBuilder = new WebAppInfoBuilder(webApp, webAppInfoFactory);
+            WebAppInfo webAppInfo = webAppInfoBuilder.build();
+
+            webModuleData.setAttribute("webAppInfo", webAppInfo);
+
+            webModule.getSharedContext().put(WebModule.WEB_APP_INFO, webAppInfo);
+
+//            configure context parameters.
+//            configureContextParams(webApp, webModuleData);
 
             // configure listeners.
-            configureListeners(webApp, webModuleData);
+//            configureListeners(webApp, webModuleData);
 
             webModuleData.setAttribute(WebAppContextWrapper.GBEAN_ATTR_SESSION_TIMEOUT,
                     (webApp.getSessionConfig().size() == 1 && webApp.getSessionConfig().get(0).getSessionTimeout() != null) ?
@@ -545,14 +588,14 @@ public class JettyModuleBuilder extends 
             configureErrorPages(webApp, webModuleData);
 
             // configure tag libs.
-            Set<String> knownServletMappings = new HashSet<String>();
-            Set<String> knownJspMappings = new HashSet<String>();
-            Map<String, Set<String>> servletMappings = new HashMap<String, Set<String>>();
-            if (jspServlet != null) {
-                configureTagLibs(module, webApp, webModuleData, servletMappings, knownJspMappings, jspServlet.getServletName());
-                GBeanData jspServletData = configureDefaultServlet(jspServlet, earContext, moduleName, knownJspMappings);
-                knownServletMappings.addAll(knownJspMappings);
-                module.getSharedContext().put(DEFAULT_JSP_SERVLET_KEY, jspServletData);
+            if (defaultJspServletName != null) {
+                for (ServletInfo servletInfo: webAppInfo.servlets) {
+                    if (defaultJspServletName.equals(servletInfo.servletName)) {
+                        configureTagLibs(module, webApp, webModuleData, servletInfo);
+                    }
+                }
+//                GBeanData jspServletData = configureDefaultServlet(jspServlet, earContext, moduleName, knownJspMappings);
+//                module.getSharedContext().put(DEFAULT_JSP_SERVLET_KEY, jspServletData);
             }
 
             // configure login configs.
@@ -560,24 +603,25 @@ public class JettyModuleBuilder extends 
 
             // Make sure that servlet mappings point to available servlets and never add a duplicate pattern.
 
-            buildServletMappings(module, webApp, servletMappings, knownServletMappings);
+//            buildServletMappings(module, webApp, servletMappings, knownServletMappings);
 
             //be careful that the jsp servlet defaults don't override anything configured in the app.
-            if (jspServlet != null) {
-                GBeanData jspServletData = (GBeanData) module.getSharedContext().get(DEFAULT_JSP_SERVLET_KEY);
-                Set<String> jspMappings = (Set<String>) jspServletData.getAttribute("servletMappings");
-                jspMappings.removeAll(knownServletMappings);
-                jspMappings.addAll(knownJspMappings);
-                jspServletData.setAttribute("servletMappings", jspMappings);
-            }
+            //TODO reimplement this
+//            if (jspServlet != null) {
+//                GBeanData jspServletData = (GBeanData) module.getSharedContext().get(DEFAULT_JSP_SERVLET_KEY);
+//                Set<String> jspMappings = (Set<String>) jspServletData.getAttribute("servletMappings");
+//                jspMappings.removeAll(knownServletMappings);
+//                jspMappings.addAll(knownJspMappings);
+//                jspServletData.setAttribute("servletMappings", jspMappings);
+//            }
 
             //"previous" filter mapping for linked list to keep dd's ordering.
-            AbstractName previous = null;
+//            AbstractName previous = null;
 
             //add default filters
-            if (defaultFilters != null) {
-                previous = addDefaultFiltersGBeans(earContext, moduleContext, moduleName, previous);
-            }
+//            if (defaultFilters != null) {
+//                previous = addDefaultFiltersGBeans(earContext, moduleContext, moduleName, previous);
+//            }
 
             //add default filtermappings
 //            if (defaultFilterMappings != null) {
@@ -605,19 +649,19 @@ public class JettyModuleBuilder extends 
 //            }
 
             // add filter mapping GBeans.
-            addFilterMappingsGBeans(earContext, moduleContext, moduleName, webApp, previous);
+//            addFilterMappingsGBeans(earContext, moduleContext, moduleName, webApp, previous);
 
             // add filter GBeans.
-            addFiltersGBeans(earContext, moduleContext, moduleName, webApp);
+//            addFiltersGBeans(earContext, moduleContext, moduleName, webApp);
 
             //add default servlets
-            if (defaultServlets != null) {
-                addDefaultServletsGBeans(earContext, moduleContext, moduleName, knownServletMappings);
-            }
+//            if (defaultServlets != null) {
+//                addDefaultServletsGBeans(earContext, moduleContext, moduleName, knownServletMappings);
+//            }
 
             //set up servlet gbeans.
-            List<org.apache.openejb.jee.Servlet> servlets = webApp.getServlet();
-            addServlets(moduleName, webModule, servlets, servletMappings, moduleContext);
+//            List<org.apache.openejb.jee.Servlet> servlets = webApp.getServlet();
+//            addServlets(moduleName, webModule, servlets, servletMappings, moduleContext);
 
             if (jettyWebApp.isSetSecurityRealmName()) {
                 configureSecurityRealm(earContext, webApp, jettyWebApp, bundle, webModuleData);
@@ -685,12 +729,12 @@ public class JettyModuleBuilder extends 
 
     }
 
-    private void addDefaultServletsGBeans(EARContext earContext, EARContext moduleContext, AbstractName moduleName, Set knownServletMappings) throws GBeanNotFoundException, GBeanAlreadyExistsException {
-        for (Object defaultServlet : defaultServlets) {
-            GBeanData servletGBeanData = configureDefaultServlet(defaultServlet, earContext, moduleName, knownServletMappings);
-            moduleContext.addGBean(servletGBeanData);
-        }
-    }
+//    private void addDefaultServletsGBeans(EARContext earContext, EARContext moduleContext, AbstractName moduleName, Set knownServletMappings) throws GBeanNotFoundException, GBeanAlreadyExistsException {
+//        for (Object defaultServlet : defaultServlets) {
+//            GBeanData servletGBeanData = configureDefaultServlet(defaultServlet, earContext, moduleName, knownServletMappings);
+//            moduleContext.addGBean(servletGBeanData);
+//        }
+//    }
 
     private GBeanData configureDefaultServlet(Object defaultServlet, EARContext earContext, AbstractName moduleName, Set knownServletMappings) throws GBeanNotFoundException, GBeanAlreadyExistsException {
         GBeanData servletGBeanData = getGBeanData(kernel, defaultServlet);
@@ -780,37 +824,37 @@ public class JettyModuleBuilder extends 
         }
     }
 
-    private AbstractName addDefaultFiltersGBeans(EARContext earContext, EARContext moduleContext, AbstractName moduleName, AbstractName previous) throws GBeanNotFoundException, GBeanAlreadyExistsException {
-        for (Object defaultFilter : defaultFilters) {
-            GBeanData filterGBeanData = getGBeanData(kernel, defaultFilter);
-            String filterName = (String) filterGBeanData.getAttribute("filterName");
-            AbstractName defaultFilterAbstractName = earContext.getNaming().createChildName(moduleName, filterName, NameFactory.WEB_FILTER);
-            filterGBeanData.setAbstractName(defaultFilterAbstractName);
-            filterGBeanData.setReferencePattern("JettyServletRegistration", moduleName);
-            moduleContext.addGBean(filterGBeanData);
-            //add a mapping to /*
-
-            GBeanData filterMappingGBeanData = new GBeanData(JettyFilterMapping.class);
-            if (previous != null) {
-                filterMappingGBeanData.addDependency(previous);
-            }
-            filterMappingGBeanData.setReferencePattern("JettyServletRegistration", moduleName);
-            String urlPattern = "/*";
-            filterMappingGBeanData.setAttribute("urlPattern", urlPattern);
-            AbstractName filterMappingName = earContext.getNaming().createChildName(defaultFilterAbstractName, urlPattern, NameFactory.URL_WEB_FILTER_MAPPING);
-            filterMappingGBeanData.setAbstractName(filterMappingName);
-            previous = filterMappingName;
-
-
-            filterMappingGBeanData.setAttribute("requestDispatch", TRUE);
-            filterMappingGBeanData.setAttribute("forwardDispatch", TRUE);
-            filterMappingGBeanData.setAttribute("includeDispatch", TRUE);
-            filterMappingGBeanData.setAttribute("errorDispatch", FALSE);
-            filterMappingGBeanData.setReferencePattern("Filter", defaultFilterAbstractName);
-            moduleContext.addGBean(filterMappingGBeanData);
-        }
-        return previous;
-    }
+//    private AbstractName addDefaultFiltersGBeans(EARContext earContext, EARContext moduleContext, AbstractName moduleName, AbstractName previous) throws GBeanNotFoundException, GBeanAlreadyExistsException {
+//        for (Object defaultFilter : defaultFilters) {
+//            GBeanData filterGBeanData = getGBeanData(kernel, defaultFilter);
+//            String filterName = (String) filterGBeanData.getAttribute("filterName");
+//            AbstractName defaultFilterAbstractName = earContext.getNaming().createChildName(moduleName, filterName, NameFactory.WEB_FILTER);
+//            filterGBeanData.setAbstractName(defaultFilterAbstractName);
+//            filterGBeanData.setReferencePattern("JettyServletRegistration", moduleName);
+//            moduleContext.addGBean(filterGBeanData);
+//            //add a mapping to /*
+//
+//            GBeanData filterMappingGBeanData = new GBeanData(JettyFilterMapping.class);
+//            if (previous != null) {
+//                filterMappingGBeanData.addDependency(previous);
+//            }
+//            filterMappingGBeanData.setReferencePattern("JettyServletRegistration", moduleName);
+//            String urlPattern = "/*";
+//            filterMappingGBeanData.setAttribute("urlPattern", urlPattern);
+//            AbstractName filterMappingName = earContext.getNaming().createChildName(defaultFilterAbstractName, urlPattern, NameFactory.URL_WEB_FILTER_MAPPING);
+//            filterMappingGBeanData.setAbstractName(filterMappingName);
+//            previous = filterMappingName;
+//
+//
+//            filterMappingGBeanData.setAttribute("requestDispatch", TRUE);
+//            filterMappingGBeanData.setAttribute("forwardDispatch", TRUE);
+//            filterMappingGBeanData.setAttribute("includeDispatch", TRUE);
+//            filterMappingGBeanData.setAttribute("errorDispatch", FALSE);
+//            filterMappingGBeanData.setReferencePattern("Filter", defaultFilterAbstractName);
+//            moduleContext.addGBean(filterMappingGBeanData);
+//        }
+//        return previous;
+//    }
 
     private void buildServletMappings(Module module, WebApp webApp, Map<String, Set<String>> servletMappings, Set<String> knownServletMappings) throws DeploymentException {
         List<org.apache.openejb.jee.Servlet> servlets = webApp.getServlet();
@@ -886,9 +930,9 @@ public class JettyModuleBuilder extends 
                         auth = BuiltInAuthMethod.getValueOf(authMethod);
 
                         if (auth == BuiltInAuthMethod.BASIC) {
-                            securityFactoryData.setAttribute("realmName", loginConfig.getRealmName().trim());
+                            securityFactoryData.setAttribute("realmName", loginConfig.getRealmName());
                         } else if (auth == BuiltInAuthMethod.DIGEST) {
-                            securityFactoryData.setAttribute("realmName", loginConfig.getRealmName().trim());
+                            securityFactoryData.setAttribute("realmName", loginConfig.getRealmName());
                         } else if (auth == BuiltInAuthMethod.FORM) {
                             if (loginConfig.getFormLoginConfig() != null) {
                                 FormLoginConfig formLoginConfig = loginConfig.getFormLoginConfig();
@@ -966,7 +1010,7 @@ public class JettyModuleBuilder extends 
         securityFactoryData.setReferencePattern("ConfigurationFactory", configurationFactoryName);
     }
 
-    private void configureTagLibs(Module module, WebApp webApp, GBeanData webModuleData, Map<String, Set<String>> servletMappings, Set<String> knownServletMappings, String jspServletName) throws DeploymentException {
+    private void configureTagLibs(Module module, WebApp webApp, GBeanData webModuleData, ServletInfo jspServlet) throws DeploymentException {
         List<JspConfig> jspConfigArray = webApp.getJspConfig();
         if (jspConfigArray.size() > 1) {
             throw new DeploymentException("Web app " + module.getName() + " cannot have more than one jsp-config element.  Currently has " + jspConfigArray.size() + " jsp-config elements.");
@@ -978,8 +1022,7 @@ public class JettyModuleBuilder extends 
                 tagLibMap.put(taglib.getTaglibUri().trim(), taglib.getTaglibLocation().trim());
             }
             for (JspPropertyGroup propertyGroup : aJspConfigArray.getJspPropertyGroup()) {
-                List<String> urlPatterns = propertyGroup.getUrlPattern();
-                addMappingsForServlet(jspServletName, urlPatterns, knownServletMappings, servletMappings);
+                WebAppInfoBuilder.normalizeUrlPatterns(propertyGroup.getUrlPattern(), jspServlet.servletMappings);
             }
         }
         webModuleData.setAttribute("tagLibMap", tagLibMap);
@@ -1177,7 +1220,7 @@ public class JettyModuleBuilder extends 
         } else if (servlet.getJspFile() != null) {
             servletData = new GBeanData(servletAbstractName, ServletHolderWrapper.class);
             servletData.setAttribute("jspFile", servlet.getJspFile().trim());
-            servletData.setAttribute("servletClass", jspServlet.getServletClassName());
+//            servletData.setAttribute("servletClass", jspServlet.getServletClassName());
             initParams.put("development", "false");
         } else {
             throw new DeploymentException("Neither servlet class nor jsp file is set for " + servletName); // TODO identify web app in message

Modified: geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilderTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilderTest.java?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilderTest.java (original)
+++ geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilderTest.java Tue Sep  7 00:34:46 2010
@@ -74,6 +74,7 @@ import org.apache.geronimo.system.server
 import org.apache.geronimo.system.serverinfo.ServerInfo;
 import org.apache.geronimo.testsupport.TestSupport;
 import org.apache.geronimo.transaction.wrapper.manager.GeronimoTransactionManagerGBean;
+import org.apache.geronimo.web.info.WebAppInfo;
 import org.apache.geronimo.xbeans.geronimo.j2ee.GerSecurityDocument;
 import org.apache.xmlbeans.impl.schema.SchemaTypeImpl;
 import org.osgi.framework.Bundle;
@@ -351,10 +352,9 @@ public class JettyModuleBuilderTest exte
                 Collections.EMPTY_LIST,
                 new AbstractNameQuery(containerName),
                 //new AbstractNameQuery(containerName),
-                null, defaultServlets,
-                defaultFilters,
-                defaultFilterMappings,
+                new WebAppInfo(),
                 null,
+                "jsp", null,
                 null,
                 pojoWebServiceTemplate,
                 Collections.singleton(webServiceBuilder),

Modified: geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/PlanParsingTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/PlanParsingTest.java?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/PlanParsingTest.java (original)
+++ geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/PlanParsingTest.java Tue Sep  7 00:34:46 2010
@@ -23,13 +23,11 @@ import java.net.URL;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.HashSet;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.jar.JarFile;
 
 import javax.xml.bind.JAXBException;
 import javax.xml.parsers.ParserConfigurationException;
-
 import org.apache.geronimo.deployment.DeployableJarFile;
 import org.apache.geronimo.deployment.service.GBeanBuilder;
 import org.apache.geronimo.deployment.xbeans.ArtifactType;
@@ -52,6 +50,7 @@ import org.apache.geronimo.schema.Schema
 import org.apache.geronimo.security.deployment.GeronimoSecurityBuilderImpl;
 import org.apache.geronimo.testsupport.XmlBeansTestSupport;
 import org.apache.geronimo.web.deployment.GenericToSpecificPlanConverter;
+import org.apache.geronimo.web.info.WebAppInfo;
 import org.apache.geronimo.xbeans.geronimo.naming.GerResourceRefType;
 import org.apache.geronimo.xbeans.geronimo.web.jetty.JettyWebAppDocument;
 import org.apache.geronimo.xbeans.geronimo.web.jetty.JettyWebAppType;
@@ -59,7 +58,6 @@ import org.apache.geronimo.xbeans.geroni
 import org.apache.openejb.jee.JaxbJavaee;
 import org.apache.openejb.jee.WebApp;
 import org.apache.xmlbeans.XmlCursor;
-import org.apache.xmlbeans.XmlException;
 import org.apache.xmlbeans.XmlObject;
 import org.osgi.framework.Bundle;
 import org.osgi.service.packageadmin.ExportedPackage;
@@ -149,10 +147,9 @@ public class PlanParsingTest extends Xml
                 new Integer(1800),
                 null,
                 jettyContainerObjectName,
-                null, new HashSet(),
-                new HashSet(),
-                new HashSet(),
+                new WebAppInfo(),
                 null,
+                "jsp", null,
                 null,
                 pojoWebServiceTemplate,
                 Collections.singleton(webServiceBuilder),

Modified: geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/WebAppContextWrapper.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/WebAppContextWrapper.java?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/WebAppContextWrapper.java (original)
+++ geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/WebAppContextWrapper.java Tue Sep  7 00:34:46 2010
@@ -51,6 +51,7 @@ import org.apache.geronimo.management.ge
 import org.apache.geronimo.management.geronimo.WebModule;
 import org.apache.geronimo.security.jacc.RunAsSource;
 import org.apache.geronimo.transaction.GeronimoUserTransaction;
+import org.apache.geronimo.web.info.WebAppInfo;
 import org.eclipse.jetty.http.MimeTypes;
 import org.eclipse.jetty.security.SecurityHandler;
 import org.eclipse.jetty.server.session.SessionHandler;
@@ -108,7 +109,7 @@ public class WebAppContextWrapper implem
                                 @ParamAttribute(name = "applicationManagedSecurityResources") Set<String> applicationManagedSecurityResources,
                                 @ParamAttribute(name = "displayName") String displayName,
                                 @ParamAttribute(name = "contextParamMap") Map<String, String> contextParamMap,
-                                @ParamAttribute(name = "listenerClassNames") Collection<String> listenerClassNames,
+//                                @ParamAttribute(name = "listenerClassNames") Collection<String> listenerClassNames,
                                 @ParamAttribute(name = "distributable") boolean distributable,
                                 @ParamAttribute(name = "mimeMap") Map mimeMap,
                                 @ParamAttribute(name = "welcomeFiles") String[] welcomeFiles,
@@ -126,6 +127,7 @@ public class WebAppContextWrapper implem
                                 @ParamReference(name = "RunAsSource") RunAsSource runAsSource,
 
                                 @ParamAttribute(name = "holder") Holder holder,
+                                @ParamAttribute(name = "webAppInfo") WebAppInfo webAppInfo,
 
                                 @ParamReference(name = "Host") Host host,
                                 @ParamReference(name = "TrackedConnectionAssociator") TrackedConnectionAssociator trackedConnectionAssociator,
@@ -178,7 +180,7 @@ public class WebAppContextWrapper implem
         this.componentContext = contextSource.getContext();
         UserTransaction userTransaction = new GeronimoUserTransaction(transactionManager);
         integrationContext = new IntegrationContext(this.componentContext, unshareableResources, applicationManagedSecurityResources, trackedConnectionAssociator, userTransaction, bundle, holder);
-        webAppContext = new GeronimoWebAppContext(securityHandler, sessionHandler, servletHandler, null, integrationContext, classLoader, modulePath);
+        webAppContext = new GeronimoWebAppContext(securityHandler, sessionHandler, servletHandler, null, integrationContext, classLoader, modulePath, webAppInfo);
         webAppContext.setContextPath(contextPath);
         //See Jetty-386.  Setting this to true can expose secured content.
         webAppContext.setCompactPath(compactPath);
@@ -231,7 +233,7 @@ public class WebAppContextWrapper implem
         if (contextParamMap != null) {
             webAppContext.getInitParams().putAll(contextParamMap);
         }
-        setListenerClassNames(listenerClassNames);
+//        setListenerClassNames(listenerClassNames);
         webAppContext.setDistributable(distributable);
         webAppContext.setWelcomeFiles(welcomeFiles);
         setLocaleEncodingMapping(localeEncodingMapping);
@@ -345,24 +347,24 @@ public class WebAppContextWrapper implem
         }
     }
 
-    public void setListenerClassNames(@ParamAttribute(name = "listenerClassNames")Collection<String> eventListeners) throws ClassNotFoundException, IllegalAccessException, InstantiationException {
-        if (eventListeners != null) {
-            Collection<EventListener> listeners = new ArrayList<EventListener>();
-            for (String listenerClassName : eventListeners) {
-                EventListener listener = (EventListener) newInstance(listenerClassName);
-                listeners.add(listener);
-            }
-            webAppContext.setEventListeners(listeners.toArray(new EventListener[listeners.size()]));
-        }
-    }
+//    public void setListenerClassNames(@ParamAttribute(name = "listenerClassNames")Collection<String> eventListeners) throws ClassNotFoundException, IllegalAccessException, InstantiationException {
+//        if (eventListeners != null) {
+//            Collection<EventListener> listeners = new ArrayList<EventListener>();
+//            for (String listenerClassName : eventListeners) {
+//                EventListener listener = (EventListener) newInstance(listenerClassName);
+//                listeners.add(listener);
+//            }
+//            webAppContext.setEventListeners(listeners.toArray(new EventListener[listeners.size()]));
+//        }
+//    }
 
-    public void setErrorPages(@ParamAttribute(name = "errorPages")Map errorPageMap) {
+    public void setErrorPages(Map errorPageMap) {
         if (errorPageMap != null) {
             ((ErrorPageErrorHandler) this.webAppContext.getErrorHandler()).setErrorPages(errorPageMap);
         }
     }
 
-    public void setTagLibMap(@ParamAttribute(name = "tagLibMap")Map<String, String> tagLibMap) {
+    public void setTagLibMap(Map<String, String> tagLibMap) {
         if (tagLibMap != null) {
             for (Map.Entry<String, String> entry : tagLibMap.entrySet()) {
                 this.webAppContext.setResourceAlias(entry.getKey(), entry.getValue());
@@ -370,7 +372,7 @@ public class WebAppContextWrapper implem
         }
     }
 
-    public void setSessionTimeoutSeconds(@ParamAttribute(name = "sessionTimeoutSeconds")int seconds) {
+    public void setSessionTimeoutSeconds(int seconds) {
         this.webAppContext.getSessionHandler().getSessionManager().setMaxInactiveInterval(seconds);
     }
 

Modified: geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/handler/GeronimoWebAppContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/handler/GeronimoWebAppContext.java?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/handler/GeronimoWebAppContext.java (original)
+++ geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/handler/GeronimoWebAppContext.java Tue Sep  7 00:34:46 2010
@@ -23,8 +23,11 @@ package org.apache.geronimo.jetty8.handl
 import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.util.Collections;
 import java.util.Enumeration;
 import java.util.EventListener;
+import java.util.HashSet;
+import java.util.Set;
 
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
@@ -35,6 +38,8 @@ import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.geronimo.web.assembler.Assembler;
+import org.apache.geronimo.web.info.WebAppInfo;
 import org.eclipse.jetty.server.Request;
 import org.eclipse.jetty.server.handler.ErrorHandler;
 import org.eclipse.jetty.security.SecurityHandler;
@@ -61,9 +66,11 @@ public class GeronimoWebAppContext exten
     private final IntegrationContext integrationContext;
     private final String modulePath;
     private final ClassLoader classLoader;
+    private final WebAppInfo webAppInfo;
     private ServiceRegistration serviceRegistration;
+    boolean fullyStarted = false;
 
-    public GeronimoWebAppContext(SecurityHandler securityHandler, SessionHandler sessionHandler, ServletHandler servletHandler, ErrorHandler errorHandler, IntegrationContext integrationContext, ClassLoader classLoader, String modulePath) {
+    public GeronimoWebAppContext(SecurityHandler securityHandler, SessionHandler sessionHandler, ServletHandler servletHandler, ErrorHandler errorHandler, IntegrationContext integrationContext, ClassLoader classLoader, String modulePath, WebAppInfo webAppInfo) {
         super(sessionHandler, securityHandler, servletHandler, errorHandler);
         _scontext = new Context();
         this.integrationContext = integrationContext;
@@ -79,6 +86,7 @@ public class GeronimoWebAppContext exten
             // ignore.  We just don't set the property if it's not available. 
         }
         this.modulePath = modulePath;
+        this.webAppInfo = webAppInfo;
     }
 
     public void registerServletContext() {
@@ -103,7 +111,10 @@ public class GeronimoWebAppContext exten
         ConnectorInstanceContext connectorContext = integrationContext.setConnectorInstance(null, newContext);
         try {
             try {
+                Assembler assembler = new Assembler();
+                assembler.assemble(getServletContext(), webAppInfo);
                 super.doStart();
+                fullyStarted = true;
             } finally {
                 integrationContext.restoreConnectorContext(connectorContext, null, newContext);
             }
@@ -185,12 +196,34 @@ public class GeronimoWebAppContext exten
     
     @Override
     public Resource getResource(String uriInContext) throws MalformedURLException {
+        if (uriInContext == null || !uriInContext.startsWith("/")) {
+            throw new MalformedURLException("Path must not be null and must start with '/': " + uriInContext);
+        }
         if (modulePath != null) {
             uriInContext = modulePath + uriInContext;
         }
         return lookupResource(uriInContext);
     }
-    
+
+    @Override
+    public Set<String> getResourcePaths(String uriInContext) {
+        if (uriInContext == null || !uriInContext.startsWith("/")) {
+            return Collections.emptySet();
+        }
+        if (modulePath != null) {
+            uriInContext = modulePath + uriInContext;
+        }
+        HashSet<String> paths = new HashSet<String>();
+        Bundle bundle = integrationContext.getBundle();
+        Enumeration<String> e = bundle.getEntryPaths(uriInContext);
+        if (e != null) {
+            while (e.hasMoreElements()) {
+                paths.add("/" + e.nextElement());
+            }
+        }
+        return paths;
+    }
+
     private Resource lookupResource(String uriInContext) {
         Bundle bundle = integrationContext.getBundle();
         URL url = BundleUtils.getEntry(bundle, uriInContext);
@@ -222,6 +255,32 @@ public class GeronimoWebAppContext exten
     }
 
     public class Context extends WebAppContext.Context {
+
+        /**
+         * This is copied from jetty so we can override the restriction on event listeners.
+         * TODO consider talking to jetty about making this more flexible there.
+         * @param listenerClass
+         */
+        @Override
+        public void addListener(Class<? extends EventListener> listenerClass)
+        {
+            if (!_enabled)
+                throw new UnsupportedOperationException();
+
+            try
+            {
+                EventListener e = createListener(listenerClass);
+                GeronimoWebAppContext.this.addEventListener(e);
+                if (fullyStarted) {
+                    GeronimoWebAppContext.this.restrictEventListener(e);
+                }
+            }
+            catch (ServletException e)
+            {
+                throw new IllegalArgumentException(e);
+            }
+        }
+
         @Override
         public <T extends Filter> T createFilter(Class<T> c) throws ServletException {
             try {

Modified: geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/test/java/org/apache/geronimo/jetty8/AbstractWebModuleTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/test/java/org/apache/geronimo/jetty8/AbstractWebModuleTest.java?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/test/java/org/apache/geronimo/jetty8/AbstractWebModuleTest.java (original)
+++ geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/test/java/org/apache/geronimo/jetty8/AbstractWebModuleTest.java Tue Sep  7 00:34:46 2010
@@ -63,6 +63,7 @@ import org.apache.geronimo.system.server
 import org.apache.geronimo.system.serverinfo.ServerInfo;
 import org.apache.geronimo.testsupport.TestSupport;
 import org.apache.geronimo.transaction.manager.TransactionManagerImpl;
+import org.apache.geronimo.web.info.WebAppInfo;
 import org.eclipse.jetty.server.UserIdentity;
 import org.eclipse.jetty.server.Authentication;
 import org.eclipse.jetty.security.LoginService;
@@ -159,7 +160,6 @@ public class AbstractWebModuleTest exten
                 null,
                 "context",
                 null,
-                null,
                 false,
                 null,
                 null,
@@ -174,6 +174,7 @@ public class AbstractWebModuleTest exten
                 securityHandlerFactory,
                 runAsSource,
                 new Holder(),
+                new WebAppInfo(),
                 null,
                 connectionTrackingCoordinator,
                 container,

Modified: geronimo/server/trunk/plugins/jetty8/jetty8-deployer/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/jetty8-deployer/pom.xml?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/jetty8-deployer/pom.xml (original)
+++ geronimo/server/trunk/plugins/jetty8/jetty8-deployer/pom.xml Tue Sep  7 00:34:46 2010
@@ -38,6 +38,13 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.geronimo.configs</groupId>
+            <artifactId>javaee-builder-support</artifactId>
+            <version>${project.version}</version>
+            <type>car</type>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.configs</groupId>
             <artifactId>j2ee-deployer</artifactId>
             <version>${project.version}</version>
             <type>car</type>
@@ -78,6 +85,10 @@
                 <groupId>org.apache.geronimo.buildsupport</groupId>
                 <artifactId>car-maven-plugin</artifactId>
                 <configuration>
+                    <deploymentConfigs>
+                        <deploymentConfig>${gbeanDeployer}</deploymentConfig>
+                        <deploymentConfig>org.apache.geronimo.configs/javaee-builder-support/${project.version}/car</deploymentConfig>
+                    </deploymentConfigs>
                     <dependencies>
                         <dependency>
                             <groupId>org.apache.geronimo.configs</groupId>

Modified: geronimo/server/trunk/plugins/jetty8/jetty8-deployer/src/main/history/dependencies.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/jetty8-deployer/src/main/history/dependencies.xml?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/jetty8-deployer/src/main/history/dependencies.xml (original)
+++ geronimo/server/trunk/plugins/jetty8/jetty8-deployer/src/main/history/dependencies.xml Tue Sep  7 00:34:46 2010
@@ -26,4 +26,29 @@
         <artifactId>geronimo-jetty8-builder</artifactId>
         <type>jar</type>
     </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.modules</groupId>
+        <artifactId>geronimo-web</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.specs</groupId>
+        <artifactId>geronimo-jacc_1.4_spec</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.specs</groupId>
+        <artifactId>geronimo-jaspic_1.0_spec</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.specs</groupId>
+        <artifactId>geronimo-osgi-locator</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.xbean</groupId>
+        <artifactId>xbean-bundleutils</artifactId>
+        <type>jar</type>
+    </dependency>
 </plugin-artifact>

Modified: geronimo/server/trunk/plugins/jetty8/jetty8-deployer/src/main/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/jetty8-deployer/src/main/plan/plan.xml?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/jetty8-deployer/src/main/plan/plan.xml (original)
+++ geronimo/server/trunk/plugins/jetty8/jetty8-deployer/src/main/plan/plan.xml Tue Sep  7 00:34:46 2010
@@ -25,57 +25,158 @@
         <attribute name="defaultWelcomeFiles">index.html,index.htm,index.jsp</attribute>
         <attribute name="jettyContainerObjectName">?name=JettyWebContainer</attribute>
         <attribute name="defaultLocaleEncodingMappings">
-ar=ISO-8859-6
-be=ISO-8859-5
-bg=ISO-8859-5
-ca=ISO-8859-1
-cs=ISO-8859-2
-da=ISO-8859-1
-de=ISO-8859-1
-el=ISO-8859-7
-en=ISO-8859-1
-es=ISO-8859-1
-et=ISO-8859-1
-fi=ISO-8859-1
-fr=ISO-8859-1
-hr=ISO-8859-2
-hu=ISO-8859-2
-is=ISO-8859-1
-it=ISO-8859-1
-iw=ISO-8859-8
-ja=Shift_JIS
-ko=EUC-KR
-lt=ISO-8859-2
-lv=ISO-8859-2
-mk=ISO-8859-5
-nl=ISO-8859-1
-no=ISO-8859-1
-pl=ISO-8859-2
-pt=ISO-8859-1
-ro=ISO-8859-2
-ru=ISO-8859-5
-sh=ISO-8859-5
-sk=ISO-8859-2
-sl=ISO-8859-2
-sq=ISO-8859-2
-sr=ISO-8859-5
-sv=ISO-8859-1
-tr=ISO-8859-9
-uk=ISO-8859-5
-zh=GB2312
-zh_TW=Big5
+            ar=ISO-8859-6
+            be=ISO-8859-5
+            bg=ISO-8859-5
+            ca=ISO-8859-1
+            cs=ISO-8859-2
+            da=ISO-8859-1
+            de=ISO-8859-1
+            el=ISO-8859-7
+            en=ISO-8859-1
+            es=ISO-8859-1
+            et=ISO-8859-1
+            fi=ISO-8859-1
+            fr=ISO-8859-1
+            hr=ISO-8859-2
+            hu=ISO-8859-2
+            is=ISO-8859-1
+            it=ISO-8859-1
+            iw=ISO-8859-8
+            ja=Shift_JIS
+            ko=EUC-KR
+            lt=ISO-8859-2
+            lv=ISO-8859-2
+            mk=ISO-8859-5
+            nl=ISO-8859-1
+            no=ISO-8859-1
+            pl=ISO-8859-2
+            pt=ISO-8859-1
+            ro=ISO-8859-2
+            ru=ISO-8859-5
+            sh=ISO-8859-5
+            sk=ISO-8859-2
+            sl=ISO-8859-2
+            sq=ISO-8859-2
+            sr=ISO-8859-5
+            sv=ISO-8859-1
+            tr=ISO-8859-9
+            uk=ISO-8859-5
+            zh=GB2312
+            zh_TW=Big5
         </attribute>
         <attribute name="defaultMimeTypeMappings">
-wsdl=text/xml
+            wsdl=text/xml
         </attribute>
-        <references name="DefaultServlets">
-            <pattern>
-                <name>StaticContent</name>
-            </pattern>
-        </references>
-        <reference name="JspServlet">
-            <name>JSPServlet</name>
-        </reference>
+        <xml-attribute name="defaultWebApp">
+            <web-app xmlns="http://java.sun.com/xml/ns/javaee">
+                <servlet>
+                    <servlet-name>default</servlet-name>
+                    <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class>
+                    <init-param>
+                        <param-name>acceptRanges</param-name>
+                        <param-value>true</param-value>
+                    </init-param>
+                    <init-param>
+                        <param-name>dirAllowed</param-name>
+                        <param-value>true</param-value>
+                    </init-param>
+                    <init-param>
+                        <param-name>putAllowed</param-name>
+                        <param-value>false</param-value>
+                    </init-param>
+                    <init-param>
+                        <param-name>delAllowed</param-name>
+                        <param-value>false</param-value>
+                    </init-param>
+                    <init-param>
+                        <param-name>redirectWelcome</param-name>
+                        <param-value>false</param-value>
+                    </init-param>
+                    <init-param>
+                        <param-name>minGzipLength</param-name>
+                        <param-value>8192</param-value>
+                    </init-param>
+                    <load-on-startup>0</load-on-startup>
+                </servlet>
+                <servlet-mapping>
+                    <servlet-name>default</servlet-name>
+                    <url-pattern>/</url-pattern>
+                </servlet-mapping>
+
+                <servlet>
+                     <servlet-name>jsp</servlet-name>
+                     <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
+                     <init-param>
+                         <param-name>development</param-name>
+                         <param-value>false</param-value>
+                     </init-param>
+                     <init-param>
+                         <param-name>fork</param-name>
+                         <param-value>false</param-value>
+                     </init-param>
+                     <init-param>
+                         <param-name>logVerbosityLevel</param-name>
+                         <param-value>DEBUG</param-value>
+                     </init-param>
+                     <init-param>
+                         <param-name>xpoweredBy</param-name>
+                         <param-value>false</param-value>
+                     </init-param>
+                     <init-param>
+                         <param-name>engineOptionsClass</param-name>
+                         <param-value>org.apache.geronimo.jasper.JspServletOptions</param-value>
+                     </init-param>
+                     <load-on-startup>0</load-on-startup>
+                 </servlet>
+                 <servlet-mapping>
+                     <servlet-name>jsp</servlet-name>
+                     <url-pattern>*.jsp</url-pattern>
+                     <url-pattern>*.jspf</url-pattern>
+                     <url-pattern>*.jspx</url-pattern>
+                     <url-pattern>*.xsp</url-pattern>
+                 </servlet-mapping>
+
+            </web-app>
+        </xml-attribute>
+        <xml-attribute name="jspServlet">
+            <web-app xmlns="http://java.sun.com/xml/ns/javaee">
+                <servlet>
+                    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
+                    <init-param>
+                        <param-name>development</param-name>
+                        <param-value>false</param-value>
+                    </init-param>
+                    <init-param>
+                        <param-name>fork</param-name>
+                        <param-value>false</param-value>
+                    </init-param>
+                    <init-param>
+                        <param-name>logVerbosityLevel</param-name>
+                        <param-value>DEBUG</param-value>
+                    </init-param>
+                    <init-param>
+                        <param-name>xpoweredBy</param-name>
+                        <param-value>false</param-value>
+                    </init-param>
+                    <init-param>
+                        <param-name>engineOptionsClass</param-name>
+                        <param-value>org.apache.geronimo.jasper.JspServletOptions</param-value>
+                    </init-param>
+                </servlet>
+            </web-app>
+
+
+        </xml-attribute>
+        <attribute name="defaultJspServletName">jsp</attribute>
+        <!--<references name="DefaultServlets">-->
+        <!--<pattern>-->
+        <!--<name>StaticContent</name>-->
+        <!--</pattern>-->
+        <!--</references>-->
+        <!--<reference name="JspServlet">-->
+        <!--<name>JSPServlet</name>-->
+        <!--</reference>-->
         <reference name="PojoWebServiceTemplate">
             <name>POJOTemplate</name>
         </reference>
@@ -144,34 +245,34 @@ wsdl=text/xml
         </xml-attribute>
     </gbean>
 
-    <gbean name="StaticContent" class="org.apache.geronimo.jetty8.DefaultServletHolderWrapper">
-        <attribute name="servletName">default</attribute>
-        <attribute name="servletClass">org.eclipse.jetty.servlet.DefaultServlet</attribute>
-        <attribute name="loadOnStartup">0</attribute>
-        <attribute name="initParams">
-            acceptRanges=true
-            dirAllowed=true
-            putAllowed=false
-            delAllowed=false
-            redirectWelcome=false
-            minGzipLength=8192
-        </attribute>
-        <attribute name="servletMappings">/</attribute>
-    </gbean>
+    <!--<gbean name="StaticContent" class="org.apache.geronimo.jetty8.DefaultServletHolderWrapper">-->
+    <!--<attribute name="servletName">default</attribute>-->
+    <!--<attribute name="servletClass">org.eclipse.jetty.servlet.DefaultServlet</attribute>-->
+    <!--<attribute name="loadOnStartup">0</attribute>-->
+    <!--<attribute name="initParams">-->
+    <!--acceptRanges=true-->
+    <!--dirAllowed=true-->
+    <!--putAllowed=false-->
+    <!--delAllowed=false-->
+    <!--redirectWelcome=false-->
+    <!--minGzipLength=8192-->
+    <!--</attribute>-->
+    <!--<attribute name="servletMappings">/</attribute>-->
+    <!--</gbean>-->
 
-    <gbean name="JSPServlet" class="org.apache.geronimo.jetty8.JspServletHolderWrapper">
-        <attribute name="servletName">jsp</attribute>
-        <attribute name="servletClass">org.apache.jasper.servlet.JspServlet</attribute>
-        <attribute name="loadOnStartup">0</attribute>
-        <attribute name="initParams">
-            development=false
-            fork=false
-            logVerbosityLevel=DEBUG
-            xpoweredBy=false
-            engineOptionsClass=org.apache.geronimo.jasper.JspServletOptions
-        </attribute>
-        <attribute name="servletMappings">*.jsp,*.jspf,*.jspx,*.xsp</attribute>
-    </gbean>
+    <!--<gbean name="JSPServlet" class="org.apache.geronimo.jetty8.JspServletHolderWrapper">-->
+    <!--<attribute name="servletName">jsp</attribute>-->
+    <!--<attribute name="servletClass">org.apache.jasper.servlet.JspServlet</attribute>-->
+    <!--<attribute name="loadOnStartup">0</attribute>-->
+    <!--<attribute name="initParams">-->
+    <!--development=false-->
+    <!--fork=false-->
+    <!--logVerbosityLevel=DEBUG-->
+    <!--xpoweredBy=false-->
+    <!--engineOptionsClass=org.apache.geronimo.jasper.JspServletOptions-->
+    <!--</attribute>-->
+    <!--<attribute name="servletMappings">*.jsp,*.jspf,*.jspx,*.xsp</attribute>-->
+    <!--</gbean>-->
 
     <gbean name="POJOTemplate" class="org.apache.geronimo.jetty8.POJOWebServiceHolderWrapper">
         <attribute name="servletName">dummy</attribute>



Mime
View raw message