Author: pete.muir(a)jboss.org
Date: 2008-12-18 10:34:45 -0500 (Thu, 18 Dec 2008)
New Revision: 549
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbDescriptorCache.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockEjbDescriptor.java
Log:
minor
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
===================================================================
---
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2008-12-18
15:07:57 UTC (rev 548)
+++
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2008-12-18
15:34:45 UTC (rev 549)
@@ -83,7 +83,18 @@
protected void init()
{
super.init();
- ejbDescriptor = (EjbDescriptor<T>)
EjbDescriptorCache.instance().get(getType().getSimpleName() + "/local");
+ Iterable<EjbDescriptor<T>> ejbDescriptors =
EjbDescriptorCache.instance().get(getType());
+ for (EjbDescriptor<T> ejbDescriptor : ejbDescriptors)
+ {
+ if (this.ejbDescriptor == null)
+ {
+ this.ejbDescriptor = ejbDescriptor;
+ }
+ else
+ {
+ throw new RuntimeException("TODO Multiple EJBs have the same bean class!
" + getType() );
+ }
+ }
initRemoveMethod();
initInjectionPoints();
checkEnterpriseBeanTypeAllowed();
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbDescriptorCache.java
===================================================================
---
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbDescriptorCache.java 2008-12-18
15:07:57 UTC (rev 548)
+++
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbDescriptorCache.java 2008-12-18
15:34:45 UTC (rev 549)
@@ -82,9 +82,9 @@
* @param beanClass The EJB class
* @return An iterator
*/
- public Iterable<EjbDescriptor<?>> get(Class<?> beanClass)
+ public <T> Iterable<EjbDescriptor<T>> get(Class<T> beanClass)
{
- return ejbsByBeanClass.get(beanClass);
+ return (Iterable) ejbsByBeanClass.get(beanClass);
}
/**
Modified:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockEjbDescriptor.java
===================================================================
---
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockEjbDescriptor.java 2008-12-18
15:07:57 UTC (rev 548)
+++
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockEjbDescriptor.java 2008-12-18
15:34:45 UTC (rev 549)
@@ -96,5 +96,50 @@
{
return type.isAnnotationPresent(Stateless.class);
}
+
+ @Override
+ public String toString()
+ {
+ StringBuilder builder = new StringBuilder();
+ builder.append(getEjbName());
+ if (isStateful())
+ {
+ builder.append(" (SFSB)");
+ }
+ if (isStateless())
+ {
+ builder.append(" (SLSB)");
+ }
+ if (isSingleton())
+ {
+ builder.append(" (Singleton)");
+ }
+ if (isMessageDriven())
+ {
+ builder.append(" (MDB)");
+ }
+ builder.append("; BeanClass: " + getType() + "; Local Business
Interfaces: " + getLocalBusinessInterfaces());
+ return builder.toString();
+ }
+
+ @Override
+ public boolean equals(Object other)
+ {
+ if (other instanceof EjbDescriptor)
+ {
+ EjbDescriptor<T> that = (EjbDescriptor<T>) other;
+ return this.getEjbName().equals(that.getEjbName());
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return getEjbName().hashCode();
+ }
}
Show replies by date