[jboss-cvs] JBossAS SVN: r74536 - projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Jun 13 10:18:41 EDT 2008


Author: ALRubinger
Date: 2008-06-13 10:18:41 -0400 (Fri, 13 Jun 2008)
New Revision: 74536

Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java
Log:
[JBMETA-57] JBossEnterpriseBeanMetaData to honor @JndiBindingPolicy metadata

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java	2008-06-13 13:37:10 UTC (rev 74535)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java	2008-06-13 14:18:41 UTC (rev 74536)
@@ -625,6 +625,7 @@
     *    {@link #getJndiBindingPolicy()} is null.
     * @return the resolved jndi name
     */
+   @SuppressWarnings("unchecked")
    public String determineResolvedJndiName(String iface,
          DefaultJndiBindingPolicy defaultPolicy)
    {
@@ -643,8 +644,32 @@
       {
          try
          {
-            // Create a JNDI Policy from the Deployment Summary
-            policy = createPolicy(dsummary.getLoader(), null);
+            /*
+             * Create a JNDI Policy from the Deployment Summary
+             */ 
+            
+            // Obtain the JNDI Policy Class Name
+            String jndiPolicyClassName = this.getJndiBindingPolicy();
+            if (jndiPolicyClassName != null && jndiPolicyClassName.trim().equals(""))
+            {
+               jndiPolicyClassName = null;
+            }
+            
+            // Get the CL
+            ClassLoader loader = dsummary.getLoader();
+            
+            // Load the Class
+            Class<? extends DefaultJndiBindingPolicy> jndiPolicyClass = null;
+            if (jndiPolicyClassName != null)
+            {
+               Class<?> clazz = loader.loadClass(jndiPolicyClassName);
+               assert DefaultJndiBindingPolicy.class.isAssignableFrom(clazz) : "Specified " + jndiPolicyClassName
+                     + " is not of expected type " + DefaultJndiBindingPolicy.class.getName();
+               jndiPolicyClass = (Class<? extends DefaultJndiBindingPolicy>) clazz;
+            }
+            
+            // Create Policy
+            policy = createPolicy(loader, jndiPolicyClass);
          }
          catch (Exception e)
          {




More information about the jboss-cvs-commits mailing list