User: starksm
Date: 01/05/22 19:42:22
Modified: src/main/org/jboss/metadata Tag: Branch_2_2
BeanMetaData.java EnvEntryMetaData.java
ResourceRefMetaData.java
Added: src/main/org/jboss/metadata Tag: Branch_2_2 WebMetaData.java
Log:
Update metadata classes for web container support changes
Revision Changes Path
No revision
No revision
1.15.2.1 +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.15.2.1
diff -u -r1.15 -r1.15.2.1
--- BeanMetaData.java 2001/02/27 16:37:53 1.15
+++ BeanMetaData.java 2001/05/23 02:42:22 1.15.2.1
@@ -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.15.2.1 $
*/
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.2.2.1 +61 -20 jboss/src/main/org/jboss/metadata/EnvEntryMetaData.java
Index: EnvEntryMetaData.java
===================================================================
RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/metadata/EnvEntryMetaData.java,v
retrieving revision 1.2
retrieving revision 1.2.2.1
diff -u -r1.2 -r1.2.2.1
--- EnvEntryMetaData.java 2000/12/07 15:45:01 1.2
+++ EnvEntryMetaData.java 2001/05/23 02:42:22 1.2.2.1
@@ -6,23 +6,27 @@
*/
package org.jboss.metadata;
+import javax.naming.Context;
+import javax.naming.NamingException;
+
import org.w3c.dom.Element;
import org.jboss.ejb.DeploymentException;
+import org.jboss.naming.Util;
/**
* <description>
*
* @see <related>
* @author <a href="mailto:[EMAIL PROTECTED]">Sebastien Alborini</a>
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.2.2.1 $
*/
public class EnvEntryMetaData extends MetaData {
// Constants -----------------------------------------------------
// Attributes ----------------------------------------------------
- private String name;
- private String type;
+ private String name;
+ private String type;
private String value;
// Static --------------------------------------------------------
@@ -31,24 +35,61 @@
}
// Public --------------------------------------------------------
-
- public String getName() { return name; }
-
- public String getType() { return type; }
- public String getValue() { return value; }
+ public String getName() { return name; }
+
+ public String getType() { return type; }
+
+ public String getValue() { return value; }
public void importEjbJarXml(Element element) throws DeploymentException {
- name = getElementContent(getUniqueChild(element, "env-entry-name"));
- type = getElementContent(getUniqueChild(element, "env-entry-type"));
- value = getElementContent(getUniqueChild(element, "env-entry-value"));
- }
-
- // Package protected ---------------------------------------------
-
- // Protected -----------------------------------------------------
-
- // Private -------------------------------------------------------
-
- // Inner classes -------------------------------------------------
+ name = getElementContent(getUniqueChild(element, "env-entry-name"));
+ type = getElementContent(getUniqueChild(element, "env-entry-type"));
+ value = getElementContent(getUniqueChild(element, "env-entry-value"));
+ }
+
+ public static void bindEnvEntry(Context ctx, EnvEntryMetaData entry)
+ throws ClassNotFoundException, NamingException
+ {
+ ClassLoader loader = EnvEntryMetaData.class.getClassLoader();
+ Class type = loader.loadClass(entry.getType());
+ if( type == String.class )
+ {
+ Util.bind(ctx, entry.getName(), entry.getValue());
+ }
+ else if( type == Integer.class )
+ {
+ Util.bind(ctx, entry.getName(), new Integer(entry.getValue()));
+ }
+ else if( type == Long.class )
+ {
+ Util.bind(ctx, entry.getName(), new Long(entry.getValue()));
+ }
+ else if( type == Double.class )
+ {
+ Util.bind(ctx, entry.getName(), new Double(entry.getValue()));
+ }
+ else if( type == Float.class )
+ {
+ Util.bind(ctx, entry.getName(), new Float(entry.getValue()));
+ }
+ else if( type == Byte.class )
+ {
+ Util.bind(ctx, entry.getName(), new Byte(entry.getValue()));
+ }
+ else if( type == Short.class )
+ {
+ Util.bind(ctx, entry.getName(), new Short(entry.getValue()));
+ }
+ else if( type == Boolean.class )
+ {
+ Util.bind(ctx, entry.getName(), new Boolean(entry.getValue()));
+ }
+ else
+ {
+ // Default to a String type
+ Util.bind(ctx, entry.getName(), entry.getValue());
+ }
+ }
+
}
1.3.2.1 +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.3.2.1
diff -u -r1.3 -r1.3.2.1
--- ResourceRefMetaData.java 2000/12/07 15:45:01 1.3
+++ ResourceRefMetaData.java 2001/05/23 02:42:22 1.3.2.1
@@ -15,19 +15,29 @@
*
* @see <related>
* @author <a href="mailto:[EMAIL PROTECTED]">Sebastien Alborini</a>
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.3.2.1 $
*/
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 -----------------------------------------------------
No revision
No revision
1.2.2.1 +1 -1 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.2
retrieving revision 1.2.2.1
diff -u -r1.2 -r1.2.2.1
--- WebMetaData.java 2001/05/10 03:20:34 1.2
+++ WebMetaData.java 2001/05/23 02:42:22 1.2.2.1
@@ -22,7 +22,7 @@
* @see org.jboss.web.AbstractWebContainer
* @author [EMAIL PROTECTED]
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.2.2.1 $
*/
public class WebMetaData implements XmlLoadable
{
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development