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