[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