[weld-commits] Weld SVN: r4578 - core/trunk/tests/src/main/java/org/jboss/weld/test.
weld-commits at lists.jboss.org
weld-commits at lists.jboss.org
Mon Nov 2 19:05:50 EST 2009
Author: pete.muir at jboss.org
Date: 2009-11-02 19:05:50 -0500 (Mon, 02 Nov 2009)
New Revision: 4578
Added:
core/trunk/tests/src/main/java/org/jboss/weld/test/BeanManagerLocator.java
Log:
Split out how we locate the bean manager for the test
Added: core/trunk/tests/src/main/java/org/jboss/weld/test/BeanManagerLocator.java
===================================================================
--- core/trunk/tests/src/main/java/org/jboss/weld/test/BeanManagerLocator.java (rev 0)
+++ core/trunk/tests/src/main/java/org/jboss/weld/test/BeanManagerLocator.java 2009-11-03 00:05:50 UTC (rev 4578)
@@ -0,0 +1,61 @@
+package org.jboss.weld.test;
+
+import org.jboss.testharness.impl.runner.servlet.ServletTestRunner;
+import org.jboss.weld.BeanManagerImpl;
+import org.jboss.weld.Container;
+import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
+import org.jboss.weld.servlet.ServletHelper;
+
+public class BeanManagerLocator
+{
+
+ public static BeanManagerLocator INSTANCE = new BeanManagerLocator();
+
+ private BeanManagerLocator()
+ {
+ // TODO Auto-generated constructor stub
+ }
+
+ private BeanDeploymentArchive testArchive;
+
+ public BeanManagerImpl locate()
+ {
+ if (ServletTestRunner.getCurrentServletContext() != null)
+ {
+ return ServletHelper.getModuleBeanManager(ServletTestRunner.getCurrentServletContext());
+ }
+ else if (getTestArchive() != null)
+ {
+ return Container.instance().beanDeploymentArchives().get(getTestArchive());
+ }
+ else
+ {
+ throw new IllegalStateException();
+ }
+ }
+
+ private BeanDeploymentArchive getTestArchive()
+ {
+ if (testArchive == null)
+ {
+ try
+ {
+ testArchive = (BeanDeploymentArchive) Class.forName("org.jboss.weld.mock.MockBeanDeploymentArchive").newInstance();
+ }
+ catch (InstantiationException e)
+ {
+ throw new IllegalStateException(e);
+ }
+ catch (IllegalAccessException e)
+ {
+ throw new IllegalStateException(e);
+ }
+ catch (ClassNotFoundException e)
+ {
+ throw new IllegalStateException(e);
+ }
+ }
+ return testArchive;
+ }
+
+}
Property changes on: core/trunk/tests/src/main/java/org/jboss/weld/test/BeanManagerLocator.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
More information about the weld-commits
mailing list