[weld-commits] Weld SVN: r4577 - core/trunk/impl/src/main/java/org/jboss/weld/resources.
weld-commits at lists.jboss.org
weld-commits at lists.jboss.org
Mon Nov 2 19:04:35 EST 2009
Author: pete.muir at jboss.org
Date: 2009-11-02 19:04:35 -0500 (Mon, 02 Nov 2009)
New Revision: 4577
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/resources/ManagerObjectFactory.java
Log:
Slightly less fragile strategy for locaing the manager
Modified: core/trunk/impl/src/main/java/org/jboss/weld/resources/ManagerObjectFactory.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/resources/ManagerObjectFactory.java 2009-11-03 00:01:39 UTC (rev 4576)
+++ core/trunk/impl/src/main/java/org/jboss/weld/resources/ManagerObjectFactory.java 2009-11-03 00:04:35 UTC (rev 4577)
@@ -17,27 +17,30 @@
package org.jboss.weld.resources;
import java.util.Hashtable;
+import java.util.Map.Entry;
import javax.naming.Context;
import javax.naming.Name;
+import javax.naming.NamingException;
import javax.naming.spi.ObjectFactory;
+import org.jboss.weld.BeanManagerImpl;
import org.jboss.weld.Container;
+import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
public class ManagerObjectFactory implements ObjectFactory
{
public Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?, ?> environment) throws Exception
{
- // Temp hack for JBoss Flat Deployment
- if (Container.instance().beanDeploymentArchives().size() == 1)
+ for (Entry<BeanDeploymentArchive, BeanManagerImpl> entry : Container.instance().beanDeploymentArchives().entrySet())
{
- return Container.instance().beanDeploymentArchives().entrySet().iterator().next().getValue().getCurrent();
+ if (entry.getKey().getId().equals("flat"))
+ {
+ return entry.getValue().getCurrent();
+ }
}
- else
- {
- throw new UnsupportedOperationException("Unable to determine which manager to return");
- }
+ throw new NamingException("Unable to locate BeanManager");
}
}
More information about the weld-commits
mailing list