User: starksm 
  Date: 01/05/10 21:52:02

  Modified:    src/main/org/jboss/metadata BeanMetaData.java
                        ResourceRefMetaData.java
  Log:
  Allow the specification of a resource-ref jndi name or URL in the
  jboss.xml resource-ref element for cases where the extra indirection
  of a resource-managers specification isn't worth the trouble
  
  Revision  Changes    Path
  1.16      +2 -4      jboss/src/main/org/jboss/metadata/BeanMetaData.java
  
  Index: BeanMetaData.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/metadata/BeanMetaData.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- BeanMetaData.java 2001/02/27 16:37:53     1.15
  +++ BeanMetaData.java 2001/05/11 04:52:02     1.16
  @@ -25,7 +25,7 @@
    *   @see <related>
    *   @author <a href="mailto:[EMAIL PROTECTED]";>Sebastien Alborini</a>
    *   @author Peter Antman ([EMAIL PROTECTED])
  - *   @version $Revision: 1.15 $
  + *   @version $Revision: 1.16 $
    */
   public abstract class BeanMetaData extends MetaData {
       // Constants -----------------------------------------------------
  @@ -251,14 +251,12 @@
                while (iterator.hasNext()) {
                        Element resourceRef = (Element)iterator.next();
                        String resRefName = 
getElementContent(getUniqueChild(resourceRef, "res-ref-name"));
  -                     String resourceName = 
getElementContent(getUniqueChild(resourceRef, "resource-name"));
                        ResourceRefMetaData resourceRefMetaData = 
(ResourceRefMetaData)resourceReferences.get(resRefName);
               
               if (resourceRefMetaData == null) {
                   throw new DeploymentException("resource-ref " + resRefName + " 
found in jboss.xml but not in ejb-jar.xml");
               }
  -            
  -                 resourceRefMetaData.setResourceName(resourceName);
  +            resourceRefMetaData.importJbossXml(resourceRef);
                }
                
                // set the external ejb-references (optional)
  
  
  
  1.4       +33 -9     jboss/src/main/org/jboss/metadata/ResourceRefMetaData.java
  
  Index: ResourceRefMetaData.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/metadata/ResourceRefMetaData.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ResourceRefMetaData.java  2000/12/07 15:45:01     1.3
  +++ ResourceRefMetaData.java  2001/05/11 04:52:02     1.4
  @@ -15,19 +15,29 @@
    *      
    *   @see <related>
    *   @author <a href="mailto:[EMAIL PROTECTED]";>Sebastien Alborini</a>
  - *   @version $Revision: 1.3 $
  + *   @version $Revision: 1.4 $
    */
   public class ResourceRefMetaData extends MetaData {
       // Constants -----------------------------------------------------
       
       // Attributes ----------------------------------------------------
  -     private String refName;      // the name used in the bean code (from 
ejb-jar.xml)
  -     private String name;         // the name of the resource used by jboss
  -     // the jndi name will be found in the ApplicationMetaData where resources are 
declared
  -     
  +    /** The ejb-jar.xml/../resource-ref/res-ref-name element used by the bean code 
*/
  +     private String refName;
  +    /** The jboss.xml/../resource-ref/resource-name value that maps to a 
resource-manager */
  +     private String name;
  +    /** The jndi name of the deployed resource, or the URL in the case of
  +     a java.net.URL resource type. This comes from either the:
  +     jboss.xml/../resource-ref/jndi-name element value or the
  +     jboss.xml/../resource-ref/res-url element value or the
  +     jboss.xml/../resource-manager/res-jndi-name element value
  +     jboss.xml/../resource-manager/res-url element value
  +     */
  +     private String jndiName;
  +     /** The ejb-jar.xml/../resource-ref/res-type java classname of the resource */
       private String type;
  +    /** The ejb-jar.xml/../resource-ref/res-auth value */
        private boolean containerAuth;
  -     
  +
       // Static --------------------------------------------------------
       
       // Constructors --------------------------------------------------
  @@ -49,7 +59,7 @@
        public void setResourceName(String resName) {
                name = resName;
        }
  -     
  +    public String getJndiName() { return jndiName; }
        public String getType() { return type; }
   
        public boolean isContainerAuth() { return containerAuth; }
  @@ -71,9 +81,23 @@
        }
        
        public void importJbossXml(Element element) throws DeploymentException {
  -             name = getElementContent(getUniqueChild(element, "resource-name"));
  +        // Look for the resource-ref/resource-name element
  +        Element child = getOptionalChild(element, "resource-name");
  +        if( child == null )
  +        {
  +            // There must be a resource-ref/res-url value if this is a URL resource
  +            if( type.equals("java.net.URL") )
  +                jndiName = getElementContent(getUniqueChild(element, "res-url"));
  +            // There must be a resource-ref/jndi-name value otherwise
  +            else
  +                jndiName = getElementContent(getUniqueChild(element, "jndi-name"));
  +        }
  +        else
  +        {
  +            name = getElementContent(child);
  +        }
        }
  -    
  +
        // Package protected ---------------------------------------------
       
       // Protected -----------------------------------------------------
  
  
  

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

Reply via email to