You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2004/02/14 02:50:15 UTC

cvs commit: incubator-geronimo/modules/naming/src/schema geronimo-naming.xsd

djencks     2004/02/13 17:50:15

  Modified:    modules/jetty project.xml
               modules/jetty/src/java/org/apache/geronimo/jetty/deployment
                        AbstractModule.java JettyModule.java
                        UnpackedModule.java WARConfiguration.java
                        WARConfigurationFactory.java WebAppDConfigBean.java
                        WebAppDConfigRoot.java
               modules/jetty/src/schema geronimo-jetty.xsd xmlconfig.xml
               modules/jetty/src/test/org/apache/geronimo/jetty/deployment
                        DeploymentTest.java
                        WARConfigurationFactoryTest.java
               modules/naming/src/schema geronimo-naming.xsd
  Log:
  added naming to jetty (no real tests)
  
  Revision  Changes    Path
  1.16      +9 -1      incubator-geronimo/modules/jetty/project.xml
  
  Index: project.xml
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/jetty/project.xml,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- project.xml	12 Feb 2004 23:33:21 -0000	1.15
  +++ project.xml	14 Feb 2004 01:50:14 -0000	1.16
  @@ -116,6 +116,14 @@
           </dependency>
   
           <dependency>
  +            <groupId>geronimo-spec</groupId>
  +            <artifactId>geronimo-spec-j2eeschema</artifactId>
  +            <version>DEV</version>
  +            <properties>
  +            </properties>
  +        </dependency>
  +
  +        <dependency>
               <groupId>jetty</groupId>
               <artifactId>org.mortbay.jetty</artifactId>
               <version>5.0.beta0</version>
  
  
  
  1.5       +43 -13    incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/AbstractModule.java
  
  Index: AbstractModule.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/AbstractModule.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- AbstractModule.java	5 Feb 2004 01:37:56 -0000	1.4
  +++ AbstractModule.java	14 Feb 2004 01:50:15 -0000	1.5
  @@ -55,32 +55,49 @@
    */
   package org.apache.geronimo.jetty.deployment;
   
  -import java.util.Properties;
  -import java.util.Collections;
   import java.net.URI;
  -import javax.enterprise.deploy.spi.TargetModuleID;
  +import java.util.Collections;
  +import java.util.Properties;
  +
   import javax.management.ObjectName;
  +import javax.naming.Context;
  +import javax.transaction.UserTransaction;
   
  -import org.apache.geronimo.deployment.DeploymentModule;
  -import org.apache.geronimo.deployment.DeploymentException;
   import org.apache.geronimo.deployment.ConfigurationCallback;
  +import org.apache.geronimo.deployment.DeploymentException;
  +import org.apache.geronimo.deployment.DeploymentModule;
   import org.apache.geronimo.gbean.jmx.GBeanMBean;
   import org.apache.geronimo.jetty.JettyWebApplicationContext;
   import org.apache.geronimo.kernel.Kernel;
  +import org.apache.geronimo.naming.deployment.ComponentContextBuilder;
  +import org.apache.geronimo.naming.java.ProxyFactory;
  +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
  +import org.apache.geronimo.xbeans.j2ee.WebAppType;
   
   /**
  - * 
  - * 
  + *
  + *
    * @version $Revision$ $Date$
    */
   public class AbstractModule implements DeploymentModule {
  +
  +    private final ProxyFactory proxyFactory;
       protected final URI configID;
       protected URI uri;
       protected String contextPath;
       protected boolean contextPriorityClassLoader;
  -    
  -    public AbstractModule(URI configID) {
  +    protected WebAppType webApp;
  +    protected final JettyWebAppType jettyWebApp;
  +
  +    public AbstractModule(URI configID, JettyWebAppType jettyWebApp, ProxyFactory proxyFactory) throws DeploymentException {
           this.configID = configID;
  +        this.jettyWebApp = jettyWebApp;
  +        this.proxyFactory = proxyFactory;
  +        contextPath = jettyWebApp.getContextRoot().getStringValue();
  +        if (contextPath == null) {
  +            throw new DeploymentException("No context root specified");
  +        }
  +        contextPriorityClassLoader=jettyWebApp.getContextPriorityClassloader();
       }
   
       public void init() throws DeploymentException {
  @@ -102,15 +119,28 @@
               GBeanMBean app = new GBeanMBean(JettyWebApplicationContext.GBEAN_INFO);
               app.setAttribute("URI", uri);
               app.setAttribute("ContextPath", contextPath);
  -            app.setAttribute("ContextPriorityClassLoader", new Boolean(contextPriorityClassLoader));     
  -            app.setAttribute("ComponentContext", null);
  +            app.setAttribute("ContextPriorityClassLoader", new Boolean(contextPriorityClassLoader));
               app.setAttribute("PolicyContextID", null);
  +            //jndi
  +            if (proxyFactory != null) {
  +                UserTransaction userTransaction = null;
  +                Context componentContext = new ComponentContextBuilder(proxyFactory, cl).buildContext(
  +                        webApp.getEjbRefArray(), jettyWebApp.getEjbRefArray(),
  +                        webApp.getEjbLocalRefArray(), jettyWebApp.getEjbLocalRefArray(),
  +                        webApp.getEnvEntryArray(),
  +                        webApp.getMessageDestinationRefArray(), jettyWebApp.getMessageDestinationRefArray(),
  +                        webApp.getResourceEnvRefArray(), jettyWebApp.getResourceEnvRefArray(),
  +                        webApp.getResourceRefArray(), jettyWebApp.getResourceRefArray(),
  +                        userTransaction);
  +                app.setAttribute("ComponentContext", componentContext);
  +            }
  +
               app.setReferencePatterns("Configuration", Collections.singleton(Kernel.getConfigObjectName(configID)));
               app.setReferencePatterns("JettyContainer", Collections.singleton(new ObjectName("geronimo.web:type=WebContainer,container=Jetty"))); // @todo configurable
               app.setReferencePatterns("TransactionManager", Collections.EMPTY_SET);
               app.setReferencePatterns("TrackedConnectionAssociator", Collections.EMPTY_SET);
               callback.addGBean(name, app);
  -            
  +
           } catch (Throwable e) {
               throw new DeploymentException("Unable to build GBean for web application", e);
           }
  
  
  
  1.11      +15 -9     incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/JettyModule.java
  
  Index: JettyModule.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/JettyModule.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- JettyModule.java	8 Feb 2004 20:19:21 -0000	1.10
  +++ JettyModule.java	14 Feb 2004 01:50:15 -0000	1.11
  @@ -65,7 +65,11 @@
   
   import org.apache.geronimo.deployment.ConfigurationCallback;
   import org.apache.geronimo.deployment.DeploymentException;
  -import org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppType;
  +import org.apache.geronimo.deployment.util.UnclosableInputStream;
  +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
  +import org.apache.geronimo.xbeans.j2ee.WebAppDocument;
  +import org.apache.geronimo.naming.java.ProxyFactory;
  +import org.apache.xmlbeans.XmlException;
   
   /**
    *
  @@ -79,16 +83,11 @@
       private URI classes;
       private URI lib;
   
  -    public JettyModule(URI configID, InputStream moduleArchive, JettyWebAppType webApp) throws DeploymentException {
  -        super(configID);
  +    public JettyModule(URI configID, InputStream moduleArchive, JettyWebAppType jettyWebApp, ProxyFactory proxyFactory) throws DeploymentException {
  +        super(configID, jettyWebApp, proxyFactory);
           moduleDirectory = null;
           this.zipArchive = new ZipInputStream(moduleArchive);
           closeStream = false;
  -        contextPath = webApp.getContextRoot().getStringValue();
  -        if (contextPath == null) {
  -            throw new DeploymentException("No context root specified");
  -        }
  -        contextPriorityClassLoader=webApp.getContextPriorityClassloader();
       }
   
       public void init() throws DeploymentException {
  @@ -112,6 +111,11 @@
                       }
                       callback.addFile(uri.resolve(name), zipArchive);
   
  +                    if (name.equals("WEB-INF/web-app.xml")) {
  +                        WebAppDocument webAppDoc = WebAppDocument.Factory.parse(new UnclosableInputStream(zipArchive));
  +                        webApp = webAppDoc.getWebApp();
  +                    }
  +
                       // If we do not give the context priority over classloading, then we add the standard locations to our classpath.
                       if (!contextPriorityClassLoader) {
                           if (!addedClasses && name.startsWith("WEB-INF/classes/")) {
  @@ -127,6 +131,8 @@
               }
               catch (IOException e) {
                   throw new DeploymentException("Unable to unpack WAR content", e);
  +            } catch (XmlException e) {
  +                throw new DeploymentException("Unable to parse WAR content", e);
               }
           }
           else {
  
  
  
  1.4       +12 -11    incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/UnpackedModule.java
  
  Index: UnpackedModule.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/UnpackedModule.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- UnpackedModule.java	5 Feb 2004 01:37:56 -0000	1.3
  +++ UnpackedModule.java	14 Feb 2004 01:50:15 -0000	1.4
  @@ -58,25 +58,26 @@
   import java.io.File;
   import java.net.URI;
   
  -import org.apache.geronimo.deployment.util.XMLUtil;
  -import org.w3c.dom.Document;
  +import org.apache.geronimo.deployment.DeploymentException;
  +import org.apache.geronimo.naming.java.ProxyFactory;
  +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
   
   /**
  - * 
  - * 
  + *
  + *
    * @version $Revision$ $Date$
    */
   public class UnpackedModule extends AbstractModule {
  -   
  -    public UnpackedModule(URI configID, File archive, Document deploymentPlan) {
  -        super(configID);
  +
  +    public UnpackedModule(URI configID, File archive, JettyWebAppType jettyWebApp, ProxyFactory proxyFactory) throws DeploymentException {
  +        super(configID, jettyWebApp, proxyFactory);
           this.uri = archive.toURI();
  +        //????? contextPath is read from required geronimo dd.
           contextPath = archive.getName();
           if (contextPath.endsWith(".war")) {
               contextPath = contextPath.substring(0, contextPath.length() - 4);
           }
  -        contextPath = XMLUtil.getChildContent(deploymentPlan.getDocumentElement(), "context-root", contextPath, contextPath);
  -    }    
  -    
  +    }
  +
       // TODO - generate classpath?
   }
  
  
  
  1.5       +1 -14     incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/WARConfiguration.java
  
  Index: WARConfiguration.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/WARConfiguration.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- WARConfiguration.java	6 Feb 2004 08:55:49 -0000	1.4
  +++ WARConfiguration.java	14 Feb 2004 01:50:15 -0000	1.5
  @@ -55,22 +55,9 @@
    */
   package org.apache.geronimo.jetty.deployment;
   
  -import java.io.IOException;
  -import java.io.InputStream;
  -import java.io.OutputStream;
  -import java.io.PrintWriter;
  -import javax.enterprise.deploy.model.DDBeanRoot;
   import javax.enterprise.deploy.model.DeployableObject;
  -import javax.enterprise.deploy.spi.DConfigBeanRoot;
  -import javax.enterprise.deploy.spi.exceptions.ConfigurationException;
  -import javax.xml.parsers.DocumentBuilder;
  -import javax.xml.parsers.DocumentBuilderFactory;
  -import javax.xml.parsers.ParserConfigurationException;
   
   import org.apache.geronimo.deployment.plugin.DeploymentConfigurationSupport;
  -import org.apache.xmlbeans.XmlException;
  -import org.xml.sax.SAXException;
  -import org.w3c.dom.Document;
   
   /**
    *
  
  
  
  1.8       +12 -8     incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/WARConfigurationFactory.java
  
  Index: WARConfigurationFactory.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/WARConfigurationFactory.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- WARConfigurationFactory.java	9 Feb 2004 00:01:20 -0000	1.7
  +++ WARConfigurationFactory.java	14 Feb 2004 01:50:15 -0000	1.8
  @@ -58,17 +58,13 @@
   import java.io.InputStream;
   import java.net.URI;
   
  -import javax.enterprise.deploy.model.DeployableObject;
  -import javax.enterprise.deploy.shared.ModuleType;
  -import javax.enterprise.deploy.spi.DeploymentConfiguration;
  -import javax.enterprise.deploy.spi.exceptions.InvalidModuleException;
  -
   import org.apache.geronimo.deployment.DeploymentException;
   import org.apache.geronimo.deployment.DeploymentModule;
   import org.apache.geronimo.deployment.plugin.factories.DeploymentConfigurationFactory;
   import org.apache.geronimo.gbean.GBeanInfo;
   import org.apache.geronimo.gbean.GBeanInfoFactory;
  -import org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppDocument;
  +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppDocument;
  +import org.apache.geronimo.naming.java.ProxyFactory;
   import org.apache.xmlbeans.SchemaType;
   import org.apache.xmlbeans.SchemaTypeLoader;
   import org.apache.xmlbeans.XmlBeans;
  @@ -82,11 +78,17 @@
   public class WARConfigurationFactory implements DeploymentConfigurationFactory {
       private static final SchemaTypeLoader SCHEMA_TYPE_LOADER = XmlBeans.getContextTypeLoader();
   
  +    private ProxyFactory proxyFactory;
  +
  +    public WARConfigurationFactory(ProxyFactory proxyFactory) {
  +        this.proxyFactory = proxyFactory;
  +    }
  +
       //TODO a createModule method taking a file/directory for unpacked jsp handling.
       //Should create a UnpackedModule if supplied file is a directory.
       public DeploymentModule createModule(InputStream moduleArchive, XmlObject deploymentPlan, URI configID, boolean isLocal) throws DeploymentException {
           JettyWebAppDocument webAppDoc = (JettyWebAppDocument)deploymentPlan;
  -        return new JettyModule(configID, moduleArchive, webAppDoc.getWebApp());
  +        return new JettyModule(configID, moduleArchive, webAppDoc.getWebApp(), proxyFactory);
       }
   
       //these might be temporary
  @@ -103,6 +105,8 @@
       static {
           GBeanInfoFactory infoFactory = new GBeanInfoFactory("Jetty WAR Configuration Factory", WARConfigurationFactory.class.getName());
           infoFactory.addInterface(DeploymentConfigurationFactory.class);
  +        infoFactory.addReference("ProxyFactory", ProxyFactory.class);
  +        infoFactory.setConstructor(new String[] {"ProxyFactory"}, new Class[] {ProxyFactory.class});
           GBEAN_INFO = infoFactory.getBeanInfo();
       }
   
  
  
  
  1.8       +2 -2      incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/WebAppDConfigBean.java
  
  Index: WebAppDConfigBean.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/WebAppDConfigBean.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- WebAppDConfigBean.java	9 Feb 2004 23:11:04 -0000	1.7
  +++ WebAppDConfigBean.java	14 Feb 2004 01:50:15 -0000	1.8
  @@ -62,7 +62,7 @@
   
   import org.apache.geronimo.deployment.plugin.DConfigBeanSupport;
   import org.apache.geronimo.deployment.plugin.j2ee.ENCHelper;
  -import org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppType;
  +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
   import org.apache.xmlbeans.SchemaTypeLoader;
   import org.apache.xmlbeans.XmlBeans;
   
  
  
  
  1.6       +3 -3      incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/WebAppDConfigRoot.java
  
  Index: WebAppDConfigRoot.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/WebAppDConfigRoot.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- WebAppDConfigRoot.java	11 Feb 2004 08:02:21 -0000	1.5
  +++ WebAppDConfigRoot.java	14 Feb 2004 01:50:15 -0000	1.6
  @@ -64,8 +64,8 @@
   import javax.enterprise.deploy.spi.exceptions.ConfigurationException;
   
   import org.apache.geronimo.deployment.plugin.DConfigBeanRootSupport;
  -import org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppDocument;
  -import org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppType;
  +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppDocument;
  +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
   import org.apache.xmlbeans.SchemaTypeLoader;
   import org.apache.xmlbeans.XmlBeans;
   import org.apache.xmlbeans.XmlException;
  
  
  
  1.3       +7 -3      incubator-geronimo/modules/jetty/src/schema/geronimo-jetty.xsd
  
  Index: geronimo-jetty.xsd
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/jetty/src/schema/geronimo-jetty.xsd,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- geronimo-jetty.xsd	12 Feb 2004 16:29:00 -0000	1.2
  +++ geronimo-jetty.xsd	14 Feb 2004 01:50:15 -0000	1.3
  @@ -1,18 +1,22 @@
   <?xml version="1.0" encoding="UTF-8"?>
   <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
  -    xmlns:ger="http://geronimo.apache.org/xml/ns/web/jetty"
  +    xmlns:jetty="http://geronimo.apache.org/xml/ns/web/jetty"
       targetNamespace="http://geronimo.apache.org/xml/ns/web/jetty"
  +    xmlns:ger="http://geronimo.apache.org/xml/ns/j2ee"
       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
       elementFormDefault="qualified"
       attributeFormDefault="unqualified"
       version="1.0">
   
  -    <xsd:element name="web-app" type="ger:web-appType"/>
  +    <xsd:import namespace="http://geronimo.apache.org/xml/ns/j2ee" schemaLocation="../../../naming/src/schema/geronimo-naming.xsd"/>
  +
  +    <xsd:element name="web-app" type="jetty:web-appType"/>
   
       <xsd:complexType name="web-appType">
           <xsd:sequence>
  -            <xsd:element name="context-root" type="ger:context-rootType"/>
  +            <xsd:element name="context-root" type="jetty:context-rootType"/>
               <xsd:element name="context-priority-classloader" type="xsd:boolean"/>
  +            <xsd:group ref="ger:jndiEnvironmentRefsGroup"/>
           </xsd:sequence>
       </xsd:complexType>
   
  
  
  
  1.3       +7 -1      incubator-geronimo/modules/jetty/src/schema/xmlconfig.xml
  
  Index: xmlconfig.xml
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/jetty/src/schema/xmlconfig.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- xmlconfig.xml	12 Feb 2004 16:29:00 -0000	1.2
  +++ xmlconfig.xml	14 Feb 2004 01:50:15 -0000	1.3
  @@ -2,8 +2,14 @@
       >
   
       <xb:namespace uri="http://geronimo.apache.org/xml/ns/web/jetty">
  -        <xb:package>org.apache.geronimo.xbeans.geronimo.deployment.jetty</xb:package>
  +        <xb:package>org.apache.geronimo.xbeans.geronimo.jetty</xb:package>
           <xb:prefix>Jetty</xb:prefix>
  +    </xb:namespace>
  +
  +    <!--this should be unnecessary.  Probably needs xmlbeans plugin to reuse the naming classes rather than generating duplicates-->
  +    <xb:namespace uri="http://geronimo.apache.org/xml/ns/j2ee">
  +        <xb:package>org.apache.geronimo.xbeans.geronimo</xb:package>
  +        <xb:prefix>Ger</xb:prefix>
       </xb:namespace>
   
   </xb:config>
  
  
  
  1.7       +2 -2      incubator-geronimo/modules/jetty/src/test/org/apache/geronimo/jetty/deployment/DeploymentTest.java
  
  Index: DeploymentTest.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/jetty/src/test/org/apache/geronimo/jetty/deployment/DeploymentTest.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- DeploymentTest.java	6 Feb 2004 08:55:49 -0000	1.6
  +++ DeploymentTest.java	14 Feb 2004 01:50:15 -0000	1.7
  @@ -80,7 +80,7 @@
   import org.apache.geronimo.deployment.service.ServiceDeployer;
   import org.apache.geronimo.deployment.util.URLInfo;
   import org.apache.geronimo.gbean.jmx.GBeanMBean;
  -import org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppDocument;
  +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppDocument;
   
   /**
    *
  
  
  
  1.10      +4 -4      incubator-geronimo/modules/jetty/src/test/org/apache/geronimo/jetty/deployment/WARConfigurationFactoryTest.java
  
  Index: WARConfigurationFactoryTest.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/jetty/src/test/org/apache/geronimo/jetty/deployment/WARConfigurationFactoryTest.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- WARConfigurationFactoryTest.java	11 Feb 2004 08:02:21 -0000	1.9
  +++ WARConfigurationFactoryTest.java	14 Feb 2004 01:50:15 -0000	1.10
  @@ -61,9 +61,9 @@
   import javax.enterprise.deploy.spi.DConfigBeanRoot;
   
   import org.apache.geronimo.deployment.tools.loader.WebDeployable;
  -import org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyContextRootType;
  -import org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppDocument;
  -import org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppType;
  +import org.apache.geronimo.xbeans.geronimo.jetty.JettyContextRootType;
  +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppDocument;
  +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
   import org.w3c.dom.Document;
   import org.w3c.dom.Element;
   
  
  
  
  1.2       +2 -2      incubator-geronimo/modules/naming/src/schema/geronimo-naming.xsd
  
  Index: geronimo-naming.xsd
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/naming/src/schema/geronimo-naming.xsd,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- geronimo-naming.xsd	13 Feb 2004 23:41:47 -0000	1.1
  +++ geronimo-naming.xsd	14 Feb 2004 01:50:15 -0000	1.2
  @@ -19,9 +19,9 @@
               </xsd:documentation>
           </xsd:annotation>
           <xsd:sequence>
  -            <xsd:element name="env-entry"
  +            <!--xsd:element name="env-entry"
                   type="ger:env-entryType"
  -                minOccurs="0" maxOccurs="unbounded"/>
  +                minOccurs="0" maxOccurs="unbounded"/-->
               <xsd:element name="ejb-ref"
                   type="ger:ejb-refType"
                   minOccurs="0" maxOccurs="unbounded"/>
  
  
  

Re: cvs commit: incubator-geronimo/modules/naming/src/schema geronimo-naming.xsd

Posted by David Jencks <da...@coredevelopers.net>.
On Saturday, February 14, 2004, at 06:21 AM, Aaron Mulder wrote:

> 	Another thing I've noticed about XMLBeans is that it doesn't seem
> to validate while reading a document -- at least by default.

By default, IIUC for maximum speed, xmlbeans does essentially no  
validation.  To validate a particular XmlObject and its subtree, call  
validate().  To validate  and get info about what might have gone  
wrong, something like this is needed:

             plan = schemaTypeLoader.parse(deploymentPlan, null, null);
             //validate
             XmlOptions xmlOptions = new XmlOptions();
             xmlOptions.setLoadLineNumbers();
             Collection errors = new ArrayList();
             xmlOptions.setErrorListener(errors);
             if (!plan.validate(xmlOptions)) {
                 return new FailedProgressObject(CommandType.DISTRIBUTE,  
"Invalid deployment plan: errors: " + errors);
             }

if there is are problems, the errors list will have info about where  
they are.

>  That means
> that if someone hand-codes a DD, we'll just silently ignore any errors  
> and
> they won't understand why certain DD features "just don't work".

we need to make sure we do validate all the xml we read.

david jencks
>
> Aaron
>
> On Fri, 13 Feb 2004, David Jencks wrote:
>> On Friday, February 13, 2004, at 09:15 PM, Jeremy Boynes wrote:
>>
>>> David
>>>
>>> Should we really do this?
>>> <xsd:import
>>>   namespace="http://geronimo.apache.org/xml/ns/j2ee"
>>>   schemaLocation="../../../naming/src/schema/geronimo-naming.xsd"/>
>>> Won't the location get messed up in a final build?
>>
>> well,
>> (1) this is not ideal but it works for now.  Otherwise I think we need
>> a resolver catalog for each module.  suggestions appreciated.
>> (2) after the xmlbeans code is generated the schema location is
>> irrelevant, we don't need the schema any more.
>>>
>>> I am also concerned that we are putting all the naming stuff in a
>>> separate namespace - won't this mean that people editing the document
>>> will need to change namespace for all JNDI reference definitions?
>>> Woulnd't that make it harder for users rather than the few places
>>> where we need to handle this stuff in code?
>>>
>>> Can't we do something with XML Schema inheritance that XML Beans can
>>> still handle but which allows the elements to sit in the namespace of
>>> the including document?
>>
>> I don't think this is possible, but I am open to the results of
>> experiments.  So far I think our best bet is to give each schema piece
>> a separate namespace.  This will result in only one version of each
>> schema type class in one package.  My impression so far is that your
>> idea of including no-namespace schema fragments into various other
>> namespaces will unavoidably result in one copy of each schema type
>> class in the appropriate package for the enclosing schema namespace.
>> This will make common DConfigBeans and xmlbeans-to-gbean config code
>> impossible.
>>
>> Note that if people or tools actually use the DConfigBeans they will
>> never have to deal with the namespace shifts, as the DConfigBeans will
>> generate them automatically.
>>
>> If you have another idea that will result in reusable DConfigBeans and
>> xmlbeans-to-gbean code, please be more specific.
>>
>> david
>>>
>>> --
>>> Jeremy
>>>
>>>
>>> djencks@apache.org wrote:
>>>> djencks     2004/02/13 17:50:15
>>>>   Modified:    modules/jetty project.xml
>>>>
>>>> modules/jetty/src/java/org/apache/geronimo/jetty/deployment
>>>>                         AbstractModule.java JettyModule.java
>>>>                         UnpackedModule.java WARConfiguration.java
>>>>                         WARConfigurationFactory.java
>>>> WebAppDConfigBean.java
>>>>                         WebAppDConfigRoot.java
>>>>                modules/jetty/src/schema geronimo-jetty.xsd
>>>> xmlconfig.xml
>>>>
>>>> modules/jetty/src/test/org/apache/geronimo/jetty/deployment
>>>>                         DeploymentTest.java
>>>>                         WARConfigurationFactoryTest.java
>>>>                modules/naming/src/schema geronimo-naming.xsd
>>>>   Log:
>>>>   added naming to jetty (no real tests)
>>>>     Revision  Changes    Path
>>>>   1.16      +9 -1      incubator-geronimo/modules/jetty/project.xml
>>>>     Index: project.xml
>>>>    
>>>> ===================================================================
>>>>   RCS file: /home/cvs/incubator-geronimo/modules/jetty/project.xml,v
>>>>   retrieving revision 1.15
>>>>   retrieving revision 1.16
>>>>   diff -u -r1.15 -r1.16
>>>>   --- project.xml	12 Feb 2004 23:33:21 -0000	1.15
>>>>   +++ project.xml	14 Feb 2004 01:50:14 -0000	1.16
>>>>   @@ -116,6 +116,14 @@
>>>>            </dependency>
>>>>               <dependency>
>>>>   +            <groupId>geronimo-spec</groupId>
>>>>   +            <artifactId>geronimo-spec-j2eeschema</artifactId>
>>>>   +            <version>DEV</version>
>>>>   +            <properties>
>>>>   +            </properties>
>>>>   +        </dependency>
>>>>   +
>>>>   +        <dependency>
>>>>                <groupId>jetty</groupId>
>>>>                <artifactId>org.mortbay.jetty</artifactId>
>>>>                <version>5.0.beta0</version>
>>>>         1.5       +43 -13
>>>> incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/
>>>> deployment/AbstractModule.java
>>>>     Index: AbstractModule.java
>>>>    
>>>> ===================================================================
>>>>   RCS file:
>>>> /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/
>>>> geronimo/jetty/deployment/AbstractModule.java,v
>>>>   retrieving revision 1.4
>>>>   retrieving revision 1.5
>>>>   diff -u -r1.4 -r1.5
>>>>   --- AbstractModule.java	5 Feb 2004 01:37:56 -0000	1.4
>>>>   +++ AbstractModule.java	14 Feb 2004 01:50:15 -0000	1.5
>>>>   @@ -55,32 +55,49 @@
>>>>     */
>>>>    package org.apache.geronimo.jetty.deployment;
>>>>      -import java.util.Properties;
>>>>   -import java.util.Collections;
>>>>    import java.net.URI;
>>>>   -import javax.enterprise.deploy.spi.TargetModuleID;
>>>>   +import java.util.Collections;
>>>>   +import java.util.Properties;
>>>>   +
>>>>    import javax.management.ObjectName;
>>>>   +import javax.naming.Context;
>>>>   +import javax.transaction.UserTransaction;
>>>>      -import org.apache.geronimo.deployment.DeploymentModule;
>>>>   -import org.apache.geronimo.deployment.DeploymentException;
>>>>    import org.apache.geronimo.deployment.ConfigurationCallback;
>>>>   +import org.apache.geronimo.deployment.DeploymentException;
>>>>   +import org.apache.geronimo.deployment.DeploymentModule;
>>>>    import org.apache.geronimo.gbean.jmx.GBeanMBean;
>>>>    import org.apache.geronimo.jetty.JettyWebApplicationContext;
>>>>    import org.apache.geronimo.kernel.Kernel;
>>>>   +import
>>>> org.apache.geronimo.naming.deployment.ComponentContextBuilder;
>>>>   +import org.apache.geronimo.naming.java.ProxyFactory;
>>>>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
>>>>   +import org.apache.geronimo.xbeans.j2ee.WebAppType;
>>>>       /**
>>>>   - *   - *   + *
>>>>   + *
>>>>     * @version $Revision$ $Date$
>>>>     */
>>>>    public class AbstractModule implements DeploymentModule {
>>>>   +
>>>>   +    private final ProxyFactory proxyFactory;
>>>>        protected final URI configID;
>>>>        protected URI uri;
>>>>        protected String contextPath;
>>>>        protected boolean contextPriorityClassLoader;
>>>>   -      -    public AbstractModule(URI configID) {
>>>>   +    protected WebAppType webApp;
>>>>   +    protected final JettyWebAppType jettyWebApp;
>>>>   +
>>>>   +    public AbstractModule(URI configID, JettyWebAppType
>>>> jettyWebApp, ProxyFactory proxyFactory) throws DeploymentException {
>>>>            this.configID = configID;
>>>>   +        this.jettyWebApp = jettyWebApp;
>>>>   +        this.proxyFactory = proxyFactory;
>>>>   +        contextPath =
>>>> jettyWebApp.getContextRoot().getStringValue();
>>>>   +        if (contextPath == null) {
>>>>   +            throw new DeploymentException("No context root
>>>> specified");
>>>>   +        }
>>>>   +
>>>> contextPriorityClassLoader=jettyWebApp.getContextPriorityClassloader 
>>>> ()
>>>> ;
>>>>        }
>>>>           public void init() throws DeploymentException {
>>>>   @@ -102,15 +119,28 @@
>>>>                GBeanMBean app = new
>>>> GBeanMBean(JettyWebApplicationContext.GBEAN_INFO);
>>>>                app.setAttribute("URI", uri);
>>>>                app.setAttribute("ContextPath", contextPath);
>>>>   -            app.setAttribute("ContextPriorityClassLoader", new
>>>> Boolean(contextPriorityClassLoader));       -
>>>> app.setAttribute("ComponentContext", null);
>>>>   +            app.setAttribute("ContextPriorityClassLoader", new
>>>> Boolean(contextPriorityClassLoader));
>>>>                app.setAttribute("PolicyContextID", null);
>>>>   +            //jndi
>>>>   +            if (proxyFactory != null) {
>>>>   +                UserTransaction userTransaction = null;
>>>>   +                Context componentContext = new
>>>> ComponentContextBuilder(proxyFactory, cl).buildContext(
>>>>   +                        webApp.getEjbRefArray(),
>>>> jettyWebApp.getEjbRefArray(),
>>>>   +                        webApp.getEjbLocalRefArray(),
>>>> jettyWebApp.getEjbLocalRefArray(),
>>>>   +                        webApp.getEnvEntryArray(),
>>>>   +                        webApp.getMessageDestinationRefArray(),
>>>> jettyWebApp.getMessageDestinationRefArray(),
>>>>   +                        webApp.getResourceEnvRefArray(),
>>>> jettyWebApp.getResourceEnvRefArray(),
>>>>   +                        webApp.getResourceRefArray(),
>>>> jettyWebApp.getResourceRefArray(),
>>>>   +                        userTransaction);
>>>>   +                app.setAttribute("ComponentContext",
>>>> componentContext);
>>>>   +            }
>>>>   +
>>>>                app.setReferencePatterns("Configuration",
>>>> Collections.singleton(Kernel.getConfigObjectName(configID)));
>>>>                app.setReferencePatterns("JettyContainer",
>>>> Collections.singleton(new
>>>> ObjectName("geronimo.web:type=WebContainer,container=Jetty"))); //
>>>> @todo configurable
>>>>                app.setReferencePatterns("TransactionManager",
>>>> Collections.EMPTY_SET);
>>>>
>>>> app.setReferencePatterns("TrackedConnectionAssociator",
>>>> Collections.EMPTY_SET);
>>>>                callback.addGBean(name, app);
>>>>   -              +
>>>>            } catch (Throwable e) {
>>>>                throw new DeploymentException("Unable to build GBean
>>>> for web application", e);
>>>>            }
>>>>         1.11      +15 -9
>>>> incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/
>>>> deployment/JettyModule.java
>>>>     Index: JettyModule.java
>>>>    
>>>> ===================================================================
>>>>   RCS file:
>>>> /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/
>>>> geronimo/jetty/deployment/JettyModule.java,v
>>>>   retrieving revision 1.10
>>>>   retrieving revision 1.11
>>>>   diff -u -r1.10 -r1.11
>>>>   --- JettyModule.java	8 Feb 2004 20:19:21 -0000	1.10
>>>>   +++ JettyModule.java	14 Feb 2004 01:50:15 -0000	1.11
>>>>   @@ -65,7 +65,11 @@
>>>>       import org.apache.geronimo.deployment.ConfigurationCallback;
>>>>    import org.apache.geronimo.deployment.DeploymentException;
>>>>   -import
>>>> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppType 
>>>> ;
>>>>   +import org.apache.geronimo.deployment.util.UnclosableInputStream;
>>>>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
>>>>   +import org.apache.geronimo.xbeans.j2ee.WebAppDocument;
>>>>   +import org.apache.geronimo.naming.java.ProxyFactory;
>>>>   +import org.apache.xmlbeans.XmlException;
>>>>       /**
>>>>     *
>>>>   @@ -79,16 +83,11 @@
>>>>        private URI classes;
>>>>        private URI lib;
>>>>      -    public JettyModule(URI configID, InputStream  
>>>> moduleArchive,
>>>> JettyWebAppType webApp) throws DeploymentException {
>>>>   -        super(configID);
>>>>   +    public JettyModule(URI configID, InputStream moduleArchive,
>>>> JettyWebAppType jettyWebApp, ProxyFactory proxyFactory) throws
>>>> DeploymentException {
>>>>   +        super(configID, jettyWebApp, proxyFactory);
>>>>            moduleDirectory = null;
>>>>            this.zipArchive = new ZipInputStream(moduleArchive);
>>>>            closeStream = false;
>>>>   -        contextPath = webApp.getContextRoot().getStringValue();
>>>>   -        if (contextPath == null) {
>>>>   -            throw new DeploymentException("No context root
>>>> specified");
>>>>   -        }
>>>>   -
>>>> contextPriorityClassLoader=webApp.getContextPriorityClassloader();
>>>>        }
>>>>           public void init() throws DeploymentException {
>>>>   @@ -112,6 +111,11 @@
>>>>                        }
>>>>                        callback.addFile(uri.resolve(name),
>>>> zipArchive);
>>>>      +                    if (name.equals("WEB-INF/web-app.xml")) {
>>>>   +                        WebAppDocument webAppDoc =
>>>> WebAppDocument.Factory.parse(new UnclosableInputStream(zipArchive));
>>>>   +                        webApp = webAppDoc.getWebApp();
>>>>   +                    }
>>>>   +
>>>>                        // If we do not give the context priority  
>>>> over
>>>> classloading, then we add the standard locations to our classpath.
>>>>                        if (!contextPriorityClassLoader) {
>>>>                            if (!addedClasses &&
>>>> name.startsWith("WEB-INF/classes/")) {
>>>>   @@ -127,6 +131,8 @@
>>>>                }
>>>>                catch (IOException e) {
>>>>                    throw new DeploymentException("Unable to unpack
>>>> WAR content", e);
>>>>   +            } catch (XmlException e) {
>>>>   +                throw new DeploymentException("Unable to parse  
>>>> WAR
>>>> content", e);
>>>>                }
>>>>            }
>>>>            else {
>>>>         1.4       +12 -11
>>>> incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/
>>>> deployment/UnpackedModule.java
>>>>     Index: UnpackedModule.java
>>>>    
>>>> ===================================================================
>>>>   RCS file:
>>>> /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/
>>>> geronimo/jetty/deployment/UnpackedModule.java,v
>>>>   retrieving revision 1.3
>>>>   retrieving revision 1.4
>>>>   diff -u -r1.3 -r1.4
>>>>   --- UnpackedModule.java	5 Feb 2004 01:37:56 -0000	1.3
>>>>   +++ UnpackedModule.java	14 Feb 2004 01:50:15 -0000	1.4
>>>>   @@ -58,25 +58,26 @@
>>>>    import java.io.File;
>>>>    import java.net.URI;
>>>>      -import org.apache.geronimo.deployment.util.XMLUtil;
>>>>   -import org.w3c.dom.Document;
>>>>   +import org.apache.geronimo.deployment.DeploymentException;
>>>>   +import org.apache.geronimo.naming.java.ProxyFactory;
>>>>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
>>>>       /**
>>>>   - *   - *   + *
>>>>   + *
>>>>     * @version $Revision$ $Date$
>>>>     */
>>>>    public class UnpackedModule extends AbstractModule {
>>>>   -     -    public UnpackedModule(URI configID, File archive,
>>>> Document deploymentPlan) {
>>>>   -        super(configID);
>>>>   +
>>>>   +    public UnpackedModule(URI configID, File archive,
>>>> JettyWebAppType jettyWebApp, ProxyFactory proxyFactory) throws
>>>> DeploymentException {
>>>>   +        super(configID, jettyWebApp, proxyFactory);
>>>>            this.uri = archive.toURI();
>>>>   +        //????? contextPath is read from required geronimo dd.
>>>>            contextPath = archive.getName();
>>>>            if (contextPath.endsWith(".war")) {
>>>>                contextPath = contextPath.substring(0,
>>>> contextPath.length() - 4);
>>>>            }
>>>>   -        contextPath =
>>>> XMLUtil.getChildContent(deploymentPlan.getDocumentElement(),
>>>> "context-root", contextPath, contextPath);
>>>>   -    }      -      +    }
>>>>   +
>>>>        // TODO - generate classpath?
>>>>    }
>>>>         1.5       +1 -14
>>>> incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/
>>>> deployment/WARConfiguration.java
>>>>     Index: WARConfiguration.java
>>>>    
>>>> ===================================================================
>>>>   RCS file:
>>>> /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/
>>>> geronimo/jetty/deployment/WARConfiguration.java,v
>>>>   retrieving revision 1.4
>>>>   retrieving revision 1.5
>>>>   diff -u -r1.4 -r1.5
>>>>   --- WARConfiguration.java	6 Feb 2004 08:55:49 -0000	1.4
>>>>   +++ WARConfiguration.java	14 Feb 2004 01:50:15 -0000	1.5
>>>>   @@ -55,22 +55,9 @@
>>>>     */
>>>>    package org.apache.geronimo.jetty.deployment;
>>>>      -import java.io.IOException;
>>>>   -import java.io.InputStream;
>>>>   -import java.io.OutputStream;
>>>>   -import java.io.PrintWriter;
>>>>   -import javax.enterprise.deploy.model.DDBeanRoot;
>>>>    import javax.enterprise.deploy.model.DeployableObject;
>>>>   -import javax.enterprise.deploy.spi.DConfigBeanRoot;
>>>>   -import
>>>> javax.enterprise.deploy.spi.exceptions.ConfigurationException;
>>>>   -import javax.xml.parsers.DocumentBuilder;
>>>>   -import javax.xml.parsers.DocumentBuilderFactory;
>>>>   -import javax.xml.parsers.ParserConfigurationException;
>>>>       import
>>>> org.apache.geronimo.deployment.plugin.DeploymentConfigurationSupport 
>>>> ;
>>>>   -import org.apache.xmlbeans.XmlException;
>>>>   -import org.xml.sax.SAXException;
>>>>   -import org.w3c.dom.Document;
>>>>       /**
>>>>     *
>>>>         1.8       +12 -8
>>>> incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/
>>>> deployment/WARConfigurationFactory.java
>>>>     Index: WARConfigurationFactory.java
>>>>    
>>>> ===================================================================
>>>>   RCS file:
>>>> /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/
>>>> geronimo/jetty/deployment/WARConfigurationFactory.java,v
>>>>   retrieving revision 1.7
>>>>   retrieving revision 1.8
>>>>   diff -u -r1.7 -r1.8
>>>>   --- WARConfigurationFactory.java	9 Feb 2004 00:01:20 -0000	1.7
>>>>   +++ WARConfigurationFactory.java	14 Feb 2004 01:50:15 -0000	1.8
>>>>   @@ -58,17 +58,13 @@
>>>>    import java.io.InputStream;
>>>>    import java.net.URI;
>>>>      -import javax.enterprise.deploy.model.DeployableObject;
>>>>   -import javax.enterprise.deploy.shared.ModuleType;
>>>>   -import javax.enterprise.deploy.spi.DeploymentConfiguration;
>>>>   -import
>>>> javax.enterprise.deploy.spi.exceptions.InvalidModuleException;
>>>>   -
>>>>    import org.apache.geronimo.deployment.DeploymentException;
>>>>    import org.apache.geronimo.deployment.DeploymentModule;
>>>>    import
>>>> org.apache.geronimo.deployment.plugin.factories.DeploymentConfigurat 
>>>> io
>>>> nFactory;
>>>>    import org.apache.geronimo.gbean.GBeanInfo;
>>>>    import org.apache.geronimo.gbean.GBeanInfoFactory;
>>>>   -import
>>>> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppDocu 
>>>> me
>>>> nt;
>>>>   +import
>>>> org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppDocument;
>>>>   +import org.apache.geronimo.naming.java.ProxyFactory;
>>>>    import org.apache.xmlbeans.SchemaType;
>>>>    import org.apache.xmlbeans.SchemaTypeLoader;
>>>>    import org.apache.xmlbeans.XmlBeans;
>>>>   @@ -82,11 +78,17 @@
>>>>    public class WARConfigurationFactory implements
>>>> DeploymentConfigurationFactory {
>>>>        private static final SchemaTypeLoader SCHEMA_TYPE_LOADER =
>>>> XmlBeans.getContextTypeLoader();
>>>>      +    private ProxyFactory proxyFactory;
>>>>   +
>>>>   +    public WARConfigurationFactory(ProxyFactory proxyFactory) {
>>>>   +        this.proxyFactory = proxyFactory;
>>>>   +    }
>>>>   +
>>>>        //TODO a createModule method taking a file/directory for
>>>> unpacked jsp handling.
>>>>        //Should create a UnpackedModule if supplied file is a
>>>> directory.
>>>>        public DeploymentModule createModule(InputStream
>>>> moduleArchive, XmlObject deploymentPlan, URI configID, boolean
>>>> isLocal) throws DeploymentException {
>>>>            JettyWebAppDocument webAppDoc =
>>>> (JettyWebAppDocument)deploymentPlan;
>>>>   -        return new JettyModule(configID, moduleArchive,
>>>> webAppDoc.getWebApp());
>>>>   +        return new JettyModule(configID, moduleArchive,
>>>> webAppDoc.getWebApp(), proxyFactory);
>>>>        }
>>>>           //these might be temporary
>>>>   @@ -103,6 +105,8 @@
>>>>        static {
>>>>            GBeanInfoFactory infoFactory = new  
>>>> GBeanInfoFactory("Jetty
>>>> WAR Configuration Factory",  
>>>> WARConfigurationFactory.class.getName());
>>>>
>>>> infoFactory.addInterface(DeploymentConfigurationFactory.class);
>>>>   +        infoFactory.addReference("ProxyFactory",
>>>> ProxyFactory.class);
>>>>   +        infoFactory.setConstructor(new String[] {"ProxyFactory"},
>>>> new Class[] {ProxyFactory.class});
>>>>            GBEAN_INFO = infoFactory.getBeanInfo();
>>>>        }
>>>>            1.8       +2 -2
>>>> incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/
>>>> deployment/WebAppDConfigBean.java
>>>>     Index: WebAppDConfigBean.java
>>>>    
>>>> ===================================================================
>>>>   RCS file:
>>>> /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/
>>>> geronimo/jetty/deployment/WebAppDConfigBean.java,v
>>>>   retrieving revision 1.7
>>>>   retrieving revision 1.8
>>>>   diff -u -r1.7 -r1.8
>>>>   --- WebAppDConfigBean.java	9 Feb 2004 23:11:04 -0000	1.7
>>>>   +++ WebAppDConfigBean.java	14 Feb 2004 01:50:15 -0000	1.8
>>>>   @@ -62,7 +62,7 @@
>>>>       import  
>>>> org.apache.geronimo.deployment.plugin.DConfigBeanSupport;
>>>>    import org.apache.geronimo.deployment.plugin.j2ee.ENCHelper;
>>>>   -import
>>>> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppType 
>>>> ;
>>>>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
>>>>    import org.apache.xmlbeans.SchemaTypeLoader;
>>>>    import org.apache.xmlbeans.XmlBeans;
>>>>            1.6       +3 -3
>>>> incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/
>>>> deployment/WebAppDConfigRoot.java
>>>>     Index: WebAppDConfigRoot.java
>>>>    
>>>> ===================================================================
>>>>   RCS file:
>>>> /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/
>>>> geronimo/jetty/deployment/WebAppDConfigRoot.java,v
>>>>   retrieving revision 1.5
>>>>   retrieving revision 1.6
>>>>   diff -u -r1.5 -r1.6
>>>>   --- WebAppDConfigRoot.java	11 Feb 2004 08:02:21 -0000	1.5
>>>>   +++ WebAppDConfigRoot.java	14 Feb 2004 01:50:15 -0000	1.6
>>>>   @@ -64,8 +64,8 @@
>>>>    import
>>>> javax.enterprise.deploy.spi.exceptions.ConfigurationException;
>>>>       import
>>>> org.apache.geronimo.deployment.plugin.DConfigBeanRootSupport;
>>>>   -import
>>>> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppDocu 
>>>> me
>>>> nt;
>>>>   -import
>>>> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppType 
>>>> ;
>>>>   +import
>>>> org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppDocument;
>>>>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
>>>>    import org.apache.xmlbeans.SchemaTypeLoader;
>>>>    import org.apache.xmlbeans.XmlBeans;
>>>>    import org.apache.xmlbeans.XmlException;
>>>>         1.3       +7 -3
>>>> incubator-geronimo/modules/jetty/src/schema/geronimo-jetty.xsd
>>>>     Index: geronimo-jetty.xsd
>>>>    
>>>> ===================================================================
>>>>   RCS file:
>>>> /home/cvs/incubator-geronimo/modules/jetty/src/schema/geronimo-
>>>> jetty.xsd,v
>>>>   retrieving revision 1.2
>>>>   retrieving revision 1.3
>>>>   diff -u -r1.2 -r1.3
>>>>   --- geronimo-jetty.xsd	12 Feb 2004 16:29:00 -0000	1.2
>>>>   +++ geronimo-jetty.xsd	14 Feb 2004 01:50:15 -0000	1.3
>>>>   @@ -1,18 +1,22 @@
>>>>    <?xml version="1.0" encoding="UTF-8"?>
>>>>    <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
>>>>   -    xmlns:ger="http://geronimo.apache.org/xml/ns/web/jetty"
>>>>   +    xmlns:jetty="http://geronimo.apache.org/xml/ns/web/jetty"
>>>>        targetNamespace="http://geronimo.apache.org/xml/ns/web/jetty"
>>>>   +    xmlns:ger="http://geronimo.apache.org/xml/ns/j2ee"
>>>>        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>>>        elementFormDefault="qualified"
>>>>        attributeFormDefault="unqualified"
>>>>        version="1.0">
>>>>      -    <xsd:element name="web-app" type="ger:web-appType"/>
>>>>   +    <xsd:import  
>>>> namespace="http://geronimo.apache.org/xml/ns/j2ee"
>>>> schemaLocation="../../../naming/src/schema/geronimo-naming.xsd"/>
>>>>   +
>>>>   +    <xsd:element name="web-app" type="jetty:web-appType"/>
>>>>           <xsd:complexType name="web-appType">
>>>>            <xsd:sequence>
>>>>   -            <xsd:element name="context-root"
>>>> type="ger:context-rootType"/>
>>>>   +            <xsd:element name="context-root"
>>>> type="jetty:context-rootType"/>
>>>>                <xsd:element name="context-priority-classloader"
>>>> type="xsd:boolean"/>
>>>>   +            <xsd:group ref="ger:jndiEnvironmentRefsGroup"/>
>>>>            </xsd:sequence>
>>>>        </xsd:complexType>
>>>>            1.3       +7 -1
>>>> incubator-geronimo/modules/jetty/src/schema/xmlconfig.xml
>>>>     Index: xmlconfig.xml
>>>>    
>>>> ===================================================================
>>>>   RCS file:
>>>> /home/cvs/incubator-geronimo/modules/jetty/src/schema/ 
>>>> xmlconfig.xml,v
>>>>   retrieving revision 1.2
>>>>   retrieving revision 1.3
>>>>   diff -u -r1.2 -r1.3
>>>>   --- xmlconfig.xml	12 Feb 2004 16:29:00 -0000	1.2
>>>>   +++ xmlconfig.xml	14 Feb 2004 01:50:15 -0000	1.3
>>>>   @@ -2,8 +2,14 @@
>>>>>
>>>>           <xb:namespace
>>>> uri="http://geronimo.apache.org/xml/ns/web/jetty">
>>>>   -
>>>> <xb:package>org.apache.geronimo.xbeans.geronimo.deployment.jetty</
>>>> xb:package>
>>>>   +
>>>> <xb:package>org.apache.geronimo.xbeans.geronimo.jetty</xb:package>
>>>>            <xb:prefix>Jetty</xb:prefix>
>>>>   +    </xb:namespace>
>>>>   +
>>>>   +    <!--this should be unnecessary.  Probably needs xmlbeans
>>>> plugin to reuse the naming classes rather than generating
>>>> duplicates-->
>>>>   +    <xb:namespace uri="http://geronimo.apache.org/xml/ns/j2ee">
>>>>   +
>>>> <xb:package>org.apache.geronimo.xbeans.geronimo</xb:package>
>>>>   +        <xb:prefix>Ger</xb:prefix>
>>>>        </xb:namespace>
>>>>       </xb:config>
>>>>         1.7       +2 -2
>>>> incubator-geronimo/modules/jetty/src/test/org/apache/geronimo/jetty/
>>>> deployment/DeploymentTest.java
>>>>     Index: DeploymentTest.java
>>>>    
>>>> ===================================================================
>>>>   RCS file:
>>>> /home/cvs/incubator-geronimo/modules/jetty/src/test/org/apache/
>>>> geronimo/jetty/deployment/DeploymentTest.java,v
>>>>   retrieving revision 1.6
>>>>   retrieving revision 1.7
>>>>   diff -u -r1.6 -r1.7
>>>>   --- DeploymentTest.java	6 Feb 2004 08:55:49 -0000	1.6
>>>>   +++ DeploymentTest.java	14 Feb 2004 01:50:15 -0000	1.7
>>>>   @@ -80,7 +80,7 @@
>>>>    import org.apache.geronimo.deployment.service.ServiceDeployer;
>>>>    import org.apache.geronimo.deployment.util.URLInfo;
>>>>    import org.apache.geronimo.gbean.jmx.GBeanMBean;
>>>>   -import
>>>> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppDocu 
>>>> me
>>>> nt;
>>>>   +import
>>>> org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppDocument;
>>>>       /**
>>>>     *
>>>>         1.10      +4 -4
>>>> incubator-geronimo/modules/jetty/src/test/org/apache/geronimo/jetty/
>>>> deployment/WARConfigurationFactoryTest.java
>>>>     Index: WARConfigurationFactoryTest.java
>>>>    
>>>> ===================================================================
>>>>   RCS file:
>>>> /home/cvs/incubator-geronimo/modules/jetty/src/test/org/apache/
>>>> geronimo/jetty/deployment/WARConfigurationFactoryTest.java,v
>>>>   retrieving revision 1.9
>>>>   retrieving revision 1.10
>>>>   diff -u -r1.9 -r1.10
>>>>   --- WARConfigurationFactoryTest.java	11 Feb 2004 08:02:21  
>>>> -0000	1.9
>>>>   +++ WARConfigurationFactoryTest.java	14 Feb 2004 01:50:15  
>>>> -0000	1.10
>>>>   @@ -61,9 +61,9 @@
>>>>    import javax.enterprise.deploy.spi.DConfigBeanRoot;
>>>>       import
>>>> org.apache.geronimo.deployment.tools.loader.WebDeployable;
>>>>   -import
>>>> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyContextRoo 
>>>> tT
>>>> ype;
>>>>   -import
>>>> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppDocu 
>>>> me
>>>> nt;
>>>>   -import
>>>> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppType 
>>>> ;
>>>>   +import
>>>> org.apache.geronimo.xbeans.geronimo.jetty.JettyContextRootType;
>>>>   +import
>>>> org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppDocument;
>>>>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
>>>>    import org.w3c.dom.Document;
>>>>    import org.w3c.dom.Element;
>>>>            1.2       +2 -2
>>>> incubator-geronimo/modules/naming/src/schema/geronimo-naming.xsd
>>>>     Index: geronimo-naming.xsd
>>>>    
>>>> ===================================================================
>>>>   RCS file:
>>>> /home/cvs/incubator-geronimo/modules/naming/src/schema/geronimo-
>>>> naming.xsd,v
>>>>   retrieving revision 1.1
>>>>   retrieving revision 1.2
>>>>   diff -u -r1.1 -r1.2
>>>>   --- geronimo-naming.xsd	13 Feb 2004 23:41:47 -0000	1.1
>>>>   +++ geronimo-naming.xsd	14 Feb 2004 01:50:15 -0000	1.2
>>>>   @@ -19,9 +19,9 @@
>>>>                </xsd:documentation>
>>>>            </xsd:annotation>
>>>>            <xsd:sequence>
>>>>   -            <xsd:element name="env-entry"
>>>>   +            <!--xsd:element name="env-entry"
>>>>                    type="ger:env-entryType"
>>>>   -                minOccurs="0" maxOccurs="unbounded"/>
>>>>   +                minOccurs="0" maxOccurs="unbounded"/-->
>>>>                <xsd:element name="ejb-ref"
>>>>                    type="ger:ejb-refType"
>>>>                    minOccurs="0" maxOccurs="unbounded"/>
>>>>
>>>
>>
>


Re: cvs commit: incubator-geronimo/modules/naming/src/schema geronimo-naming.xsd

Posted by Aaron Mulder <am...@alumni.princeton.edu>.
	Another thing I've noticed about XMLBeans is that it doesn't seem
to validate while reading a document -- at least by default.  That means
that if someone hand-codes a DD, we'll just silently ignore any errors and
they won't understand why certain DD features "just don't work".

Aaron

On Fri, 13 Feb 2004, David Jencks wrote:
> On Friday, February 13, 2004, at 09:15 PM, Jeremy Boynes wrote:
> 
> > David
> >
> > Should we really do this?
> > <xsd:import
> >   namespace="http://geronimo.apache.org/xml/ns/j2ee"
> >   schemaLocation="../../../naming/src/schema/geronimo-naming.xsd"/>
> > Won't the location get messed up in a final build?
> 
> well,
> (1) this is not ideal but it works for now.  Otherwise I think we need  
> a resolver catalog for each module.  suggestions appreciated.
> (2) after the xmlbeans code is generated the schema location is  
> irrelevant, we don't need the schema any more.
> >
> > I am also concerned that we are putting all the naming stuff in a  
> > separate namespace - won't this mean that people editing the document  
> > will need to change namespace for all JNDI reference definitions?  
> > Woulnd't that make it harder for users rather than the few places  
> > where we need to handle this stuff in code?
> >
> > Can't we do something with XML Schema inheritance that XML Beans can  
> > still handle but which allows the elements to sit in the namespace of  
> > the including document?
> 
> I don't think this is possible, but I am open to the results of  
> experiments.  So far I think our best bet is to give each schema piece  
> a separate namespace.  This will result in only one version of each  
> schema type class in one package.  My impression so far is that your  
> idea of including no-namespace schema fragments into various other  
> namespaces will unavoidably result in one copy of each schema type  
> class in the appropriate package for the enclosing schema namespace.   
> This will make common DConfigBeans and xmlbeans-to-gbean config code  
> impossible.
> 
> Note that if people or tools actually use the DConfigBeans they will  
> never have to deal with the namespace shifts, as the DConfigBeans will  
> generate them automatically.
> 
> If you have another idea that will result in reusable DConfigBeans and  
> xmlbeans-to-gbean code, please be more specific.
> 
> david
> >
> > --
> > Jeremy
> >
> >
> > djencks@apache.org wrote:
> >> djencks     2004/02/13 17:50:15
> >>   Modified:    modules/jetty project.xml
> >>                 
> >> modules/jetty/src/java/org/apache/geronimo/jetty/deployment
> >>                         AbstractModule.java JettyModule.java
> >>                         UnpackedModule.java WARConfiguration.java
> >>                         WARConfigurationFactory.java  
> >> WebAppDConfigBean.java
> >>                         WebAppDConfigRoot.java
> >>                modules/jetty/src/schema geronimo-jetty.xsd  
> >> xmlconfig.xml
> >>                 
> >> modules/jetty/src/test/org/apache/geronimo/jetty/deployment
> >>                         DeploymentTest.java
> >>                         WARConfigurationFactoryTest.java
> >>                modules/naming/src/schema geronimo-naming.xsd
> >>   Log:
> >>   added naming to jetty (no real tests)
> >>     Revision  Changes    Path
> >>   1.16      +9 -1      incubator-geronimo/modules/jetty/project.xml
> >>     Index: project.xml
> >>   ===================================================================
> >>   RCS file: /home/cvs/incubator-geronimo/modules/jetty/project.xml,v
> >>   retrieving revision 1.15
> >>   retrieving revision 1.16
> >>   diff -u -r1.15 -r1.16
> >>   --- project.xml	12 Feb 2004 23:33:21 -0000	1.15
> >>   +++ project.xml	14 Feb 2004 01:50:14 -0000	1.16
> >>   @@ -116,6 +116,14 @@
> >>            </dependency>
> >>               <dependency>
> >>   +            <groupId>geronimo-spec</groupId>
> >>   +            <artifactId>geronimo-spec-j2eeschema</artifactId>
> >>   +            <version>DEV</version>
> >>   +            <properties>
> >>   +            </properties>
> >>   +        </dependency>
> >>   +
> >>   +        <dependency>
> >>                <groupId>jetty</groupId>
> >>                <artifactId>org.mortbay.jetty</artifactId>
> >>                <version>5.0.beta0</version>
> >>         1.5       +43 -13     
> >> incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/ 
> >> deployment/AbstractModule.java
> >>     Index: AbstractModule.java
> >>   ===================================================================
> >>   RCS file:  
> >> /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/ 
> >> geronimo/jetty/deployment/AbstractModule.java,v
> >>   retrieving revision 1.4
> >>   retrieving revision 1.5
> >>   diff -u -r1.4 -r1.5
> >>   --- AbstractModule.java	5 Feb 2004 01:37:56 -0000	1.4
> >>   +++ AbstractModule.java	14 Feb 2004 01:50:15 -0000	1.5
> >>   @@ -55,32 +55,49 @@
> >>     */
> >>    package org.apache.geronimo.jetty.deployment;
> >>      -import java.util.Properties;
> >>   -import java.util.Collections;
> >>    import java.net.URI;
> >>   -import javax.enterprise.deploy.spi.TargetModuleID;
> >>   +import java.util.Collections;
> >>   +import java.util.Properties;
> >>   +
> >>    import javax.management.ObjectName;
> >>   +import javax.naming.Context;
> >>   +import javax.transaction.UserTransaction;
> >>      -import org.apache.geronimo.deployment.DeploymentModule;
> >>   -import org.apache.geronimo.deployment.DeploymentException;
> >>    import org.apache.geronimo.deployment.ConfigurationCallback;
> >>   +import org.apache.geronimo.deployment.DeploymentException;
> >>   +import org.apache.geronimo.deployment.DeploymentModule;
> >>    import org.apache.geronimo.gbean.jmx.GBeanMBean;
> >>    import org.apache.geronimo.jetty.JettyWebApplicationContext;
> >>    import org.apache.geronimo.kernel.Kernel;
> >>   +import  
> >> org.apache.geronimo.naming.deployment.ComponentContextBuilder;
> >>   +import org.apache.geronimo.naming.java.ProxyFactory;
> >>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
> >>   +import org.apache.geronimo.xbeans.j2ee.WebAppType;
> >>       /**
> >>   - *   - *   + *
> >>   + *
> >>     * @version $Revision$ $Date$
> >>     */
> >>    public class AbstractModule implements DeploymentModule {
> >>   +
> >>   +    private final ProxyFactory proxyFactory;
> >>        protected final URI configID;
> >>        protected URI uri;
> >>        protected String contextPath;
> >>        protected boolean contextPriorityClassLoader;
> >>   -      -    public AbstractModule(URI configID) {
> >>   +    protected WebAppType webApp;
> >>   +    protected final JettyWebAppType jettyWebApp;
> >>   +
> >>   +    public AbstractModule(URI configID, JettyWebAppType  
> >> jettyWebApp, ProxyFactory proxyFactory) throws DeploymentException {
> >>            this.configID = configID;
> >>   +        this.jettyWebApp = jettyWebApp;
> >>   +        this.proxyFactory = proxyFactory;
> >>   +        contextPath =  
> >> jettyWebApp.getContextRoot().getStringValue();
> >>   +        if (contextPath == null) {
> >>   +            throw new DeploymentException("No context root  
> >> specified");
> >>   +        }
> >>   +         
> >> contextPriorityClassLoader=jettyWebApp.getContextPriorityClassloader() 
> >> ;
> >>        }
> >>           public void init() throws DeploymentException {
> >>   @@ -102,15 +119,28 @@
> >>                GBeanMBean app = new  
> >> GBeanMBean(JettyWebApplicationContext.GBEAN_INFO);
> >>                app.setAttribute("URI", uri);
> >>                app.setAttribute("ContextPath", contextPath);
> >>   -            app.setAttribute("ContextPriorityClassLoader", new  
> >> Boolean(contextPriorityClassLoader));       -             
> >> app.setAttribute("ComponentContext", null);
> >>   +            app.setAttribute("ContextPriorityClassLoader", new  
> >> Boolean(contextPriorityClassLoader));
> >>                app.setAttribute("PolicyContextID", null);
> >>   +            //jndi
> >>   +            if (proxyFactory != null) {
> >>   +                UserTransaction userTransaction = null;
> >>   +                Context componentContext = new  
> >> ComponentContextBuilder(proxyFactory, cl).buildContext(
> >>   +                        webApp.getEjbRefArray(),  
> >> jettyWebApp.getEjbRefArray(),
> >>   +                        webApp.getEjbLocalRefArray(),  
> >> jettyWebApp.getEjbLocalRefArray(),
> >>   +                        webApp.getEnvEntryArray(),
> >>   +                        webApp.getMessageDestinationRefArray(),  
> >> jettyWebApp.getMessageDestinationRefArray(),
> >>   +                        webApp.getResourceEnvRefArray(),  
> >> jettyWebApp.getResourceEnvRefArray(),
> >>   +                        webApp.getResourceRefArray(),  
> >> jettyWebApp.getResourceRefArray(),
> >>   +                        userTransaction);
> >>   +                app.setAttribute("ComponentContext",  
> >> componentContext);
> >>   +            }
> >>   +
> >>                app.setReferencePatterns("Configuration",  
> >> Collections.singleton(Kernel.getConfigObjectName(configID)));
> >>                app.setReferencePatterns("JettyContainer",  
> >> Collections.singleton(new  
> >> ObjectName("geronimo.web:type=WebContainer,container=Jetty"))); //  
> >> @todo configurable
> >>                app.setReferencePatterns("TransactionManager",  
> >> Collections.EMPTY_SET);
> >>                 
> >> app.setReferencePatterns("TrackedConnectionAssociator",  
> >> Collections.EMPTY_SET);
> >>                callback.addGBean(name, app);
> >>   -              +
> >>            } catch (Throwable e) {
> >>                throw new DeploymentException("Unable to build GBean  
> >> for web application", e);
> >>            }
> >>         1.11      +15 -9      
> >> incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/ 
> >> deployment/JettyModule.java
> >>     Index: JettyModule.java
> >>   ===================================================================
> >>   RCS file:  
> >> /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/ 
> >> geronimo/jetty/deployment/JettyModule.java,v
> >>   retrieving revision 1.10
> >>   retrieving revision 1.11
> >>   diff -u -r1.10 -r1.11
> >>   --- JettyModule.java	8 Feb 2004 20:19:21 -0000	1.10
> >>   +++ JettyModule.java	14 Feb 2004 01:50:15 -0000	1.11
> >>   @@ -65,7 +65,11 @@
> >>       import org.apache.geronimo.deployment.ConfigurationCallback;
> >>    import org.apache.geronimo.deployment.DeploymentException;
> >>   -import  
> >> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppType;
> >>   +import org.apache.geronimo.deployment.util.UnclosableInputStream;
> >>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
> >>   +import org.apache.geronimo.xbeans.j2ee.WebAppDocument;
> >>   +import org.apache.geronimo.naming.java.ProxyFactory;
> >>   +import org.apache.xmlbeans.XmlException;
> >>       /**
> >>     *
> >>   @@ -79,16 +83,11 @@
> >>        private URI classes;
> >>        private URI lib;
> >>      -    public JettyModule(URI configID, InputStream moduleArchive,  
> >> JettyWebAppType webApp) throws DeploymentException {
> >>   -        super(configID);
> >>   +    public JettyModule(URI configID, InputStream moduleArchive,  
> >> JettyWebAppType jettyWebApp, ProxyFactory proxyFactory) throws  
> >> DeploymentException {
> >>   +        super(configID, jettyWebApp, proxyFactory);
> >>            moduleDirectory = null;
> >>            this.zipArchive = new ZipInputStream(moduleArchive);
> >>            closeStream = false;
> >>   -        contextPath = webApp.getContextRoot().getStringValue();
> >>   -        if (contextPath == null) {
> >>   -            throw new DeploymentException("No context root  
> >> specified");
> >>   -        }
> >>   -         
> >> contextPriorityClassLoader=webApp.getContextPriorityClassloader();
> >>        }
> >>           public void init() throws DeploymentException {
> >>   @@ -112,6 +111,11 @@
> >>                        }
> >>                        callback.addFile(uri.resolve(name),  
> >> zipArchive);
> >>      +                    if (name.equals("WEB-INF/web-app.xml")) {
> >>   +                        WebAppDocument webAppDoc =  
> >> WebAppDocument.Factory.parse(new UnclosableInputStream(zipArchive));
> >>   +                        webApp = webAppDoc.getWebApp();
> >>   +                    }
> >>   +
> >>                        // If we do not give the context priority over  
> >> classloading, then we add the standard locations to our classpath.
> >>                        if (!contextPriorityClassLoader) {
> >>                            if (!addedClasses &&  
> >> name.startsWith("WEB-INF/classes/")) {
> >>   @@ -127,6 +131,8 @@
> >>                }
> >>                catch (IOException e) {
> >>                    throw new DeploymentException("Unable to unpack  
> >> WAR content", e);
> >>   +            } catch (XmlException e) {
> >>   +                throw new DeploymentException("Unable to parse WAR  
> >> content", e);
> >>                }
> >>            }
> >>            else {
> >>         1.4       +12 -11     
> >> incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/ 
> >> deployment/UnpackedModule.java
> >>     Index: UnpackedModule.java
> >>   ===================================================================
> >>   RCS file:  
> >> /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/ 
> >> geronimo/jetty/deployment/UnpackedModule.java,v
> >>   retrieving revision 1.3
> >>   retrieving revision 1.4
> >>   diff -u -r1.3 -r1.4
> >>   --- UnpackedModule.java	5 Feb 2004 01:37:56 -0000	1.3
> >>   +++ UnpackedModule.java	14 Feb 2004 01:50:15 -0000	1.4
> >>   @@ -58,25 +58,26 @@
> >>    import java.io.File;
> >>    import java.net.URI;
> >>      -import org.apache.geronimo.deployment.util.XMLUtil;
> >>   -import org.w3c.dom.Document;
> >>   +import org.apache.geronimo.deployment.DeploymentException;
> >>   +import org.apache.geronimo.naming.java.ProxyFactory;
> >>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
> >>       /**
> >>   - *   - *   + *
> >>   + *
> >>     * @version $Revision$ $Date$
> >>     */
> >>    public class UnpackedModule extends AbstractModule {
> >>   -     -    public UnpackedModule(URI configID, File archive,  
> >> Document deploymentPlan) {
> >>   -        super(configID);
> >>   +
> >>   +    public UnpackedModule(URI configID, File archive,  
> >> JettyWebAppType jettyWebApp, ProxyFactory proxyFactory) throws  
> >> DeploymentException {
> >>   +        super(configID, jettyWebApp, proxyFactory);
> >>            this.uri = archive.toURI();
> >>   +        //????? contextPath is read from required geronimo dd.
> >>            contextPath = archive.getName();
> >>            if (contextPath.endsWith(".war")) {
> >>                contextPath = contextPath.substring(0,  
> >> contextPath.length() - 4);
> >>            }
> >>   -        contextPath =  
> >> XMLUtil.getChildContent(deploymentPlan.getDocumentElement(),  
> >> "context-root", contextPath, contextPath);
> >>   -    }      -      +    }
> >>   +
> >>        // TODO - generate classpath?
> >>    }
> >>         1.5       +1 -14      
> >> incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/ 
> >> deployment/WARConfiguration.java
> >>     Index: WARConfiguration.java
> >>   ===================================================================
> >>   RCS file:  
> >> /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/ 
> >> geronimo/jetty/deployment/WARConfiguration.java,v
> >>   retrieving revision 1.4
> >>   retrieving revision 1.5
> >>   diff -u -r1.4 -r1.5
> >>   --- WARConfiguration.java	6 Feb 2004 08:55:49 -0000	1.4
> >>   +++ WARConfiguration.java	14 Feb 2004 01:50:15 -0000	1.5
> >>   @@ -55,22 +55,9 @@
> >>     */
> >>    package org.apache.geronimo.jetty.deployment;
> >>      -import java.io.IOException;
> >>   -import java.io.InputStream;
> >>   -import java.io.OutputStream;
> >>   -import java.io.PrintWriter;
> >>   -import javax.enterprise.deploy.model.DDBeanRoot;
> >>    import javax.enterprise.deploy.model.DeployableObject;
> >>   -import javax.enterprise.deploy.spi.DConfigBeanRoot;
> >>   -import  
> >> javax.enterprise.deploy.spi.exceptions.ConfigurationException;
> >>   -import javax.xml.parsers.DocumentBuilder;
> >>   -import javax.xml.parsers.DocumentBuilderFactory;
> >>   -import javax.xml.parsers.ParserConfigurationException;
> >>       import  
> >> org.apache.geronimo.deployment.plugin.DeploymentConfigurationSupport;
> >>   -import org.apache.xmlbeans.XmlException;
> >>   -import org.xml.sax.SAXException;
> >>   -import org.w3c.dom.Document;
> >>       /**
> >>     *
> >>         1.8       +12 -8      
> >> incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/ 
> >> deployment/WARConfigurationFactory.java
> >>     Index: WARConfigurationFactory.java
> >>   ===================================================================
> >>   RCS file:  
> >> /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/ 
> >> geronimo/jetty/deployment/WARConfigurationFactory.java,v
> >>   retrieving revision 1.7
> >>   retrieving revision 1.8
> >>   diff -u -r1.7 -r1.8
> >>   --- WARConfigurationFactory.java	9 Feb 2004 00:01:20 -0000	1.7
> >>   +++ WARConfigurationFactory.java	14 Feb 2004 01:50:15 -0000	1.8
> >>   @@ -58,17 +58,13 @@
> >>    import java.io.InputStream;
> >>    import java.net.URI;
> >>      -import javax.enterprise.deploy.model.DeployableObject;
> >>   -import javax.enterprise.deploy.shared.ModuleType;
> >>   -import javax.enterprise.deploy.spi.DeploymentConfiguration;
> >>   -import  
> >> javax.enterprise.deploy.spi.exceptions.InvalidModuleException;
> >>   -
> >>    import org.apache.geronimo.deployment.DeploymentException;
> >>    import org.apache.geronimo.deployment.DeploymentModule;
> >>    import  
> >> org.apache.geronimo.deployment.plugin.factories.DeploymentConfiguratio 
> >> nFactory;
> >>    import org.apache.geronimo.gbean.GBeanInfo;
> >>    import org.apache.geronimo.gbean.GBeanInfoFactory;
> >>   -import  
> >> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppDocume 
> >> nt;
> >>   +import  
> >> org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppDocument;
> >>   +import org.apache.geronimo.naming.java.ProxyFactory;
> >>    import org.apache.xmlbeans.SchemaType;
> >>    import org.apache.xmlbeans.SchemaTypeLoader;
> >>    import org.apache.xmlbeans.XmlBeans;
> >>   @@ -82,11 +78,17 @@
> >>    public class WARConfigurationFactory implements  
> >> DeploymentConfigurationFactory {
> >>        private static final SchemaTypeLoader SCHEMA_TYPE_LOADER =  
> >> XmlBeans.getContextTypeLoader();
> >>      +    private ProxyFactory proxyFactory;
> >>   +
> >>   +    public WARConfigurationFactory(ProxyFactory proxyFactory) {
> >>   +        this.proxyFactory = proxyFactory;
> >>   +    }
> >>   +
> >>        //TODO a createModule method taking a file/directory for  
> >> unpacked jsp handling.
> >>        //Should create a UnpackedModule if supplied file is a  
> >> directory.
> >>        public DeploymentModule createModule(InputStream  
> >> moduleArchive, XmlObject deploymentPlan, URI configID, boolean  
> >> isLocal) throws DeploymentException {
> >>            JettyWebAppDocument webAppDoc =  
> >> (JettyWebAppDocument)deploymentPlan;
> >>   -        return new JettyModule(configID, moduleArchive,  
> >> webAppDoc.getWebApp());
> >>   +        return new JettyModule(configID, moduleArchive,  
> >> webAppDoc.getWebApp(), proxyFactory);
> >>        }
> >>           //these might be temporary
> >>   @@ -103,6 +105,8 @@
> >>        static {
> >>            GBeanInfoFactory infoFactory = new GBeanInfoFactory("Jetty  
> >> WAR Configuration Factory", WARConfigurationFactory.class.getName());
> >>             
> >> infoFactory.addInterface(DeploymentConfigurationFactory.class);
> >>   +        infoFactory.addReference("ProxyFactory",  
> >> ProxyFactory.class);
> >>   +        infoFactory.setConstructor(new String[] {"ProxyFactory"},  
> >> new Class[] {ProxyFactory.class});
> >>            GBEAN_INFO = infoFactory.getBeanInfo();
> >>        }
> >>            1.8       +2 -2       
> >> incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/ 
> >> deployment/WebAppDConfigBean.java
> >>     Index: WebAppDConfigBean.java
> >>   ===================================================================
> >>   RCS file:  
> >> /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/ 
> >> geronimo/jetty/deployment/WebAppDConfigBean.java,v
> >>   retrieving revision 1.7
> >>   retrieving revision 1.8
> >>   diff -u -r1.7 -r1.8
> >>   --- WebAppDConfigBean.java	9 Feb 2004 23:11:04 -0000	1.7
> >>   +++ WebAppDConfigBean.java	14 Feb 2004 01:50:15 -0000	1.8
> >>   @@ -62,7 +62,7 @@
> >>       import org.apache.geronimo.deployment.plugin.DConfigBeanSupport;
> >>    import org.apache.geronimo.deployment.plugin.j2ee.ENCHelper;
> >>   -import  
> >> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppType;
> >>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
> >>    import org.apache.xmlbeans.SchemaTypeLoader;
> >>    import org.apache.xmlbeans.XmlBeans;
> >>            1.6       +3 -3       
> >> incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/ 
> >> deployment/WebAppDConfigRoot.java
> >>     Index: WebAppDConfigRoot.java
> >>   ===================================================================
> >>   RCS file:  
> >> /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/ 
> >> geronimo/jetty/deployment/WebAppDConfigRoot.java,v
> >>   retrieving revision 1.5
> >>   retrieving revision 1.6
> >>   diff -u -r1.5 -r1.6
> >>   --- WebAppDConfigRoot.java	11 Feb 2004 08:02:21 -0000	1.5
> >>   +++ WebAppDConfigRoot.java	14 Feb 2004 01:50:15 -0000	1.6
> >>   @@ -64,8 +64,8 @@
> >>    import  
> >> javax.enterprise.deploy.spi.exceptions.ConfigurationException;
> >>       import  
> >> org.apache.geronimo.deployment.plugin.DConfigBeanRootSupport;
> >>   -import  
> >> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppDocume 
> >> nt;
> >>   -import  
> >> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppType;
> >>   +import  
> >> org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppDocument;
> >>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
> >>    import org.apache.xmlbeans.SchemaTypeLoader;
> >>    import org.apache.xmlbeans.XmlBeans;
> >>    import org.apache.xmlbeans.XmlException;
> >>         1.3       +7 -3       
> >> incubator-geronimo/modules/jetty/src/schema/geronimo-jetty.xsd
> >>     Index: geronimo-jetty.xsd
> >>   ===================================================================
> >>   RCS file:  
> >> /home/cvs/incubator-geronimo/modules/jetty/src/schema/geronimo- 
> >> jetty.xsd,v
> >>   retrieving revision 1.2
> >>   retrieving revision 1.3
> >>   diff -u -r1.2 -r1.3
> >>   --- geronimo-jetty.xsd	12 Feb 2004 16:29:00 -0000	1.2
> >>   +++ geronimo-jetty.xsd	14 Feb 2004 01:50:15 -0000	1.3
> >>   @@ -1,18 +1,22 @@
> >>    <?xml version="1.0" encoding="UTF-8"?>
> >>    <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
> >>   -    xmlns:ger="http://geronimo.apache.org/xml/ns/web/jetty"
> >>   +    xmlns:jetty="http://geronimo.apache.org/xml/ns/web/jetty"
> >>        targetNamespace="http://geronimo.apache.org/xml/ns/web/jetty"
> >>   +    xmlns:ger="http://geronimo.apache.org/xml/ns/j2ee"
> >>        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> >>        elementFormDefault="qualified"
> >>        attributeFormDefault="unqualified"
> >>        version="1.0">
> >>      -    <xsd:element name="web-app" type="ger:web-appType"/>
> >>   +    <xsd:import namespace="http://geronimo.apache.org/xml/ns/j2ee"  
> >> schemaLocation="../../../naming/src/schema/geronimo-naming.xsd"/>
> >>   +
> >>   +    <xsd:element name="web-app" type="jetty:web-appType"/>
> >>           <xsd:complexType name="web-appType">
> >>            <xsd:sequence>
> >>   -            <xsd:element name="context-root"  
> >> type="ger:context-rootType"/>
> >>   +            <xsd:element name="context-root"  
> >> type="jetty:context-rootType"/>
> >>                <xsd:element name="context-priority-classloader"  
> >> type="xsd:boolean"/>
> >>   +            <xsd:group ref="ger:jndiEnvironmentRefsGroup"/>
> >>            </xsd:sequence>
> >>        </xsd:complexType>
> >>            1.3       +7 -1       
> >> incubator-geronimo/modules/jetty/src/schema/xmlconfig.xml
> >>     Index: xmlconfig.xml
> >>   ===================================================================
> >>   RCS file:  
> >> /home/cvs/incubator-geronimo/modules/jetty/src/schema/xmlconfig.xml,v
> >>   retrieving revision 1.2
> >>   retrieving revision 1.3
> >>   diff -u -r1.2 -r1.3
> >>   --- xmlconfig.xml	12 Feb 2004 16:29:00 -0000	1.2
> >>   +++ xmlconfig.xml	14 Feb 2004 01:50:15 -0000	1.3
> >>   @@ -2,8 +2,14 @@
> >>        >
> >>           <xb:namespace  
> >> uri="http://geronimo.apache.org/xml/ns/web/jetty">
> >>   -         
> >> <xb:package>org.apache.geronimo.xbeans.geronimo.deployment.jetty</ 
> >> xb:package>
> >>   +         
> >> <xb:package>org.apache.geronimo.xbeans.geronimo.jetty</xb:package>
> >>            <xb:prefix>Jetty</xb:prefix>
> >>   +    </xb:namespace>
> >>   +
> >>   +    <!--this should be unnecessary.  Probably needs xmlbeans  
> >> plugin to reuse the naming classes rather than generating  
> >> duplicates-->
> >>   +    <xb:namespace uri="http://geronimo.apache.org/xml/ns/j2ee">
> >>   +         
> >> <xb:package>org.apache.geronimo.xbeans.geronimo</xb:package>
> >>   +        <xb:prefix>Ger</xb:prefix>
> >>        </xb:namespace>
> >>       </xb:config>
> >>         1.7       +2 -2       
> >> incubator-geronimo/modules/jetty/src/test/org/apache/geronimo/jetty/ 
> >> deployment/DeploymentTest.java
> >>     Index: DeploymentTest.java
> >>   ===================================================================
> >>   RCS file:  
> >> /home/cvs/incubator-geronimo/modules/jetty/src/test/org/apache/ 
> >> geronimo/jetty/deployment/DeploymentTest.java,v
> >>   retrieving revision 1.6
> >>   retrieving revision 1.7
> >>   diff -u -r1.6 -r1.7
> >>   --- DeploymentTest.java	6 Feb 2004 08:55:49 -0000	1.6
> >>   +++ DeploymentTest.java	14 Feb 2004 01:50:15 -0000	1.7
> >>   @@ -80,7 +80,7 @@
> >>    import org.apache.geronimo.deployment.service.ServiceDeployer;
> >>    import org.apache.geronimo.deployment.util.URLInfo;
> >>    import org.apache.geronimo.gbean.jmx.GBeanMBean;
> >>   -import  
> >> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppDocume 
> >> nt;
> >>   +import  
> >> org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppDocument;
> >>       /**
> >>     *
> >>         1.10      +4 -4       
> >> incubator-geronimo/modules/jetty/src/test/org/apache/geronimo/jetty/ 
> >> deployment/WARConfigurationFactoryTest.java
> >>     Index: WARConfigurationFactoryTest.java
> >>   ===================================================================
> >>   RCS file:  
> >> /home/cvs/incubator-geronimo/modules/jetty/src/test/org/apache/ 
> >> geronimo/jetty/deployment/WARConfigurationFactoryTest.java,v
> >>   retrieving revision 1.9
> >>   retrieving revision 1.10
> >>   diff -u -r1.9 -r1.10
> >>   --- WARConfigurationFactoryTest.java	11 Feb 2004 08:02:21 -0000	1.9
> >>   +++ WARConfigurationFactoryTest.java	14 Feb 2004 01:50:15 -0000	1.10
> >>   @@ -61,9 +61,9 @@
> >>    import javax.enterprise.deploy.spi.DConfigBeanRoot;
> >>       import  
> >> org.apache.geronimo.deployment.tools.loader.WebDeployable;
> >>   -import  
> >> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyContextRootT 
> >> ype;
> >>   -import  
> >> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppDocume 
> >> nt;
> >>   -import  
> >> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppType;
> >>   +import  
> >> org.apache.geronimo.xbeans.geronimo.jetty.JettyContextRootType;
> >>   +import  
> >> org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppDocument;
> >>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
> >>    import org.w3c.dom.Document;
> >>    import org.w3c.dom.Element;
> >>            1.2       +2 -2       
> >> incubator-geronimo/modules/naming/src/schema/geronimo-naming.xsd
> >>     Index: geronimo-naming.xsd
> >>   ===================================================================
> >>   RCS file:  
> >> /home/cvs/incubator-geronimo/modules/naming/src/schema/geronimo- 
> >> naming.xsd,v
> >>   retrieving revision 1.1
> >>   retrieving revision 1.2
> >>   diff -u -r1.1 -r1.2
> >>   --- geronimo-naming.xsd	13 Feb 2004 23:41:47 -0000	1.1
> >>   +++ geronimo-naming.xsd	14 Feb 2004 01:50:15 -0000	1.2
> >>   @@ -19,9 +19,9 @@
> >>                </xsd:documentation>
> >>            </xsd:annotation>
> >>            <xsd:sequence>
> >>   -            <xsd:element name="env-entry"
> >>   +            <!--xsd:element name="env-entry"
> >>                    type="ger:env-entryType"
> >>   -                minOccurs="0" maxOccurs="unbounded"/>
> >>   +                minOccurs="0" maxOccurs="unbounded"/-->
> >>                <xsd:element name="ejb-ref"
> >>                    type="ger:ejb-refType"
> >>                    minOccurs="0" maxOccurs="unbounded"/>
> >>
> >
> 


Re: cvs commit: incubator-geronimo/modules/naming/src/schema geronimo-naming.xsd

Posted by David Jencks <da...@coredevelopers.net>.
On Friday, February 13, 2004, at 09:15 PM, Jeremy Boynes wrote:

> David
>
> Should we really do this?
> <xsd:import
>   namespace="http://geronimo.apache.org/xml/ns/j2ee"
>   schemaLocation="../../../naming/src/schema/geronimo-naming.xsd"/>
> Won't the location get messed up in a final build?

well,
(1) this is not ideal but it works for now.  Otherwise I think we need  
a resolver catalog for each module.  suggestions appreciated.
(2) after the xmlbeans code is generated the schema location is  
irrelevant, we don't need the schema any more.
>
> I am also concerned that we are putting all the naming stuff in a  
> separate namespace - won't this mean that people editing the document  
> will need to change namespace for all JNDI reference definitions?  
> Woulnd't that make it harder for users rather than the few places  
> where we need to handle this stuff in code?
>
> Can't we do something with XML Schema inheritance that XML Beans can  
> still handle but which allows the elements to sit in the namespace of  
> the including document?

I don't think this is possible, but I am open to the results of  
experiments.  So far I think our best bet is to give each schema piece  
a separate namespace.  This will result in only one version of each  
schema type class in one package.  My impression so far is that your  
idea of including no-namespace schema fragments into various other  
namespaces will unavoidably result in one copy of each schema type  
class in the appropriate package for the enclosing schema namespace.   
This will make common DConfigBeans and xmlbeans-to-gbean config code  
impossible.

Note that if people or tools actually use the DConfigBeans they will  
never have to deal with the namespace shifts, as the DConfigBeans will  
generate them automatically.

If you have another idea that will result in reusable DConfigBeans and  
xmlbeans-to-gbean code, please be more specific.

david
>
> --
> Jeremy
>
>
> djencks@apache.org wrote:
>> djencks     2004/02/13 17:50:15
>>   Modified:    modules/jetty project.xml
>>                 
>> modules/jetty/src/java/org/apache/geronimo/jetty/deployment
>>                         AbstractModule.java JettyModule.java
>>                         UnpackedModule.java WARConfiguration.java
>>                         WARConfigurationFactory.java  
>> WebAppDConfigBean.java
>>                         WebAppDConfigRoot.java
>>                modules/jetty/src/schema geronimo-jetty.xsd  
>> xmlconfig.xml
>>                 
>> modules/jetty/src/test/org/apache/geronimo/jetty/deployment
>>                         DeploymentTest.java
>>                         WARConfigurationFactoryTest.java
>>                modules/naming/src/schema geronimo-naming.xsd
>>   Log:
>>   added naming to jetty (no real tests)
>>     Revision  Changes    Path
>>   1.16      +9 -1      incubator-geronimo/modules/jetty/project.xml
>>     Index: project.xml
>>   ===================================================================
>>   RCS file: /home/cvs/incubator-geronimo/modules/jetty/project.xml,v
>>   retrieving revision 1.15
>>   retrieving revision 1.16
>>   diff -u -r1.15 -r1.16
>>   --- project.xml	12 Feb 2004 23:33:21 -0000	1.15
>>   +++ project.xml	14 Feb 2004 01:50:14 -0000	1.16
>>   @@ -116,6 +116,14 @@
>>            </dependency>
>>               <dependency>
>>   +            <groupId>geronimo-spec</groupId>
>>   +            <artifactId>geronimo-spec-j2eeschema</artifactId>
>>   +            <version>DEV</version>
>>   +            <properties>
>>   +            </properties>
>>   +        </dependency>
>>   +
>>   +        <dependency>
>>                <groupId>jetty</groupId>
>>                <artifactId>org.mortbay.jetty</artifactId>
>>                <version>5.0.beta0</version>
>>         1.5       +43 -13     
>> incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/ 
>> deployment/AbstractModule.java
>>     Index: AbstractModule.java
>>   ===================================================================
>>   RCS file:  
>> /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/ 
>> geronimo/jetty/deployment/AbstractModule.java,v
>>   retrieving revision 1.4
>>   retrieving revision 1.5
>>   diff -u -r1.4 -r1.5
>>   --- AbstractModule.java	5 Feb 2004 01:37:56 -0000	1.4
>>   +++ AbstractModule.java	14 Feb 2004 01:50:15 -0000	1.5
>>   @@ -55,32 +55,49 @@
>>     */
>>    package org.apache.geronimo.jetty.deployment;
>>      -import java.util.Properties;
>>   -import java.util.Collections;
>>    import java.net.URI;
>>   -import javax.enterprise.deploy.spi.TargetModuleID;
>>   +import java.util.Collections;
>>   +import java.util.Properties;
>>   +
>>    import javax.management.ObjectName;
>>   +import javax.naming.Context;
>>   +import javax.transaction.UserTransaction;
>>      -import org.apache.geronimo.deployment.DeploymentModule;
>>   -import org.apache.geronimo.deployment.DeploymentException;
>>    import org.apache.geronimo.deployment.ConfigurationCallback;
>>   +import org.apache.geronimo.deployment.DeploymentException;
>>   +import org.apache.geronimo.deployment.DeploymentModule;
>>    import org.apache.geronimo.gbean.jmx.GBeanMBean;
>>    import org.apache.geronimo.jetty.JettyWebApplicationContext;
>>    import org.apache.geronimo.kernel.Kernel;
>>   +import  
>> org.apache.geronimo.naming.deployment.ComponentContextBuilder;
>>   +import org.apache.geronimo.naming.java.ProxyFactory;
>>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
>>   +import org.apache.geronimo.xbeans.j2ee.WebAppType;
>>       /**
>>   - *   - *   + *
>>   + *
>>     * @version $Revision$ $Date$
>>     */
>>    public class AbstractModule implements DeploymentModule {
>>   +
>>   +    private final ProxyFactory proxyFactory;
>>        protected final URI configID;
>>        protected URI uri;
>>        protected String contextPath;
>>        protected boolean contextPriorityClassLoader;
>>   -      -    public AbstractModule(URI configID) {
>>   +    protected WebAppType webApp;
>>   +    protected final JettyWebAppType jettyWebApp;
>>   +
>>   +    public AbstractModule(URI configID, JettyWebAppType  
>> jettyWebApp, ProxyFactory proxyFactory) throws DeploymentException {
>>            this.configID = configID;
>>   +        this.jettyWebApp = jettyWebApp;
>>   +        this.proxyFactory = proxyFactory;
>>   +        contextPath =  
>> jettyWebApp.getContextRoot().getStringValue();
>>   +        if (contextPath == null) {
>>   +            throw new DeploymentException("No context root  
>> specified");
>>   +        }
>>   +         
>> contextPriorityClassLoader=jettyWebApp.getContextPriorityClassloader() 
>> ;
>>        }
>>           public void init() throws DeploymentException {
>>   @@ -102,15 +119,28 @@
>>                GBeanMBean app = new  
>> GBeanMBean(JettyWebApplicationContext.GBEAN_INFO);
>>                app.setAttribute("URI", uri);
>>                app.setAttribute("ContextPath", contextPath);
>>   -            app.setAttribute("ContextPriorityClassLoader", new  
>> Boolean(contextPriorityClassLoader));       -             
>> app.setAttribute("ComponentContext", null);
>>   +            app.setAttribute("ContextPriorityClassLoader", new  
>> Boolean(contextPriorityClassLoader));
>>                app.setAttribute("PolicyContextID", null);
>>   +            //jndi
>>   +            if (proxyFactory != null) {
>>   +                UserTransaction userTransaction = null;
>>   +                Context componentContext = new  
>> ComponentContextBuilder(proxyFactory, cl).buildContext(
>>   +                        webApp.getEjbRefArray(),  
>> jettyWebApp.getEjbRefArray(),
>>   +                        webApp.getEjbLocalRefArray(),  
>> jettyWebApp.getEjbLocalRefArray(),
>>   +                        webApp.getEnvEntryArray(),
>>   +                        webApp.getMessageDestinationRefArray(),  
>> jettyWebApp.getMessageDestinationRefArray(),
>>   +                        webApp.getResourceEnvRefArray(),  
>> jettyWebApp.getResourceEnvRefArray(),
>>   +                        webApp.getResourceRefArray(),  
>> jettyWebApp.getResourceRefArray(),
>>   +                        userTransaction);
>>   +                app.setAttribute("ComponentContext",  
>> componentContext);
>>   +            }
>>   +
>>                app.setReferencePatterns("Configuration",  
>> Collections.singleton(Kernel.getConfigObjectName(configID)));
>>                app.setReferencePatterns("JettyContainer",  
>> Collections.singleton(new  
>> ObjectName("geronimo.web:type=WebContainer,container=Jetty"))); //  
>> @todo configurable
>>                app.setReferencePatterns("TransactionManager",  
>> Collections.EMPTY_SET);
>>                 
>> app.setReferencePatterns("TrackedConnectionAssociator",  
>> Collections.EMPTY_SET);
>>                callback.addGBean(name, app);
>>   -              +
>>            } catch (Throwable e) {
>>                throw new DeploymentException("Unable to build GBean  
>> for web application", e);
>>            }
>>         1.11      +15 -9      
>> incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/ 
>> deployment/JettyModule.java
>>     Index: JettyModule.java
>>   ===================================================================
>>   RCS file:  
>> /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/ 
>> geronimo/jetty/deployment/JettyModule.java,v
>>   retrieving revision 1.10
>>   retrieving revision 1.11
>>   diff -u -r1.10 -r1.11
>>   --- JettyModule.java	8 Feb 2004 20:19:21 -0000	1.10
>>   +++ JettyModule.java	14 Feb 2004 01:50:15 -0000	1.11
>>   @@ -65,7 +65,11 @@
>>       import org.apache.geronimo.deployment.ConfigurationCallback;
>>    import org.apache.geronimo.deployment.DeploymentException;
>>   -import  
>> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppType;
>>   +import org.apache.geronimo.deployment.util.UnclosableInputStream;
>>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
>>   +import org.apache.geronimo.xbeans.j2ee.WebAppDocument;
>>   +import org.apache.geronimo.naming.java.ProxyFactory;
>>   +import org.apache.xmlbeans.XmlException;
>>       /**
>>     *
>>   @@ -79,16 +83,11 @@
>>        private URI classes;
>>        private URI lib;
>>      -    public JettyModule(URI configID, InputStream moduleArchive,  
>> JettyWebAppType webApp) throws DeploymentException {
>>   -        super(configID);
>>   +    public JettyModule(URI configID, InputStream moduleArchive,  
>> JettyWebAppType jettyWebApp, ProxyFactory proxyFactory) throws  
>> DeploymentException {
>>   +        super(configID, jettyWebApp, proxyFactory);
>>            moduleDirectory = null;
>>            this.zipArchive = new ZipInputStream(moduleArchive);
>>            closeStream = false;
>>   -        contextPath = webApp.getContextRoot().getStringValue();
>>   -        if (contextPath == null) {
>>   -            throw new DeploymentException("No context root  
>> specified");
>>   -        }
>>   -         
>> contextPriorityClassLoader=webApp.getContextPriorityClassloader();
>>        }
>>           public void init() throws DeploymentException {
>>   @@ -112,6 +111,11 @@
>>                        }
>>                        callback.addFile(uri.resolve(name),  
>> zipArchive);
>>      +                    if (name.equals("WEB-INF/web-app.xml")) {
>>   +                        WebAppDocument webAppDoc =  
>> WebAppDocument.Factory.parse(new UnclosableInputStream(zipArchive));
>>   +                        webApp = webAppDoc.getWebApp();
>>   +                    }
>>   +
>>                        // If we do not give the context priority over  
>> classloading, then we add the standard locations to our classpath.
>>                        if (!contextPriorityClassLoader) {
>>                            if (!addedClasses &&  
>> name.startsWith("WEB-INF/classes/")) {
>>   @@ -127,6 +131,8 @@
>>                }
>>                catch (IOException e) {
>>                    throw new DeploymentException("Unable to unpack  
>> WAR content", e);
>>   +            } catch (XmlException e) {
>>   +                throw new DeploymentException("Unable to parse WAR  
>> content", e);
>>                }
>>            }
>>            else {
>>         1.4       +12 -11     
>> incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/ 
>> deployment/UnpackedModule.java
>>     Index: UnpackedModule.java
>>   ===================================================================
>>   RCS file:  
>> /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/ 
>> geronimo/jetty/deployment/UnpackedModule.java,v
>>   retrieving revision 1.3
>>   retrieving revision 1.4
>>   diff -u -r1.3 -r1.4
>>   --- UnpackedModule.java	5 Feb 2004 01:37:56 -0000	1.3
>>   +++ UnpackedModule.java	14 Feb 2004 01:50:15 -0000	1.4
>>   @@ -58,25 +58,26 @@
>>    import java.io.File;
>>    import java.net.URI;
>>      -import org.apache.geronimo.deployment.util.XMLUtil;
>>   -import org.w3c.dom.Document;
>>   +import org.apache.geronimo.deployment.DeploymentException;
>>   +import org.apache.geronimo.naming.java.ProxyFactory;
>>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
>>       /**
>>   - *   - *   + *
>>   + *
>>     * @version $Revision$ $Date$
>>     */
>>    public class UnpackedModule extends AbstractModule {
>>   -     -    public UnpackedModule(URI configID, File archive,  
>> Document deploymentPlan) {
>>   -        super(configID);
>>   +
>>   +    public UnpackedModule(URI configID, File archive,  
>> JettyWebAppType jettyWebApp, ProxyFactory proxyFactory) throws  
>> DeploymentException {
>>   +        super(configID, jettyWebApp, proxyFactory);
>>            this.uri = archive.toURI();
>>   +        //????? contextPath is read from required geronimo dd.
>>            contextPath = archive.getName();
>>            if (contextPath.endsWith(".war")) {
>>                contextPath = contextPath.substring(0,  
>> contextPath.length() - 4);
>>            }
>>   -        contextPath =  
>> XMLUtil.getChildContent(deploymentPlan.getDocumentElement(),  
>> "context-root", contextPath, contextPath);
>>   -    }      -      +    }
>>   +
>>        // TODO - generate classpath?
>>    }
>>         1.5       +1 -14      
>> incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/ 
>> deployment/WARConfiguration.java
>>     Index: WARConfiguration.java
>>   ===================================================================
>>   RCS file:  
>> /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/ 
>> geronimo/jetty/deployment/WARConfiguration.java,v
>>   retrieving revision 1.4
>>   retrieving revision 1.5
>>   diff -u -r1.4 -r1.5
>>   --- WARConfiguration.java	6 Feb 2004 08:55:49 -0000	1.4
>>   +++ WARConfiguration.java	14 Feb 2004 01:50:15 -0000	1.5
>>   @@ -55,22 +55,9 @@
>>     */
>>    package org.apache.geronimo.jetty.deployment;
>>      -import java.io.IOException;
>>   -import java.io.InputStream;
>>   -import java.io.OutputStream;
>>   -import java.io.PrintWriter;
>>   -import javax.enterprise.deploy.model.DDBeanRoot;
>>    import javax.enterprise.deploy.model.DeployableObject;
>>   -import javax.enterprise.deploy.spi.DConfigBeanRoot;
>>   -import  
>> javax.enterprise.deploy.spi.exceptions.ConfigurationException;
>>   -import javax.xml.parsers.DocumentBuilder;
>>   -import javax.xml.parsers.DocumentBuilderFactory;
>>   -import javax.xml.parsers.ParserConfigurationException;
>>       import  
>> org.apache.geronimo.deployment.plugin.DeploymentConfigurationSupport;
>>   -import org.apache.xmlbeans.XmlException;
>>   -import org.xml.sax.SAXException;
>>   -import org.w3c.dom.Document;
>>       /**
>>     *
>>         1.8       +12 -8      
>> incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/ 
>> deployment/WARConfigurationFactory.java
>>     Index: WARConfigurationFactory.java
>>   ===================================================================
>>   RCS file:  
>> /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/ 
>> geronimo/jetty/deployment/WARConfigurationFactory.java,v
>>   retrieving revision 1.7
>>   retrieving revision 1.8
>>   diff -u -r1.7 -r1.8
>>   --- WARConfigurationFactory.java	9 Feb 2004 00:01:20 -0000	1.7
>>   +++ WARConfigurationFactory.java	14 Feb 2004 01:50:15 -0000	1.8
>>   @@ -58,17 +58,13 @@
>>    import java.io.InputStream;
>>    import java.net.URI;
>>      -import javax.enterprise.deploy.model.DeployableObject;
>>   -import javax.enterprise.deploy.shared.ModuleType;
>>   -import javax.enterprise.deploy.spi.DeploymentConfiguration;
>>   -import  
>> javax.enterprise.deploy.spi.exceptions.InvalidModuleException;
>>   -
>>    import org.apache.geronimo.deployment.DeploymentException;
>>    import org.apache.geronimo.deployment.DeploymentModule;
>>    import  
>> org.apache.geronimo.deployment.plugin.factories.DeploymentConfiguratio 
>> nFactory;
>>    import org.apache.geronimo.gbean.GBeanInfo;
>>    import org.apache.geronimo.gbean.GBeanInfoFactory;
>>   -import  
>> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppDocume 
>> nt;
>>   +import  
>> org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppDocument;
>>   +import org.apache.geronimo.naming.java.ProxyFactory;
>>    import org.apache.xmlbeans.SchemaType;
>>    import org.apache.xmlbeans.SchemaTypeLoader;
>>    import org.apache.xmlbeans.XmlBeans;
>>   @@ -82,11 +78,17 @@
>>    public class WARConfigurationFactory implements  
>> DeploymentConfigurationFactory {
>>        private static final SchemaTypeLoader SCHEMA_TYPE_LOADER =  
>> XmlBeans.getContextTypeLoader();
>>      +    private ProxyFactory proxyFactory;
>>   +
>>   +    public WARConfigurationFactory(ProxyFactory proxyFactory) {
>>   +        this.proxyFactory = proxyFactory;
>>   +    }
>>   +
>>        //TODO a createModule method taking a file/directory for  
>> unpacked jsp handling.
>>        //Should create a UnpackedModule if supplied file is a  
>> directory.
>>        public DeploymentModule createModule(InputStream  
>> moduleArchive, XmlObject deploymentPlan, URI configID, boolean  
>> isLocal) throws DeploymentException {
>>            JettyWebAppDocument webAppDoc =  
>> (JettyWebAppDocument)deploymentPlan;
>>   -        return new JettyModule(configID, moduleArchive,  
>> webAppDoc.getWebApp());
>>   +        return new JettyModule(configID, moduleArchive,  
>> webAppDoc.getWebApp(), proxyFactory);
>>        }
>>           //these might be temporary
>>   @@ -103,6 +105,8 @@
>>        static {
>>            GBeanInfoFactory infoFactory = new GBeanInfoFactory("Jetty  
>> WAR Configuration Factory", WARConfigurationFactory.class.getName());
>>             
>> infoFactory.addInterface(DeploymentConfigurationFactory.class);
>>   +        infoFactory.addReference("ProxyFactory",  
>> ProxyFactory.class);
>>   +        infoFactory.setConstructor(new String[] {"ProxyFactory"},  
>> new Class[] {ProxyFactory.class});
>>            GBEAN_INFO = infoFactory.getBeanInfo();
>>        }
>>            1.8       +2 -2       
>> incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/ 
>> deployment/WebAppDConfigBean.java
>>     Index: WebAppDConfigBean.java
>>   ===================================================================
>>   RCS file:  
>> /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/ 
>> geronimo/jetty/deployment/WebAppDConfigBean.java,v
>>   retrieving revision 1.7
>>   retrieving revision 1.8
>>   diff -u -r1.7 -r1.8
>>   --- WebAppDConfigBean.java	9 Feb 2004 23:11:04 -0000	1.7
>>   +++ WebAppDConfigBean.java	14 Feb 2004 01:50:15 -0000	1.8
>>   @@ -62,7 +62,7 @@
>>       import org.apache.geronimo.deployment.plugin.DConfigBeanSupport;
>>    import org.apache.geronimo.deployment.plugin.j2ee.ENCHelper;
>>   -import  
>> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppType;
>>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
>>    import org.apache.xmlbeans.SchemaTypeLoader;
>>    import org.apache.xmlbeans.XmlBeans;
>>            1.6       +3 -3       
>> incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/ 
>> deployment/WebAppDConfigRoot.java
>>     Index: WebAppDConfigRoot.java
>>   ===================================================================
>>   RCS file:  
>> /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/ 
>> geronimo/jetty/deployment/WebAppDConfigRoot.java,v
>>   retrieving revision 1.5
>>   retrieving revision 1.6
>>   diff -u -r1.5 -r1.6
>>   --- WebAppDConfigRoot.java	11 Feb 2004 08:02:21 -0000	1.5
>>   +++ WebAppDConfigRoot.java	14 Feb 2004 01:50:15 -0000	1.6
>>   @@ -64,8 +64,8 @@
>>    import  
>> javax.enterprise.deploy.spi.exceptions.ConfigurationException;
>>       import  
>> org.apache.geronimo.deployment.plugin.DConfigBeanRootSupport;
>>   -import  
>> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppDocume 
>> nt;
>>   -import  
>> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppType;
>>   +import  
>> org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppDocument;
>>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
>>    import org.apache.xmlbeans.SchemaTypeLoader;
>>    import org.apache.xmlbeans.XmlBeans;
>>    import org.apache.xmlbeans.XmlException;
>>         1.3       +7 -3       
>> incubator-geronimo/modules/jetty/src/schema/geronimo-jetty.xsd
>>     Index: geronimo-jetty.xsd
>>   ===================================================================
>>   RCS file:  
>> /home/cvs/incubator-geronimo/modules/jetty/src/schema/geronimo- 
>> jetty.xsd,v
>>   retrieving revision 1.2
>>   retrieving revision 1.3
>>   diff -u -r1.2 -r1.3
>>   --- geronimo-jetty.xsd	12 Feb 2004 16:29:00 -0000	1.2
>>   +++ geronimo-jetty.xsd	14 Feb 2004 01:50:15 -0000	1.3
>>   @@ -1,18 +1,22 @@
>>    <?xml version="1.0" encoding="UTF-8"?>
>>    <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
>>   -    xmlns:ger="http://geronimo.apache.org/xml/ns/web/jetty"
>>   +    xmlns:jetty="http://geronimo.apache.org/xml/ns/web/jetty"
>>        targetNamespace="http://geronimo.apache.org/xml/ns/web/jetty"
>>   +    xmlns:ger="http://geronimo.apache.org/xml/ns/j2ee"
>>        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>        elementFormDefault="qualified"
>>        attributeFormDefault="unqualified"
>>        version="1.0">
>>      -    <xsd:element name="web-app" type="ger:web-appType"/>
>>   +    <xsd:import namespace="http://geronimo.apache.org/xml/ns/j2ee"  
>> schemaLocation="../../../naming/src/schema/geronimo-naming.xsd"/>
>>   +
>>   +    <xsd:element name="web-app" type="jetty:web-appType"/>
>>           <xsd:complexType name="web-appType">
>>            <xsd:sequence>
>>   -            <xsd:element name="context-root"  
>> type="ger:context-rootType"/>
>>   +            <xsd:element name="context-root"  
>> type="jetty:context-rootType"/>
>>                <xsd:element name="context-priority-classloader"  
>> type="xsd:boolean"/>
>>   +            <xsd:group ref="ger:jndiEnvironmentRefsGroup"/>
>>            </xsd:sequence>
>>        </xsd:complexType>
>>            1.3       +7 -1       
>> incubator-geronimo/modules/jetty/src/schema/xmlconfig.xml
>>     Index: xmlconfig.xml
>>   ===================================================================
>>   RCS file:  
>> /home/cvs/incubator-geronimo/modules/jetty/src/schema/xmlconfig.xml,v
>>   retrieving revision 1.2
>>   retrieving revision 1.3
>>   diff -u -r1.2 -r1.3
>>   --- xmlconfig.xml	12 Feb 2004 16:29:00 -0000	1.2
>>   +++ xmlconfig.xml	14 Feb 2004 01:50:15 -0000	1.3
>>   @@ -2,8 +2,14 @@
>>        >
>>           <xb:namespace  
>> uri="http://geronimo.apache.org/xml/ns/web/jetty">
>>   -         
>> <xb:package>org.apache.geronimo.xbeans.geronimo.deployment.jetty</ 
>> xb:package>
>>   +         
>> <xb:package>org.apache.geronimo.xbeans.geronimo.jetty</xb:package>
>>            <xb:prefix>Jetty</xb:prefix>
>>   +    </xb:namespace>
>>   +
>>   +    <!--this should be unnecessary.  Probably needs xmlbeans  
>> plugin to reuse the naming classes rather than generating  
>> duplicates-->
>>   +    <xb:namespace uri="http://geronimo.apache.org/xml/ns/j2ee">
>>   +         
>> <xb:package>org.apache.geronimo.xbeans.geronimo</xb:package>
>>   +        <xb:prefix>Ger</xb:prefix>
>>        </xb:namespace>
>>       </xb:config>
>>         1.7       +2 -2       
>> incubator-geronimo/modules/jetty/src/test/org/apache/geronimo/jetty/ 
>> deployment/DeploymentTest.java
>>     Index: DeploymentTest.java
>>   ===================================================================
>>   RCS file:  
>> /home/cvs/incubator-geronimo/modules/jetty/src/test/org/apache/ 
>> geronimo/jetty/deployment/DeploymentTest.java,v
>>   retrieving revision 1.6
>>   retrieving revision 1.7
>>   diff -u -r1.6 -r1.7
>>   --- DeploymentTest.java	6 Feb 2004 08:55:49 -0000	1.6
>>   +++ DeploymentTest.java	14 Feb 2004 01:50:15 -0000	1.7
>>   @@ -80,7 +80,7 @@
>>    import org.apache.geronimo.deployment.service.ServiceDeployer;
>>    import org.apache.geronimo.deployment.util.URLInfo;
>>    import org.apache.geronimo.gbean.jmx.GBeanMBean;
>>   -import  
>> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppDocume 
>> nt;
>>   +import  
>> org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppDocument;
>>       /**
>>     *
>>         1.10      +4 -4       
>> incubator-geronimo/modules/jetty/src/test/org/apache/geronimo/jetty/ 
>> deployment/WARConfigurationFactoryTest.java
>>     Index: WARConfigurationFactoryTest.java
>>   ===================================================================
>>   RCS file:  
>> /home/cvs/incubator-geronimo/modules/jetty/src/test/org/apache/ 
>> geronimo/jetty/deployment/WARConfigurationFactoryTest.java,v
>>   retrieving revision 1.9
>>   retrieving revision 1.10
>>   diff -u -r1.9 -r1.10
>>   --- WARConfigurationFactoryTest.java	11 Feb 2004 08:02:21 -0000	1.9
>>   +++ WARConfigurationFactoryTest.java	14 Feb 2004 01:50:15 -0000	1.10
>>   @@ -61,9 +61,9 @@
>>    import javax.enterprise.deploy.spi.DConfigBeanRoot;
>>       import  
>> org.apache.geronimo.deployment.tools.loader.WebDeployable;
>>   -import  
>> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyContextRootT 
>> ype;
>>   -import  
>> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppDocume 
>> nt;
>>   -import  
>> org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppType;
>>   +import  
>> org.apache.geronimo.xbeans.geronimo.jetty.JettyContextRootType;
>>   +import  
>> org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppDocument;
>>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
>>    import org.w3c.dom.Document;
>>    import org.w3c.dom.Element;
>>            1.2       +2 -2       
>> incubator-geronimo/modules/naming/src/schema/geronimo-naming.xsd
>>     Index: geronimo-naming.xsd
>>   ===================================================================
>>   RCS file:  
>> /home/cvs/incubator-geronimo/modules/naming/src/schema/geronimo- 
>> naming.xsd,v
>>   retrieving revision 1.1
>>   retrieving revision 1.2
>>   diff -u -r1.1 -r1.2
>>   --- geronimo-naming.xsd	13 Feb 2004 23:41:47 -0000	1.1
>>   +++ geronimo-naming.xsd	14 Feb 2004 01:50:15 -0000	1.2
>>   @@ -19,9 +19,9 @@
>>                </xsd:documentation>
>>            </xsd:annotation>
>>            <xsd:sequence>
>>   -            <xsd:element name="env-entry"
>>   +            <!--xsd:element name="env-entry"
>>                    type="ger:env-entryType"
>>   -                minOccurs="0" maxOccurs="unbounded"/>
>>   +                minOccurs="0" maxOccurs="unbounded"/-->
>>                <xsd:element name="ejb-ref"
>>                    type="ger:ejb-refType"
>>                    minOccurs="0" maxOccurs="unbounded"/>
>>
>


Re: cvs commit: incubator-geronimo/modules/naming/src/schema geronimo-naming.xsd

Posted by Jeremy Boynes <je...@coredevelopers.net>.
David

Should we really do this?
<xsd:import
   namespace="http://geronimo.apache.org/xml/ns/j2ee"
   schemaLocation="../../../naming/src/schema/geronimo-naming.xsd"/>
Won't the location get messed up in a final build?

I am also concerned that we are putting all the naming stuff in a 
separate namespace - won't this mean that people editing the document 
will need to change namespace for all JNDI reference definitions? 
Woulnd't that make it harder for users rather than the few places where 
we need to handle this stuff in code?

Can't we do something with XML Schema inheritance that XML Beans can 
still handle but which allows the elements to sit in the namespace of 
the including document?

--
Jeremy


djencks@apache.org wrote:
> djencks     2004/02/13 17:50:15
> 
>   Modified:    modules/jetty project.xml
>                modules/jetty/src/java/org/apache/geronimo/jetty/deployment
>                         AbstractModule.java JettyModule.java
>                         UnpackedModule.java WARConfiguration.java
>                         WARConfigurationFactory.java WebAppDConfigBean.java
>                         WebAppDConfigRoot.java
>                modules/jetty/src/schema geronimo-jetty.xsd xmlconfig.xml
>                modules/jetty/src/test/org/apache/geronimo/jetty/deployment
>                         DeploymentTest.java
>                         WARConfigurationFactoryTest.java
>                modules/naming/src/schema geronimo-naming.xsd
>   Log:
>   added naming to jetty (no real tests)
>   
>   Revision  Changes    Path
>   1.16      +9 -1      incubator-geronimo/modules/jetty/project.xml
>   
>   Index: project.xml
>   ===================================================================
>   RCS file: /home/cvs/incubator-geronimo/modules/jetty/project.xml,v
>   retrieving revision 1.15
>   retrieving revision 1.16
>   diff -u -r1.15 -r1.16
>   --- project.xml	12 Feb 2004 23:33:21 -0000	1.15
>   +++ project.xml	14 Feb 2004 01:50:14 -0000	1.16
>   @@ -116,6 +116,14 @@
>            </dependency>
>    
>            <dependency>
>   +            <groupId>geronimo-spec</groupId>
>   +            <artifactId>geronimo-spec-j2eeschema</artifactId>
>   +            <version>DEV</version>
>   +            <properties>
>   +            </properties>
>   +        </dependency>
>   +
>   +        <dependency>
>                <groupId>jetty</groupId>
>                <artifactId>org.mortbay.jetty</artifactId>
>                <version>5.0.beta0</version>
>   
>   
>   
>   1.5       +43 -13    incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/AbstractModule.java
>   
>   Index: AbstractModule.java
>   ===================================================================
>   RCS file: /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/AbstractModule.java,v
>   retrieving revision 1.4
>   retrieving revision 1.5
>   diff -u -r1.4 -r1.5
>   --- AbstractModule.java	5 Feb 2004 01:37:56 -0000	1.4
>   +++ AbstractModule.java	14 Feb 2004 01:50:15 -0000	1.5
>   @@ -55,32 +55,49 @@
>     */
>    package org.apache.geronimo.jetty.deployment;
>    
>   -import java.util.Properties;
>   -import java.util.Collections;
>    import java.net.URI;
>   -import javax.enterprise.deploy.spi.TargetModuleID;
>   +import java.util.Collections;
>   +import java.util.Properties;
>   +
>    import javax.management.ObjectName;
>   +import javax.naming.Context;
>   +import javax.transaction.UserTransaction;
>    
>   -import org.apache.geronimo.deployment.DeploymentModule;
>   -import org.apache.geronimo.deployment.DeploymentException;
>    import org.apache.geronimo.deployment.ConfigurationCallback;
>   +import org.apache.geronimo.deployment.DeploymentException;
>   +import org.apache.geronimo.deployment.DeploymentModule;
>    import org.apache.geronimo.gbean.jmx.GBeanMBean;
>    import org.apache.geronimo.jetty.JettyWebApplicationContext;
>    import org.apache.geronimo.kernel.Kernel;
>   +import org.apache.geronimo.naming.deployment.ComponentContextBuilder;
>   +import org.apache.geronimo.naming.java.ProxyFactory;
>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
>   +import org.apache.geronimo.xbeans.j2ee.WebAppType;
>    
>    /**
>   - * 
>   - * 
>   + *
>   + *
>     * @version $Revision$ $Date$
>     */
>    public class AbstractModule implements DeploymentModule {
>   +
>   +    private final ProxyFactory proxyFactory;
>        protected final URI configID;
>        protected URI uri;
>        protected String contextPath;
>        protected boolean contextPriorityClassLoader;
>   -    
>   -    public AbstractModule(URI configID) {
>   +    protected WebAppType webApp;
>   +    protected final JettyWebAppType jettyWebApp;
>   +
>   +    public AbstractModule(URI configID, JettyWebAppType jettyWebApp, ProxyFactory proxyFactory) throws DeploymentException {
>            this.configID = configID;
>   +        this.jettyWebApp = jettyWebApp;
>   +        this.proxyFactory = proxyFactory;
>   +        contextPath = jettyWebApp.getContextRoot().getStringValue();
>   +        if (contextPath == null) {
>   +            throw new DeploymentException("No context root specified");
>   +        }
>   +        contextPriorityClassLoader=jettyWebApp.getContextPriorityClassloader();
>        }
>    
>        public void init() throws DeploymentException {
>   @@ -102,15 +119,28 @@
>                GBeanMBean app = new GBeanMBean(JettyWebApplicationContext.GBEAN_INFO);
>                app.setAttribute("URI", uri);
>                app.setAttribute("ContextPath", contextPath);
>   -            app.setAttribute("ContextPriorityClassLoader", new Boolean(contextPriorityClassLoader));     
>   -            app.setAttribute("ComponentContext", null);
>   +            app.setAttribute("ContextPriorityClassLoader", new Boolean(contextPriorityClassLoader));
>                app.setAttribute("PolicyContextID", null);
>   +            //jndi
>   +            if (proxyFactory != null) {
>   +                UserTransaction userTransaction = null;
>   +                Context componentContext = new ComponentContextBuilder(proxyFactory, cl).buildContext(
>   +                        webApp.getEjbRefArray(), jettyWebApp.getEjbRefArray(),
>   +                        webApp.getEjbLocalRefArray(), jettyWebApp.getEjbLocalRefArray(),
>   +                        webApp.getEnvEntryArray(),
>   +                        webApp.getMessageDestinationRefArray(), jettyWebApp.getMessageDestinationRefArray(),
>   +                        webApp.getResourceEnvRefArray(), jettyWebApp.getResourceEnvRefArray(),
>   +                        webApp.getResourceRefArray(), jettyWebApp.getResourceRefArray(),
>   +                        userTransaction);
>   +                app.setAttribute("ComponentContext", componentContext);
>   +            }
>   +
>                app.setReferencePatterns("Configuration", Collections.singleton(Kernel.getConfigObjectName(configID)));
>                app.setReferencePatterns("JettyContainer", Collections.singleton(new ObjectName("geronimo.web:type=WebContainer,container=Jetty"))); // @todo configurable
>                app.setReferencePatterns("TransactionManager", Collections.EMPTY_SET);
>                app.setReferencePatterns("TrackedConnectionAssociator", Collections.EMPTY_SET);
>                callback.addGBean(name, app);
>   -            
>   +
>            } catch (Throwable e) {
>                throw new DeploymentException("Unable to build GBean for web application", e);
>            }
>   
>   
>   
>   1.11      +15 -9     incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/JettyModule.java
>   
>   Index: JettyModule.java
>   ===================================================================
>   RCS file: /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/JettyModule.java,v
>   retrieving revision 1.10
>   retrieving revision 1.11
>   diff -u -r1.10 -r1.11
>   --- JettyModule.java	8 Feb 2004 20:19:21 -0000	1.10
>   +++ JettyModule.java	14 Feb 2004 01:50:15 -0000	1.11
>   @@ -65,7 +65,11 @@
>    
>    import org.apache.geronimo.deployment.ConfigurationCallback;
>    import org.apache.geronimo.deployment.DeploymentException;
>   -import org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppType;
>   +import org.apache.geronimo.deployment.util.UnclosableInputStream;
>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
>   +import org.apache.geronimo.xbeans.j2ee.WebAppDocument;
>   +import org.apache.geronimo.naming.java.ProxyFactory;
>   +import org.apache.xmlbeans.XmlException;
>    
>    /**
>     *
>   @@ -79,16 +83,11 @@
>        private URI classes;
>        private URI lib;
>    
>   -    public JettyModule(URI configID, InputStream moduleArchive, JettyWebAppType webApp) throws DeploymentException {
>   -        super(configID);
>   +    public JettyModule(URI configID, InputStream moduleArchive, JettyWebAppType jettyWebApp, ProxyFactory proxyFactory) throws DeploymentException {
>   +        super(configID, jettyWebApp, proxyFactory);
>            moduleDirectory = null;
>            this.zipArchive = new ZipInputStream(moduleArchive);
>            closeStream = false;
>   -        contextPath = webApp.getContextRoot().getStringValue();
>   -        if (contextPath == null) {
>   -            throw new DeploymentException("No context root specified");
>   -        }
>   -        contextPriorityClassLoader=webApp.getContextPriorityClassloader();
>        }
>    
>        public void init() throws DeploymentException {
>   @@ -112,6 +111,11 @@
>                        }
>                        callback.addFile(uri.resolve(name), zipArchive);
>    
>   +                    if (name.equals("WEB-INF/web-app.xml")) {
>   +                        WebAppDocument webAppDoc = WebAppDocument.Factory.parse(new UnclosableInputStream(zipArchive));
>   +                        webApp = webAppDoc.getWebApp();
>   +                    }
>   +
>                        // If we do not give the context priority over classloading, then we add the standard locations to our classpath.
>                        if (!contextPriorityClassLoader) {
>                            if (!addedClasses && name.startsWith("WEB-INF/classes/")) {
>   @@ -127,6 +131,8 @@
>                }
>                catch (IOException e) {
>                    throw new DeploymentException("Unable to unpack WAR content", e);
>   +            } catch (XmlException e) {
>   +                throw new DeploymentException("Unable to parse WAR content", e);
>                }
>            }
>            else {
>   
>   
>   
>   1.4       +12 -11    incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/UnpackedModule.java
>   
>   Index: UnpackedModule.java
>   ===================================================================
>   RCS file: /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/UnpackedModule.java,v
>   retrieving revision 1.3
>   retrieving revision 1.4
>   diff -u -r1.3 -r1.4
>   --- UnpackedModule.java	5 Feb 2004 01:37:56 -0000	1.3
>   +++ UnpackedModule.java	14 Feb 2004 01:50:15 -0000	1.4
>   @@ -58,25 +58,26 @@
>    import java.io.File;
>    import java.net.URI;
>    
>   -import org.apache.geronimo.deployment.util.XMLUtil;
>   -import org.w3c.dom.Document;
>   +import org.apache.geronimo.deployment.DeploymentException;
>   +import org.apache.geronimo.naming.java.ProxyFactory;
>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
>    
>    /**
>   - * 
>   - * 
>   + *
>   + *
>     * @version $Revision$ $Date$
>     */
>    public class UnpackedModule extends AbstractModule {
>   -   
>   -    public UnpackedModule(URI configID, File archive, Document deploymentPlan) {
>   -        super(configID);
>   +
>   +    public UnpackedModule(URI configID, File archive, JettyWebAppType jettyWebApp, ProxyFactory proxyFactory) throws DeploymentException {
>   +        super(configID, jettyWebApp, proxyFactory);
>            this.uri = archive.toURI();
>   +        //????? contextPath is read from required geronimo dd.
>            contextPath = archive.getName();
>            if (contextPath.endsWith(".war")) {
>                contextPath = contextPath.substring(0, contextPath.length() - 4);
>            }
>   -        contextPath = XMLUtil.getChildContent(deploymentPlan.getDocumentElement(), "context-root", contextPath, contextPath);
>   -    }    
>   -    
>   +    }
>   +
>        // TODO - generate classpath?
>    }
>   
>   
>   
>   1.5       +1 -14     incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/WARConfiguration.java
>   
>   Index: WARConfiguration.java
>   ===================================================================
>   RCS file: /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/WARConfiguration.java,v
>   retrieving revision 1.4
>   retrieving revision 1.5
>   diff -u -r1.4 -r1.5
>   --- WARConfiguration.java	6 Feb 2004 08:55:49 -0000	1.4
>   +++ WARConfiguration.java	14 Feb 2004 01:50:15 -0000	1.5
>   @@ -55,22 +55,9 @@
>     */
>    package org.apache.geronimo.jetty.deployment;
>    
>   -import java.io.IOException;
>   -import java.io.InputStream;
>   -import java.io.OutputStream;
>   -import java.io.PrintWriter;
>   -import javax.enterprise.deploy.model.DDBeanRoot;
>    import javax.enterprise.deploy.model.DeployableObject;
>   -import javax.enterprise.deploy.spi.DConfigBeanRoot;
>   -import javax.enterprise.deploy.spi.exceptions.ConfigurationException;
>   -import javax.xml.parsers.DocumentBuilder;
>   -import javax.xml.parsers.DocumentBuilderFactory;
>   -import javax.xml.parsers.ParserConfigurationException;
>    
>    import org.apache.geronimo.deployment.plugin.DeploymentConfigurationSupport;
>   -import org.apache.xmlbeans.XmlException;
>   -import org.xml.sax.SAXException;
>   -import org.w3c.dom.Document;
>    
>    /**
>     *
>   
>   
>   
>   1.8       +12 -8     incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/WARConfigurationFactory.java
>   
>   Index: WARConfigurationFactory.java
>   ===================================================================
>   RCS file: /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/WARConfigurationFactory.java,v
>   retrieving revision 1.7
>   retrieving revision 1.8
>   diff -u -r1.7 -r1.8
>   --- WARConfigurationFactory.java	9 Feb 2004 00:01:20 -0000	1.7
>   +++ WARConfigurationFactory.java	14 Feb 2004 01:50:15 -0000	1.8
>   @@ -58,17 +58,13 @@
>    import java.io.InputStream;
>    import java.net.URI;
>    
>   -import javax.enterprise.deploy.model.DeployableObject;
>   -import javax.enterprise.deploy.shared.ModuleType;
>   -import javax.enterprise.deploy.spi.DeploymentConfiguration;
>   -import javax.enterprise.deploy.spi.exceptions.InvalidModuleException;
>   -
>    import org.apache.geronimo.deployment.DeploymentException;
>    import org.apache.geronimo.deployment.DeploymentModule;
>    import org.apache.geronimo.deployment.plugin.factories.DeploymentConfigurationFactory;
>    import org.apache.geronimo.gbean.GBeanInfo;
>    import org.apache.geronimo.gbean.GBeanInfoFactory;
>   -import org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppDocument;
>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppDocument;
>   +import org.apache.geronimo.naming.java.ProxyFactory;
>    import org.apache.xmlbeans.SchemaType;
>    import org.apache.xmlbeans.SchemaTypeLoader;
>    import org.apache.xmlbeans.XmlBeans;
>   @@ -82,11 +78,17 @@
>    public class WARConfigurationFactory implements DeploymentConfigurationFactory {
>        private static final SchemaTypeLoader SCHEMA_TYPE_LOADER = XmlBeans.getContextTypeLoader();
>    
>   +    private ProxyFactory proxyFactory;
>   +
>   +    public WARConfigurationFactory(ProxyFactory proxyFactory) {
>   +        this.proxyFactory = proxyFactory;
>   +    }
>   +
>        //TODO a createModule method taking a file/directory for unpacked jsp handling.
>        //Should create a UnpackedModule if supplied file is a directory.
>        public DeploymentModule createModule(InputStream moduleArchive, XmlObject deploymentPlan, URI configID, boolean isLocal) throws DeploymentException {
>            JettyWebAppDocument webAppDoc = (JettyWebAppDocument)deploymentPlan;
>   -        return new JettyModule(configID, moduleArchive, webAppDoc.getWebApp());
>   +        return new JettyModule(configID, moduleArchive, webAppDoc.getWebApp(), proxyFactory);
>        }
>    
>        //these might be temporary
>   @@ -103,6 +105,8 @@
>        static {
>            GBeanInfoFactory infoFactory = new GBeanInfoFactory("Jetty WAR Configuration Factory", WARConfigurationFactory.class.getName());
>            infoFactory.addInterface(DeploymentConfigurationFactory.class);
>   +        infoFactory.addReference("ProxyFactory", ProxyFactory.class);
>   +        infoFactory.setConstructor(new String[] {"ProxyFactory"}, new Class[] {ProxyFactory.class});
>            GBEAN_INFO = infoFactory.getBeanInfo();
>        }
>    
>   
>   
>   
>   1.8       +2 -2      incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/WebAppDConfigBean.java
>   
>   Index: WebAppDConfigBean.java
>   ===================================================================
>   RCS file: /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/WebAppDConfigBean.java,v
>   retrieving revision 1.7
>   retrieving revision 1.8
>   diff -u -r1.7 -r1.8
>   --- WebAppDConfigBean.java	9 Feb 2004 23:11:04 -0000	1.7
>   +++ WebAppDConfigBean.java	14 Feb 2004 01:50:15 -0000	1.8
>   @@ -62,7 +62,7 @@
>    
>    import org.apache.geronimo.deployment.plugin.DConfigBeanSupport;
>    import org.apache.geronimo.deployment.plugin.j2ee.ENCHelper;
>   -import org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppType;
>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
>    import org.apache.xmlbeans.SchemaTypeLoader;
>    import org.apache.xmlbeans.XmlBeans;
>    
>   
>   
>   
>   1.6       +3 -3      incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/WebAppDConfigRoot.java
>   
>   Index: WebAppDConfigRoot.java
>   ===================================================================
>   RCS file: /home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/WebAppDConfigRoot.java,v
>   retrieving revision 1.5
>   retrieving revision 1.6
>   diff -u -r1.5 -r1.6
>   --- WebAppDConfigRoot.java	11 Feb 2004 08:02:21 -0000	1.5
>   +++ WebAppDConfigRoot.java	14 Feb 2004 01:50:15 -0000	1.6
>   @@ -64,8 +64,8 @@
>    import javax.enterprise.deploy.spi.exceptions.ConfigurationException;
>    
>    import org.apache.geronimo.deployment.plugin.DConfigBeanRootSupport;
>   -import org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppDocument;
>   -import org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppType;
>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppDocument;
>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
>    import org.apache.xmlbeans.SchemaTypeLoader;
>    import org.apache.xmlbeans.XmlBeans;
>    import org.apache.xmlbeans.XmlException;
>   
>   
>   
>   1.3       +7 -3      incubator-geronimo/modules/jetty/src/schema/geronimo-jetty.xsd
>   
>   Index: geronimo-jetty.xsd
>   ===================================================================
>   RCS file: /home/cvs/incubator-geronimo/modules/jetty/src/schema/geronimo-jetty.xsd,v
>   retrieving revision 1.2
>   retrieving revision 1.3
>   diff -u -r1.2 -r1.3
>   --- geronimo-jetty.xsd	12 Feb 2004 16:29:00 -0000	1.2
>   +++ geronimo-jetty.xsd	14 Feb 2004 01:50:15 -0000	1.3
>   @@ -1,18 +1,22 @@
>    <?xml version="1.0" encoding="UTF-8"?>
>    <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
>   -    xmlns:ger="http://geronimo.apache.org/xml/ns/web/jetty"
>   +    xmlns:jetty="http://geronimo.apache.org/xml/ns/web/jetty"
>        targetNamespace="http://geronimo.apache.org/xml/ns/web/jetty"
>   +    xmlns:ger="http://geronimo.apache.org/xml/ns/j2ee"
>        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>        elementFormDefault="qualified"
>        attributeFormDefault="unqualified"
>        version="1.0">
>    
>   -    <xsd:element name="web-app" type="ger:web-appType"/>
>   +    <xsd:import namespace="http://geronimo.apache.org/xml/ns/j2ee" schemaLocation="../../../naming/src/schema/geronimo-naming.xsd"/>
>   +
>   +    <xsd:element name="web-app" type="jetty:web-appType"/>
>    
>        <xsd:complexType name="web-appType">
>            <xsd:sequence>
>   -            <xsd:element name="context-root" type="ger:context-rootType"/>
>   +            <xsd:element name="context-root" type="jetty:context-rootType"/>
>                <xsd:element name="context-priority-classloader" type="xsd:boolean"/>
>   +            <xsd:group ref="ger:jndiEnvironmentRefsGroup"/>
>            </xsd:sequence>
>        </xsd:complexType>
>    
>   
>   
>   
>   1.3       +7 -1      incubator-geronimo/modules/jetty/src/schema/xmlconfig.xml
>   
>   Index: xmlconfig.xml
>   ===================================================================
>   RCS file: /home/cvs/incubator-geronimo/modules/jetty/src/schema/xmlconfig.xml,v
>   retrieving revision 1.2
>   retrieving revision 1.3
>   diff -u -r1.2 -r1.3
>   --- xmlconfig.xml	12 Feb 2004 16:29:00 -0000	1.2
>   +++ xmlconfig.xml	14 Feb 2004 01:50:15 -0000	1.3
>   @@ -2,8 +2,14 @@
>        >
>    
>        <xb:namespace uri="http://geronimo.apache.org/xml/ns/web/jetty">
>   -        <xb:package>org.apache.geronimo.xbeans.geronimo.deployment.jetty</xb:package>
>   +        <xb:package>org.apache.geronimo.xbeans.geronimo.jetty</xb:package>
>            <xb:prefix>Jetty</xb:prefix>
>   +    </xb:namespace>
>   +
>   +    <!--this should be unnecessary.  Probably needs xmlbeans plugin to reuse the naming classes rather than generating duplicates-->
>   +    <xb:namespace uri="http://geronimo.apache.org/xml/ns/j2ee">
>   +        <xb:package>org.apache.geronimo.xbeans.geronimo</xb:package>
>   +        <xb:prefix>Ger</xb:prefix>
>        </xb:namespace>
>    
>    </xb:config>
>   
>   
>   
>   1.7       +2 -2      incubator-geronimo/modules/jetty/src/test/org/apache/geronimo/jetty/deployment/DeploymentTest.java
>   
>   Index: DeploymentTest.java
>   ===================================================================
>   RCS file: /home/cvs/incubator-geronimo/modules/jetty/src/test/org/apache/geronimo/jetty/deployment/DeploymentTest.java,v
>   retrieving revision 1.6
>   retrieving revision 1.7
>   diff -u -r1.6 -r1.7
>   --- DeploymentTest.java	6 Feb 2004 08:55:49 -0000	1.6
>   +++ DeploymentTest.java	14 Feb 2004 01:50:15 -0000	1.7
>   @@ -80,7 +80,7 @@
>    import org.apache.geronimo.deployment.service.ServiceDeployer;
>    import org.apache.geronimo.deployment.util.URLInfo;
>    import org.apache.geronimo.gbean.jmx.GBeanMBean;
>   -import org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppDocument;
>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppDocument;
>    
>    /**
>     *
>   
>   
>   
>   1.10      +4 -4      incubator-geronimo/modules/jetty/src/test/org/apache/geronimo/jetty/deployment/WARConfigurationFactoryTest.java
>   
>   Index: WARConfigurationFactoryTest.java
>   ===================================================================
>   RCS file: /home/cvs/incubator-geronimo/modules/jetty/src/test/org/apache/geronimo/jetty/deployment/WARConfigurationFactoryTest.java,v
>   retrieving revision 1.9
>   retrieving revision 1.10
>   diff -u -r1.9 -r1.10
>   --- WARConfigurationFactoryTest.java	11 Feb 2004 08:02:21 -0000	1.9
>   +++ WARConfigurationFactoryTest.java	14 Feb 2004 01:50:15 -0000	1.10
>   @@ -61,9 +61,9 @@
>    import javax.enterprise.deploy.spi.DConfigBeanRoot;
>    
>    import org.apache.geronimo.deployment.tools.loader.WebDeployable;
>   -import org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyContextRootType;
>   -import org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppDocument;
>   -import org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyWebAppType;
>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyContextRootType;
>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppDocument;
>   +import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
>    import org.w3c.dom.Document;
>    import org.w3c.dom.Element;
>    
>   
>   
>   
>   1.2       +2 -2      incubator-geronimo/modules/naming/src/schema/geronimo-naming.xsd
>   
>   Index: geronimo-naming.xsd
>   ===================================================================
>   RCS file: /home/cvs/incubator-geronimo/modules/naming/src/schema/geronimo-naming.xsd,v
>   retrieving revision 1.1
>   retrieving revision 1.2
>   diff -u -r1.1 -r1.2
>   --- geronimo-naming.xsd	13 Feb 2004 23:41:47 -0000	1.1
>   +++ geronimo-naming.xsd	14 Feb 2004 01:50:15 -0000	1.2
>   @@ -19,9 +19,9 @@
>                </xsd:documentation>
>            </xsd:annotation>
>            <xsd:sequence>
>   -            <xsd:element name="env-entry"
>   +            <!--xsd:element name="env-entry"
>                    type="ger:env-entryType"
>   -                minOccurs="0" maxOccurs="unbounded"/>
>   +                minOccurs="0" maxOccurs="unbounded"/-->
>                <xsd:element name="ejb-ref"
>                    type="ger:ejb-refType"
>                    minOccurs="0" maxOccurs="unbounded"/>
>   
>   
>