Author: gavin.king(a)jboss.com
Date: 2008-11-08 13:01:05 -0500 (Sat, 08 Nov 2008)
New Revision: 281
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/DefaultEnterpriseBeanLookup.java
Removed:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbManager.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/EnterpriseConstructor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractEnterpriseBeanModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java
Log:
update to latest spec def of enterprise bean lookup algo
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2008-11-07
18:34:54 UTC (rev 280)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2008-11-08
18:01:05 UTC (rev 281)
@@ -28,16 +28,20 @@
import javax.webbeans.manager.Interceptor;
import javax.webbeans.manager.Manager;
+import org.jboss.webbeans.bean.SimpleBean;
import org.jboss.webbeans.contexts.ApplicationContext;
import org.jboss.webbeans.contexts.DependentContext;
import org.jboss.webbeans.contexts.RequestContext;
import org.jboss.webbeans.contexts.SessionContext;
-import org.jboss.webbeans.ejb.EjbManager;
+import org.jboss.webbeans.ejb.DefaultEnterpriseBeanLookup;
import org.jboss.webbeans.event.EventBus;
import org.jboss.webbeans.exceptions.NameResolutionLocation;
import org.jboss.webbeans.exceptions.TypesafeResolutionLocation;
import org.jboss.webbeans.injectable.Injectable;
import org.jboss.webbeans.injectable.ResolverInjectable;
+import org.jboss.webbeans.introspector.AnnotatedClass;
+import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
+import org.jboss.webbeans.model.bean.SimpleBeanModel;
import org.jboss.webbeans.util.ClientProxy;
import org.jboss.webbeans.util.ProxyPool;
import org.jboss.webbeans.util.Reflections;
@@ -76,7 +80,6 @@
private List<Class<? extends Annotation>> enabledDeploymentTypes;
private ModelManager modelManager;
- private EjbManager ejbLookupManager;
private EventBus eventBus;
private ResolutionManager resolutionManager;
private ContextMap contextMap;
@@ -90,13 +93,14 @@
initEnabledDeploymentTypes(null);
initContexts(null);
this.modelManager = new ModelManager();
- this.ejbLookupManager = new EjbManager();
this.beans = new CopyOnWriteArrayList<Bean<?>>();
this.eventBus = new EventBus();
this.resolutionManager = new ResolutionManager(this);
this.proxyPool = new ProxyPool(this);
this.decorators = new HashSet<Decorator>();
this.interceptors = new HashSet<Interceptor>();
+ SimpleAnnotatedClass<DefaultEnterpriseBeanLookup> sc = new
SimpleAnnotatedClass<DefaultEnterpriseBeanLookup>(DefaultEnterpriseBeanLookup.class,
new HashMap<Class<? extends Annotation>, Annotation>());
+ addBean( new SimpleBean<DefaultEnterpriseBeanLookup>( new
SimpleBeanModel<DefaultEnterpriseBeanLookup>(sc, null, this), this ) );
}
protected void initEnabledDeploymentTypes(List<Class<? extends
Annotation>> enabledDeploymentTypes)
@@ -172,11 +176,6 @@
return this.modelManager;
}
- public EjbManager getEjbManager()
- {
- return ejbLookupManager;
- }
-
public <T> Set<Bean<T>> resolveByType(Class<T> type,
Annotation... bindingTypes)
{
return resolveByType(new ResolverInjectable<T>(type, bindingTypes,
getModelManager()));
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/DefaultEnterpriseBeanLookup.java
===================================================================
---
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/DefaultEnterpriseBeanLookup.java
(rev 0)
+++
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/DefaultEnterpriseBeanLookup.java 2008-11-08
18:01:05 UTC (rev 281)
@@ -0,0 +1,55 @@
+package org.jboss.webbeans.ejb;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.webbeans.CreationException;
+import javax.webbeans.Standard;
+import javax.webbeans.manager.EnterpriseBeanLookup;
+
+import org.jboss.webbeans.util.JNDI;
+
+@Standard
+public class DefaultEnterpriseBeanLookup implements EnterpriseBeanLookup
+{
+ public Object lookup(String ejbName)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+ private Map<String, EjbMetaData<?>> ejbMetaDataMap = new
HashMap<String, EjbMetaData<?>>();
+
+ // TODO Should this be static?
+ public <T> T lookup(EjbMetaData<T> ejb)
+ {
+ if (ejb.getEjbLinkJndiName() != null)
+ {
+ return JNDI.lookup(ejb.getEjbLinkJndiName(), ejb.getType());
+ }
+ try
+ {
+ return JNDI.lookup(ejb.getDefaultJndiName(), ejb.getType());
+ }
+ catch (Exception e)
+ {
+ throw new CreationException("could not find the EJB in JNDI", e);
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ public <T> EjbMetaData<T> registerEjbMetaData(Class<? extends T>
clazz)
+ {
+ // TODO replace with an application lookup
+ if (!ejbMetaDataMap.containsKey(clazz))
+ {
+ EjbMetaData<T> ejbMetaData = new EjbMetaData<T>(clazz);
+ ejbMetaDataMap.put(ejbMetaData.getEjbName(), ejbMetaData);
+ return ejbMetaData;
+ }
+ else
+ {
+ return (EjbMetaData<T>) ejbMetaDataMap.get(clazz);
+ }
+
+ }
+}
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbManager.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbManager.java 2008-11-07
18:34:54 UTC (rev 280)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbManager.java 2008-11-08
18:01:05 UTC (rev 281)
@@ -1,59 +0,0 @@
-package org.jboss.webbeans.ejb;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.webbeans.manager.EnterpriseBeanLookup;
-
-import org.jboss.webbeans.util.JNDI;
-
-
-public class EjbManager
-{
-
- private Map<Class<?>, EjbMetaData<?>> ejbMetaDataMap = new
HashMap<Class<?>, EjbMetaData<?>>();
-
- private EnterpriseBeanLookup enterpriseBeanLookup;
-
- public EjbManager()
- {
- // TODO Write enterpriseBeanLookup instantiation
- }
-
- // TODO Should this be static?
- public <T> T lookup(EjbMetaData<T> ejb)
- {
- if (ejb.getEjbLinkJndiName() != null)
- {
- return (T) JNDI.lookup(ejb.getEjbLinkJndiName(), ejb.getType());
- }
- try
- {
- // TODO How is a JNDI lookup failure shown to us?
- return (T) JNDI.lookup(ejb.getDefaultJndiName(), ejb.getType());
- }
- catch (Exception e)
- {
-
- }
- return (T) enterpriseBeanLookup.lookup(ejb.getEjbName());
- }
-
- @SuppressWarnings("unchecked")
- public <T> EjbMetaData<T> getEjbMetaData(Class<? extends T> clazz)
- {
- // TODO replace with an application lookup
- if (!ejbMetaDataMap.containsKey(clazz))
- {
- EjbMetaData<T> ejbMetaData = new EjbMetaData<T>(clazz);
- ejbMetaDataMap.put(clazz, ejbMetaData);
- return ejbMetaData;
- }
- else
- {
- return (EjbMetaData<T>) ejbMetaDataMap.get(clazz);
- }
-
- }
-
-}
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/EnterpriseConstructor.java
===================================================================
---
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/EnterpriseConstructor.java 2008-11-07
18:34:54 UTC (rev 280)
+++
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injectable/EnterpriseConstructor.java 2008-11-08
18:01:05 UTC (rev 281)
@@ -1,5 +1,7 @@
package org.jboss.webbeans.injectable;
+import javax.webbeans.manager.EnterpriseBeanLookup;
+
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.ejb.EjbMetaData;
@@ -20,7 +22,7 @@
if (manager instanceof ManagerImpl)
{
ManagerImpl containerImpl = (ManagerImpl) manager;
- return containerImpl.getEjbManager().lookup(ejbMetaData);
+ return (T)
containerImpl.getInstanceByType(EnterpriseBeanLookup.class).lookup(ejbMetaData.getEjbName());
}
else
{
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractEnterpriseBeanModel.java
===================================================================
---
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractEnterpriseBeanModel.java 2008-11-07
18:34:54 UTC (rev 280)
+++
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractEnterpriseBeanModel.java 2008-11-08
18:01:05 UTC (rev 281)
@@ -28,7 +28,7 @@
protected void init(ManagerImpl container)
{
super.init(container);
- ejbMetaData = container.getEjbManager().getEjbMetaData(getType());
+ ejbMetaData = new EjbMetaData<T>(getType());
checkEnterpriseBeanTypeAllowed();
checkEnterpriseScopeAllowed();
checkConflictingRoles();
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java
===================================================================
---
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java 2008-11-07
18:34:54 UTC (rev 280)
+++
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/EnterpriseBeanModel.java 2008-11-08
18:01:05 UTC (rev 281)
@@ -79,7 +79,7 @@
}
-// TODO loggigng
+// TODO logging
protected void initRemoveMethod(ManagerImpl container)
{
if (getEjbMetaData().isStateful())
Show replies by date