[jboss-cvs] JBossAS SVN: r75686 - in projects/metadata/trunk/src: main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Jul 11 09:11:48 EDT 2008


Author: emuckenhuber
Date: 2008-07-11 09:11:48 -0400 (Fri, 11 Jul 2008)
New Revision: 75686

Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/BeanMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/SessionMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/EjbDeploymentSummary.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta42/unit/Default2xNamingStrategyTestCase.java
Log:
[JBMETA-68] fixing regressions

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/BeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/BeanMetaData.java	2008-07-11 12:55:52 UTC (rev 75685)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/BeanMetaData.java	2008-07-11 13:11:48 UTC (rev 75686)
@@ -527,11 +527,10 @@
    {
       InvokerBindingMetaData binding = getDelegate().determineInvokerBinding(invokerName);
       String bindingName = binding.getJndiName();
-      if(bindingName == null || bindingName.length()==0)
+      if(bindingName == null || bindingName.length() == 0)
       {
-         bindingName = getEjbName();
+         bindingName = isMessageDriven() ? getEjbName() : getJndiName();
       }
-      
       return bindingName;
    }
    
@@ -541,7 +540,6 @@
     * @return the jndi name
     */
    public abstract String getJndiName();
-   
 
    /**
     * Gets the JNDI name under with the local home interface should be bound.
@@ -551,7 +549,7 @@
     */
    public String getLocalJndiName()
    {
-      return getDelegate().getLocalJndiName();
+      return getDelegate().determineLocalJndiName();
    }
 
    /**
@@ -561,7 +559,7 @@
     */
    public String getContainerObjectNameJndiName()
    {
-      return getHome() != null ? getJndiName() : this.getEjbName() + "/local";
+      return getHome() != null ? getJndiName() : getLocalJndiName();
    }
 
    /**

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/SessionMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/SessionMetaData.java	2008-07-11 12:55:52 UTC (rev 75685)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/SessionMetaData.java	2008-07-11 13:11:48 UTC (rev 75686)
@@ -26,6 +26,7 @@
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
 import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.spec.SessionBeanMetaData;
 import org.jboss.metadata.javaee.spec.SecurityRoleRefsMetaData;
 import org.jboss.metadata.spi.MetaData;
 
@@ -135,7 +136,7 @@
    @Override
    public String getJndiName()
    {
-      return getDelegate().getJndiName();
+      return getDelegate().determineJndiName();
    }
 
    @Override

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/EjbDeploymentSummary.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/EjbDeploymentSummary.java	2008-07-11 12:55:52 UTC (rev 75685)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/EjbDeploymentSummary.java	2008-07-11 13:11:48 UTC (rev 75686)
@@ -21,7 +21,6 @@
  */
 package org.jboss.metadata.ejb.jboss.jndipolicy.spi;
 
-import org.jboss.logging.Logger;
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
 
@@ -37,130 +36,117 @@
 {
    /** The serialVersionUID. */
    private static final long serialVersionUID = 2559283688891890756L;
-   private static final Logger log = Logger.getLogger(EjbDeploymentSummary.class);
 
    // Instance Members
-   
+   private String ejbName;
+
+   private String beanClassName;
+
+   private boolean isLocal;
+
+   private boolean isStateful;
+
+   private boolean isHome;
+
+   private boolean isService;
    private JBossEnterpriseBeanMetaData beanMD;
 
    public EjbDeploymentSummary()
    {
       
    }
-   
    public EjbDeploymentSummary(JBossEnterpriseBeanMetaData beanMD, DeploymentSummary dsummary)
    {
       super(dsummary);
+      // 
+      this.setBeanClassName(beanMD.getEjbClass());
+      this.setEjbName(beanMD.getEjbName());
+      this.setService(beanMD.isService());
+      
+      if(beanMD instanceof JBossSessionBeanMetaData)
+      {
+         JBossSessionBeanMetaData sbeanMD = (JBossSessionBeanMetaData) beanMD;
+         this.setStateful(sbeanMD.isStateful());
+         if(sbeanMD.getHome() != null && sbeanMD.getHome().length() > 0)
+            this.setHome(true);
+         if(sbeanMD.getLocal() != null && sbeanMD.getLocal().length() > 0)
+            this.setLocal(true);
+         // Is a local-home also a home?
+      }
       this.beanMD = beanMD;
    }
 
    // Accessors / Mutators
 
-   public JBossEnterpriseBeanMetaData getBeanMD()
-   {
-      return beanMD;
-   }
-
-   public void setBeanMD(JBossEnterpriseBeanMetaData beanMD)
-   {
-      this.beanMD = beanMD;
-   }
-   
-   /*
-    * DEPRECATED BELOW THIS MARKER ---------------------------------------------||
-    */
-   
-   @Deprecated
-   private static final String DEPRECATION_MESSAGE = "This field is no longer represented directly by "
-         + EjbDeploymentSummary.class.getName() + "; use the bean metadata instead.";
-   
-   @Deprecated
    public String getEjbName()
    {
-      // Warn and redirect
-      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
-      return this.getBeanMD().getEjbName();
+      return ejbName;
    }
 
-   @Deprecated
    public void setEjbName(String ejbName)
    {
-      // Warn and do nothing
-      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
+      this.ejbName = ejbName;
    }
 
-   @Deprecated
    public boolean isLocal()
    {
-      // Warn
-      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
-      return false;
+      return isLocal;
    }
 
-   @Deprecated
    public void setLocal(boolean isLocal)
    {
-      // Warn
-      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
+      this.isLocal = isLocal;
    }
 
-   @Deprecated
    public boolean isStateful()
    {
-      // Warn and redirect
-      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
-      return this.getBeanMD().isSession() ? ((JBossSessionBeanMetaData)this.getBeanMD()).isStateful() : false;
+      return isStateful;
    }
 
-   @Deprecated
    public void setStateful(boolean isStateful)
    {
-      // Warn and do nothing
-      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
+      this.isStateful = isStateful;
    }
 
-   @Deprecated
    public boolean isHome()
    {
-      // Warn and do nothing
-      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
-      return false;
+      return isHome;
    }
 
-   @Deprecated
    public void setHome(boolean isHome)
    {
-      // Warn and do nothing
-      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
+      this.isHome = isHome;
    }
 
-   @Deprecated
    public boolean isService()
    {
-      // Warn and redirect
-      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
-      return this.getBeanMD().isSession() ? ((JBossSessionBeanMetaData)this.getBeanMD()).isService() : false;
+      return isService;
    }
 
-   @Deprecated
    public void setService(boolean isService)
    {
-      // Warn and do nothing
-      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
+      this.isService = isService;
    }
 
-   @Deprecated
+
    public String getBeanClassName()
    {
-      // Warn and redirect
-      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
-      return this.getBeanMD().getEjbClass();
+      return beanClassName;
    }
 
-   @Deprecated
    public void setBeanClassName(String beanClassName)
    {
-      // Warn and do nothing
-      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
+      this.beanClassName = beanClassName;
    }
+
+   
+   public JBossEnterpriseBeanMetaData getBeanMD()
+   {
+      return beanMD;
+   }
+   public void setBeanMD(JBossEnterpriseBeanMetaData beanMD)
+   {
+      this.beanMD = beanMD;
+   }
+
 }

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java	2008-07-11 12:55:52 UTC (rev 75685)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java	2008-07-11 13:11:48 UTC (rev 75686)
@@ -353,6 +353,26 @@
       assertTrue("determinedJndiName is not one of the remote-binding values", determinedValid);
    }
    
+   public void testRemoteBindingsWithoutDecorator() throws Exception
+   {
+      JBossMetaData jboss = (JBossMetaData) unmarshal("JBoss50_testRemoteBindings.xml");
+      
+      assertEquals(1, jboss.getEnterpriseBeans().size());
+      
+      JBossSessionBeanMetaData sessionBean = (JBossSessionBeanMetaData) jboss.getEnterpriseBean("StatefulBean");
+      String determinedJndiName = sessionBean.determineJndiName();
+      boolean determinedValid = false;
+      for(int i = 0; i < 2; i++)
+      {
+         RemoteBindingMetaData remoteBinding = sessionBean.getRemoteBindings().get(i);
+         String jndiName = "jndiName" + (i + 1);
+         assertEquals(jndiName, remoteBinding.getJndiName());
+         assertEquals("clientBindUrl" + (i + 1), remoteBinding.getClientBindUrl());
+         determinedValid |= jndiName.equals(determinedJndiName);
+      }
+      assertTrue("determinedJndiName is not one of the remote-binding values", determinedValid);
+   }
+   
    /**
     * A test for resource-adapter-name (ejb3 jca/inflow unit test)
     */

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta42/unit/Default2xNamingStrategyTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta42/unit/Default2xNamingStrategyTestCase.java	2008-07-11 12:55:52 UTC (rev 75685)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta42/unit/Default2xNamingStrategyTestCase.java	2008-07-11 13:11:48 UTC (rev 75686)
@@ -21,8 +21,12 @@
  */
 package org.jboss.test.metadata.jbmeta42.unit;
 
+import java.util.Iterator;
+
 import junit.framework.Test;
 
+import org.jboss.metadata.ApplicationMetaData;
+import org.jboss.metadata.BeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
 import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
 import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.BasicJndiBindingPolicy;
@@ -40,6 +44,7 @@
  * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
  * @version $Revision$
  */
+ at SuppressWarnings("deprecation")
 public class Default2xNamingStrategyTestCase extends AbstractEJBEverythingTest
 {
    public static Test suite()
@@ -72,28 +77,64 @@
       
       assertSessionBeans((JBossSessionBeanMetaData) mergedMetaData.getEnterpriseBean("session1EjbName"));
       assertSessionBeans((JBossSessionBeanMetaData) mergedMetaData.getEnterpriseBean("session2EjbName"));
+    
+      assertLegacyBeanMetaData(mergedMetaData);
    }
    
    protected void assertSessionBeans(JBossSessionBeanMetaData metaData)
    {
+      assertNotNull(metaData);
+      
+      assertLocalHomeWithoutDecorator(metaData);
+      assertHomeWithoutDecorator(metaData);
+      
       metaData = new JBossSessionPolicyDecorator(metaData, new BasicJndiBindingPolicy());
-      
       assertNotNull(metaData);
       
       assertLocalHome(metaData);
       assertHome(metaData);
    }
-
    
+   protected void assertLegacyBeanMetaData(JBossMetaData metaData)
+   {
+      ApplicationMetaData appMetaData = new ApplicationMetaData(metaData);
+      
+      Iterator i = appMetaData.getEnterpriseBeans();
+      while(i.hasNext())
+      {
+         BeanMetaData bm = (BeanMetaData) i.next();
+         assertLegacyBeanMetaDataLocalHome(bm);
+         // 
+         if(!bm.isMessageDriven())
+         {
+            assertLegacyBeanMetaDataHome(bm);
+         }
+      }
+   }
+   
    protected void assertLocalHome(JBossSessionBeanMetaData metaData)
    {
-      String expected = "local/" + metaData.getEjbName() + '@' + System.identityHashCode(metaData.getEjbName());
+      String expected = getLocalHomeJndiName(metaData.getEjbName());
       
       assertEquals(expected, JbossSessionBeanJndiNameResolver.resolveLocalBusinessDefaultJndiName(metaData));
       assertEquals(expected, JbossSessionBeanJndiNameResolver.resolveLocalHomeJndiName(metaData));
       assertEquals(expected, JbossSessionBeanJndiNameResolver.resolveJndiName(metaData,KnownInterfaces.LOCAL_HOME));
+      
+      // Backward compability
+      assertEquals(expected, metaData.determineLocalJndiName());
+      assertEquals(expected, metaData.getLocalHomeJndiName());
+      assertEquals(expected, metaData.getLocalJndiName());
+      assertEquals(expected, metaData.determineResolvedJndiName(KnownInterfaces.LOCAL_HOME));
    }
    
+   protected void assertLocalHomeWithoutDecorator(JBossSessionBeanMetaData metaData)
+   {
+      String expected = getLocalHomeJndiName(metaData.getEjbName());
+      
+      assertEquals(expected, metaData.determineLocalJndiName());
+      assertEquals(expected, metaData.determineResolvedJndiName(KnownInterfaces.LOCAL_HOME));
+   }
+   
    protected void assertHome(JBossSessionBeanMetaData metaData)
    {
       assertEquals(metaData.getEjbName(), JbossSessionBeanJndiNameResolver
@@ -101,6 +142,33 @@
       assertEquals(metaData.getEjbName(), JbossSessionBeanJndiNameResolver
             .resolveRemoteHomeJndiName(metaData));
       assertEquals(metaData.getEjbName(), JbossSessionBeanJndiNameResolver.resolveJndiName(metaData,KnownInterfaces.HOME));
+      
+      // Backward compability
+      assertEquals(metaData.getEjbName(), metaData.determineJndiName());
+      assertEquals(metaData.getEjbName(), metaData.getJndiName());
+      assertEquals(metaData.getEjbName(), metaData.getHomeJndiName());
+      assertEquals(metaData.getEjbName(), metaData.determineResolvedJndiName(KnownInterfaces.HOME));
    }
-}
-
+   
+   protected void assertHomeWithoutDecorator(JBossSessionBeanMetaData metaData)
+   {
+      assertEquals(metaData.getEjbName(), metaData.determineJndiName());
+      assertEquals(metaData.getEjbName(), metaData.determineResolvedJndiName(KnownInterfaces.HOME));
+   }
+   
+   protected void assertLegacyBeanMetaDataLocalHome(BeanMetaData metaData)
+   {
+      String expected = getLocalHomeJndiName(metaData.getEjbName());
+      assertEquals(expected, metaData.getLocalJndiName());
+   }
+   
+   protected void assertLegacyBeanMetaDataHome(BeanMetaData metaData)
+   {
+      assertEquals(metaData.getEjbName(), metaData.getJndiName());
+   }
+   
+   protected String getLocalHomeJndiName(String beanName)
+   {
+      return "local/" + beanName + '@' + System.identityHashCode(beanName);
+   }
+}
\ No newline at end of file




More information about the jboss-cvs-commits mailing list