User: starksm 
  Date: 01/12/02 20:28:14

  Modified:    src/main/org/jboss/metadata WebMetaData.java
  Log:
  Add ejb-local-ref support
  
  Revision  Changes    Path
  1.6       +180 -126  jboss/src/main/org/jboss/metadata/WebMetaData.java
  
  Index: WebMetaData.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/metadata/WebMetaData.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- WebMetaData.java  2001/11/26 03:17:48     1.5
  +++ WebMetaData.java  2001/12/03 04:28:13     1.6
  @@ -14,144 +14,198 @@
   
   import org.jboss.deployment.DeploymentException;
   
  -/** A representation of the web-app.xml and jboss-web.xml deployment
  +/** A representation of the web.xml and jboss-web.xml deployment
    * descriptors as used by the AbstractWebContainer web container integration
    * support class.
  - *      
  + *
    * @see XmlLoadable
    * @see org.jboss.web.AbstractWebContainer
  -
  - * @author <a href="mailto:[EMAIL PROTECTED]";>Scott Stark</a>.
  - * @version $Revision: 1.5 $
  + 
  + * @author [EMAIL PROTECTED]
  + * @version $Revision: 1.6 $
    */
   public class WebMetaData implements XmlLoadable
   {
  -    private HashMap resourceReferences = new HashMap();
  -    private ArrayList environmentEntries = new ArrayList();
  -    private HashMap ejbReferences = new HashMap();
  -    private ArrayList securityRoleReferences = new ArrayList();
  -    private String securityDomain;
  -
  -    public WebMetaData()
  -    {
  -    }
  -
  -    /** Return an iterator of the env-entry mappings.
  +   private HashMap resourceReferences = new HashMap();
  +   private HashMap resourceEnvReferences = new HashMap();
  +   private ArrayList environmentEntries = new ArrayList();
  +   private HashMap ejbReferences = new HashMap();
  +   private HashMap ejbLocalReferences = new HashMap();
  +   private ArrayList securityRoleReferences = new ArrayList();
  +   private String securityDomain;
  +   
  +   public WebMetaData()
  +   {
  +   }
  +   
  +   /** Return an iterator of the env-entry mappings.
       @return Iterator of EnvEntryMetaData objects.
       */
  -    public Iterator getEnvironmentEntries()
  -    {
  -        return environmentEntries.iterator();
  -    }
  -    /** Return an iterator of the ejb-ref mappings.
  +   public Iterator getEnvironmentEntries()
  +   {
  +      return environmentEntries.iterator();
  +   }
  +   /** Return an iterator of the ejb-ref mappings.
       @return Iterator of EjbRefMetaData objects.
  +    */
  +   public Iterator getEjbReferences()
  +   {
  +      return ejbReferences.values().iterator();
  +   }
  +   /** Return an iterator of the ejb-local-ref mappings.
  +    @return Iterator of EjbLocalRefMetaData objects.
       */
  -    public Iterator getEjbReferences()
  -    {
  -        return ejbReferences.values().iterator();
  -    }
  -    /** Return an iterator of the resource-ref mappings.
  +   public Iterator getEjbLocalReferences()
  +   {
  +      return ejbLocalReferences.values().iterator();
  +   }
  +
  +   /** Return an iterator of the resource-ref mappings.
       @return Iterator of ResourceRefMetaData objects.
  +    */
  +   public Iterator getResourceReferences()
  +   {
  +      return resourceReferences.values().iterator();
  +   }
  +   /** Return an iterator of the resource-ref mappings.
  +    @return Iterator of ResourceEnvRefMetaData objects.
       */
  -    public Iterator getResourceReferences()
  -    {
  -        return resourceReferences.values().iterator();
  -    }
  -    /** Return the optional security-domain jboss-web.xml element.
  +   public Iterator getResourceEnvReferences()
  +   {
  +      return resourceEnvReferences.values().iterator();
  +   }
  +
  +   /** Return the optional security-domain jboss-web.xml element.
       @return The jndiName of the security manager implementation that is
  -        responsible for security of the web application. May be null if
  -        there was no security-domain specified in the jboss-web.xml
  -        descriptor.
  -    */    
  -    public String getSecurityDomain()
  -    {
  -        return securityDomain;
  -    }
  -
  -    public void importXml(Element element) throws Exception
  -    {
  -        String rootTag = 
element.getOwnerDocument().getDocumentElement().getTagName();
  -        if( rootTag.equals("web-app") )
  -        {
  -            importWebXml(element);
  -        }
  -        else if( rootTag.equals("jboss-web") )
  -        {
  -            importJBossWebXml(element);
  -        }
  -    }
  -
  -    /** Parse the elements of the web-app element used by the integration layer.
  -    */
  -    protected void importWebXml(Element webApp) throws Exception
  -    {
  -        // Parse the web-app/resource-ref elements
  -        Iterator iterator = MetaData.getChildrenByTagName(webApp, "resource-ref");
  -        while( iterator.hasNext() )
  -        {
  -            Element resourceRef = (Element) iterator.next();
  -            ResourceRefMetaData resourceRefMetaData = new ResourceRefMetaData();
  -            resourceRefMetaData.importEjbJarXml(resourceRef);
  -            resourceReferences.put(resourceRefMetaData.getRefName(), 
resourceRefMetaData);
  -        }
  -
  -        // Parse the web-app/env-entry elements
  -        iterator = MetaData.getChildrenByTagName(webApp, "env-entry");
  -        while( iterator.hasNext() )
  -        {
  -            Element envEntry = (Element) iterator.next();
  -            EnvEntryMetaData envEntryMetaData = new EnvEntryMetaData();
  -            envEntryMetaData.importEjbJarXml(envEntry);
  -            environmentEntries.add(envEntryMetaData);
  -        }
  -
  -        // Parse the web-app/ejb-ref elements
  -        iterator = MetaData.getChildrenByTagName(webApp, "ejb-ref");
  -        while( iterator.hasNext() )
  -        {
  -            Element ejbRef = (Element) iterator.next();
  -            EjbRefMetaData ejbRefMetaData = new EjbRefMetaData();
  -            ejbRefMetaData.importEjbJarXml(ejbRef);
  -            ejbReferences.put(ejbRefMetaData.getName(), ejbRefMetaData);
  -        }
  -    }
  -
  -    /** Parse the elements of the jboss-web element used by the integration layer.
  -    */
  -    protected void importJBossWebXml(Element jbossWeb) throws Exception
  -    {
  -        // Parse the jboss-web/securityDomain element
  -        Element securityDomainElement = MetaData.getOptionalChild(jbossWeb, 
"security-domain");
  -        if( securityDomainElement != null )
  -            securityDomain = MetaData.getElementContent(securityDomainElement);
  -
  -        // Parse the jboss-web/resource-ref elements
  -        Iterator iterator = MetaData.getChildrenByTagName(jbossWeb, "resource-ref");
  -        while( iterator.hasNext() )
  -        {
  -            Element resourceRef = (Element) iterator.next();
  -            String resRefName = 
MetaData.getElementContent(MetaData.getUniqueChild(resourceRef, "res-ref-name"));
  -            String jndiName = 
MetaData.getElementContent(MetaData.getUniqueChild(resourceRef, "jndi-name"));
  -            ResourceRefMetaData resourceRefMetaData = (ResourceRefMetaData) 
resourceReferences.get(resRefName);
  -            if( resourceRefMetaData == null )
  -            {
  -                throw new DeploymentException("resource-ref " + resRefName + " 
found in jboss-web.xml but not in web-app.xml");
  -            }
  -            resourceRefMetaData.setResourceName(jndiName);
  -        }
  -
  -        // Parse the jboss-web/ejb-ref elements
  -        iterator = MetaData.getChildrenByTagName(jbossWeb, "ejb-ref");
  -        while( iterator.hasNext() )
  -        {
  -            Element ejbRef = (Element) iterator.next();
  -            String ejbRefName = 
MetaData.getElementContent(MetaData.getUniqueChild(ejbRef, "ejb-ref-name"));
  -            EjbRefMetaData ejbRefMetaData = (EjbRefMetaData) 
ejbReferences.get(ejbRefName);
  -            if( ejbRefMetaData == null )
  -            {
  -                throw new DeploymentException("ejb-ref " + ejbRefName + " found in 
jboss-web.xml but not in web-app.xml");
  -            }
  -            ejbRefMetaData.importJbossXml(ejbRef);
  -        }
  -    }
  +    responsible for security of the web application. May be null if
  +    there was no security-domain specified in the jboss-web.xml
  +    descriptor.
  +    */
  +   public String getSecurityDomain()
  +   {
  +      return securityDomain;
  +   }
  +   
  +   public void importXml(Element element) throws Exception
  +   {
  +      String rootTag = element.getOwnerDocument().getDocumentElement().getTagName();
  +      if( rootTag.equals("web-app") )
  +      {
  +         importWebXml(element);
  +      }
  +      else if( rootTag.equals("jboss-web") )
  +      {
  +         importJBossWebXml(element);
  +      }
  +   }
  +   
  +   /** Parse the elements of the web-app element used by the integration layer.
  +    */
  +   protected void importWebXml(Element webApp) throws Exception
  +   {
  +      // Parse the web-app/resource-ref elements
  +      Iterator iterator = MetaData.getChildrenByTagName(webApp, "resource-ref");
  +      while( iterator.hasNext() )
  +      {
  +         Element resourceRef = (Element) iterator.next();
  +         ResourceRefMetaData resourceRefMetaData = new ResourceRefMetaData();
  +         resourceRefMetaData.importEjbJarXml(resourceRef);
  +         resourceReferences.put(resourceRefMetaData.getRefName(), 
resourceRefMetaData);
  +      }
  +
  +      // Parse the resource-env-ref elements
  +      iterator = MetaData.getChildrenByTagName(webApp, "resource-env-ref");
  +      while (iterator.hasNext())
  +      {
  +         Element resourceRef = (Element) iterator.next();
  +         ResourceEnvRefMetaData refMetaData = new ResourceEnvRefMetaData();
  +         refMetaData.importEjbJarXml(resourceRef);
  +         resourceEnvReferences.put(refMetaData.getRefName(), refMetaData);
  +      }
  +
  +      // Parse the web-app/env-entry elements
  +      iterator = MetaData.getChildrenByTagName(webApp, "env-entry");
  +      while( iterator.hasNext() )
  +      {
  +         Element envEntry = (Element) iterator.next();
  +         EnvEntryMetaData envEntryMetaData = new EnvEntryMetaData();
  +         envEntryMetaData.importEjbJarXml(envEntry);
  +         environmentEntries.add(envEntryMetaData);
  +      }
  +
  +      // Parse the web-app/ejb-ref elements
  +      iterator = MetaData.getChildrenByTagName(webApp, "ejb-ref");
  +      while( iterator.hasNext() )
  +      {
  +         Element ejbRef = (Element) iterator.next();
  +         EjbRefMetaData ejbRefMetaData = new EjbRefMetaData();
  +         ejbRefMetaData.importEjbJarXml(ejbRef);
  +         ejbReferences.put(ejbRefMetaData.getName(), ejbRefMetaData);
  +      }
  +
  +      // Parse the web-app/ejb-local-ref elements
  +      iterator = MetaData.getChildrenByTagName(webApp, "ejb-local-ref");
  +      while( iterator.hasNext() )
  +      {
  +         Element ejbRef = (Element) iterator.next();
  +         EjbLocalRefMetaData ejbRefMetaData = new EjbLocalRefMetaData();
  +         ejbRefMetaData.importEjbJarXml(ejbRef);
  +         ejbLocalReferences.put(ejbRefMetaData.getName(), ejbRefMetaData);
  +      }
  +   }
  +
  +   /** Parse the elements of the jboss-web element used by the integration layer.
  +    */
  +   protected void importJBossWebXml(Element jbossWeb) throws Exception
  +   {
  +      // Parse the jboss-web/securityDomain element
  +      Element securityDomainElement = MetaData.getOptionalChild(jbossWeb, 
"security-domain");
  +      if( securityDomainElement != null )
  +         securityDomain = MetaData.getElementContent(securityDomainElement);
  +      
  +      // Parse the jboss-web/resource-ref elements
  +      Iterator iterator = MetaData.getChildrenByTagName(jbossWeb, "resource-ref");
  +      while( iterator.hasNext() )
  +      {
  +         Element resourceRef = (Element) iterator.next();
  +         String resRefName = 
MetaData.getElementContent(MetaData.getUniqueChild(resourceRef, "res-ref-name"));
  +         ResourceRefMetaData refMetaData = (ResourceRefMetaData) 
resourceReferences.get(resRefName);
  +         if( refMetaData == null )
  +         {
  +            throw new DeploymentException("resource-ref " + resRefName
  +               + " found in jboss-web.xml but not in web.xml");
  +         }
  +         refMetaData.importJbossXml(resourceRef);
  +      }
  +
  +      // Parse the jboss-web/resource-env-ref elements
  +      iterator = MetaData.getChildrenByTagName(jbossWeb, "resource-env-ref");
  +      while( iterator.hasNext() )
  +      {
  +         Element resourceRef = (Element) iterator.next();
  +         String resRefName = 
MetaData.getElementContent(MetaData.getUniqueChild(resourceRef, 
"resource-env-ref-name"));
  +         ResourceEnvRefMetaData refMetaData = (ResourceEnvRefMetaData) 
resourceEnvReferences.get(resRefName);
  +         if( refMetaData == null )
  +         {
  +            throw new DeploymentException("resource-env-ref " + resRefName
  +               + " found in jboss-web.xml but not in web.xml");
  +         }
  +         refMetaData.importJbossXml(resourceRef);
  +      }
  +
  +      // Parse the jboss-web/ejb-ref elements
  +      iterator = MetaData.getChildrenByTagName(jbossWeb, "ejb-ref");
  +      while( iterator.hasNext() )
  +      {
  +         Element ejbRef = (Element) iterator.next();
  +         String ejbRefName = 
MetaData.getElementContent(MetaData.getUniqueChild(ejbRef, "ejb-ref-name"));
  +         EjbRefMetaData ejbRefMetaData = (EjbRefMetaData) 
ejbReferences.get(ejbRefName);
  +         if( ejbRefMetaData == null )
  +         {
  +            throw new DeploymentException("ejb-ref " + ejbRefName
  +               + " found in jboss-web.xml but not in web.xml");
  +         }
  +         ejbRefMetaData.importJbossXml(ejbRef);
  +      }
  +   }
   }
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to