[webbeans-commits] Webbeans SVN: r1435 - in ri/trunk: porting-package and 22 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Fri Feb 6 19:16:25 EST 2009


Author: pete.muir at jboss.org
Date: 2009-02-06 19:16:25 -0500 (Fri, 06 Feb 2009)
New Revision: 1435

Added:
   ri/trunk/porting-package/
   ri/trunk/porting-package/pom.xml
   ri/trunk/porting-package/src/
   ri/trunk/porting-package/src/main/
   ri/trunk/porting-package/src/main/java/
   ri/trunk/porting-package/src/main/java/org/
   ri/trunk/porting-package/src/main/java/org/jboss/
   ri/trunk/porting-package/src/main/java/org/jboss/webbeans/
   ri/trunk/porting-package/src/main/java/org/jboss/webbeans/porting/
   ri/trunk/porting-package/src/main/java/org/jboss/webbeans/porting/BeansImpl.java
   ri/trunk/porting-package/src/main/java/org/jboss/webbeans/porting/ContainersImpl.java
   ri/trunk/porting-package/src/main/java/org/jboss/webbeans/porting/ContextsImpl.java
   ri/trunk/porting-package/src/main/java/org/jboss/webbeans/porting/ManagersImpl.java
   ri/trunk/porting-package/src/main/resources/
   ri/trunk/porting-package/src/main/resources/META-INF/
   ri/trunk/porting-package/src/main/resources/META-INF/web-beans-tck.properties
   ri/trunk/porting-package/src/test/
   ri/trunk/porting-package/src/test/java/
   ri/trunk/porting-package/src/test/resources/
   ri/trunk/porting-package/src/test/resources/META-INF/
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockBootstrap.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockEjbDescriptor.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockEjbDiscovery.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockResourceLoader.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockWebBeanDiscovery.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/context/
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/el/
Removed:
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java
   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/MockEjbDiscovery.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockResourceLoader.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockWebBeanDiscovery.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/context/
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/el/
Modified:
   ri/trunk/pom.xml
   ri/trunk/webbeans-ri/pom.xml
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/context/MockApplicationContext.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/context/MockDependentContext.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/context/MockRequestContext.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/context/MockSessionContext.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/el/EL.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/BeansImpl.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContainersImpl.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ManagersImpl.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/AbstractTest.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/bootstrap/BootstrapTest.java
   ri/trunk/webbeans-ri/src/test/resources/log4j.xml
Log:
split porting impl into separate project, move mock to main

Modified: ri/trunk/pom.xml
===================================================================
--- ri/trunk/pom.xml	2009-02-06 22:19:56 UTC (rev 1434)
+++ ri/trunk/pom.xml	2009-02-07 00:16:25 UTC (rev 1435)
@@ -75,6 +75,7 @@
       <module>webbeans-api</module>
       <module>webbeans-ri</module>
       <module>webbeans-ri-spi</module>
+      <module>porting-package</module>
    </modules>
    
    <properties>

Added: ri/trunk/porting-package/pom.xml
===================================================================
--- ri/trunk/porting-package/pom.xml	                        (rev 0)
+++ ri/trunk/porting-package/pom.xml	2009-02-07 00:16:25 UTC (rev 1435)
@@ -0,0 +1,30 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+   <parent>
+      <artifactId>parent</artifactId>
+      <groupId>org.jboss.webbeans</groupId>
+      <version>1.0.0-SNAPSHOT</version>
+   </parent>
+   <modelVersion>4.0.0</modelVersion>
+   <groupId>org.jboss.webbeans</groupId>
+   <artifactId>porting-package</artifactId>
+   <name>Web Beans Porting Package for JSR-299 TCK</name>
+   <dependencies>
+
+      <dependency>
+         <groupId>org.jboss.webbeans</groupId>
+         <artifactId>webbeans-api</artifactId>
+      </dependency>
+      
+      <dependency>
+         <groupId>org.jboss.webbeans</groupId>
+         <artifactId>webbeans-ri</artifactId>
+      </dependency>
+
+      <dependency>
+         <groupId>org.jboss.webbeans.tck</groupId>
+         <artifactId>webbeans-tck-api</artifactId>
+      </dependency>
+      
+   </dependencies>
+
+</project>

Added: ri/trunk/porting-package/src/main/java/org/jboss/webbeans/porting/BeansImpl.java
===================================================================
--- ri/trunk/porting-package/src/main/java/org/jboss/webbeans/porting/BeansImpl.java	                        (rev 0)
+++ ri/trunk/porting-package/src/main/java/org/jboss/webbeans/porting/BeansImpl.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -0,0 +1,121 @@
+package org.jboss.webbeans.porting;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+
+import javax.inject.manager.Bean;
+
+import org.jboss.webbeans.CurrentManager;
+import org.jboss.webbeans.bean.AbstractClassBean;
+import org.jboss.webbeans.bean.EnterpriseBean;
+import org.jboss.webbeans.bean.ProducerFieldBean;
+import org.jboss.webbeans.bean.ProducerMethodBean;
+import org.jboss.webbeans.bean.SimpleBean;
+import org.jboss.webbeans.ejb.spi.EjbDescriptor;
+import org.jboss.webbeans.mock.MockEjbDescriptor;
+import org.jboss.webbeans.tck.spi.Beans;
+import org.jboss.webbeans.util.Reflections;
+
+/**
+ * Implements the Beans SPI for the TCK specifically for the JBoss RI.
+ * 
+ * @author Shane Bryzak
+ * @author Pete Muir
+ * @author David Allen
+ * 
+ */
+ at Deprecated
+public class BeansImpl implements Beans
+{
+
+   public <T> Bean<T> createSimpleBean(Class<T> clazz)
+   {
+      return SimpleBean.of(clazz, CurrentManager.rootManager());
+   }
+
+   public <T> Bean<T> createProducerMethodBean(Method method, Bean<?> declaringBean)
+   {
+      if (declaringBean instanceof AbstractClassBean)
+      {
+         return ProducerMethodBean.of(method, (AbstractClassBean<?>) declaringBean, CurrentManager.rootManager());
+      }
+      else
+      {
+         throw new IllegalStateException("Cannot create a producer method from a bean that wasn't created by the RI " + declaringBean);
+      }
+   }
+   
+   public <T> Bean<T> createProducerFieldBean(Field field, Bean<?> declaringBean)
+   {
+      if (declaringBean instanceof AbstractClassBean)
+      {
+         return ProducerFieldBean.of(field, (AbstractClassBean<?>) declaringBean, CurrentManager.rootManager());
+      }
+      else
+      {
+         throw new IllegalStateException("Cannot create a producer field from a bean that wasn't created by the RI " + declaringBean);
+      }
+   }
+
+   public <T> Bean<T> createEnterpriseBean(Class<T> clazz)
+   {
+      CurrentManager.rootManager().getEjbDescriptorCache().add(MockEjbDescriptor.of(clazz));
+      return EnterpriseBean.of(clazz, CurrentManager.rootManager());
+   }
+
+   public boolean isEnterpriseBean(Class<?> clazz)
+   {
+      return CurrentManager.rootManager().getEjbDescriptorCache().containsKey(clazz);
+   }
+
+   public boolean isEntityBean(Class<?> clazz)
+   {
+      if (CurrentManager.rootManager().getEjbDescriptorCache().containsKey(clazz))
+      {
+         for (EjbDescriptor<?> ejbDescriptor : CurrentManager.rootManager().getEjbDescriptorCache().get(clazz))
+         {
+            if (!ejbDescriptor.isMessageDriven() && !ejbDescriptor.isSingleton() && !ejbDescriptor.isStateful() && !ejbDescriptor.isStateless())
+            {
+               return true;
+            }
+         }
+      }
+      return false;
+   }
+
+   public boolean isStatefulBean(Class<?> clazz)
+   {
+      if (CurrentManager.rootManager().getEjbDescriptorCache().containsKey(clazz))
+      {
+         for (EjbDescriptor<?> ejbDescriptor : CurrentManager.rootManager().getEjbDescriptorCache().get(clazz))
+         {
+            if (ejbDescriptor.isStateful())
+            {
+               return true;
+            }
+         }
+      }
+      return false;
+   }
+
+   public boolean isStatelessBean(Class<?> clazz)
+   {
+      if (CurrentManager.rootManager().getEjbDescriptorCache().containsKey(clazz))
+      {
+         for (EjbDescriptor<?> ejbDescriptor : CurrentManager.rootManager().getEjbDescriptorCache().get(clazz))
+         {
+            if (ejbDescriptor.isStateless())
+            {
+               return true;
+            }
+         }
+      }
+      return false;
+   }
+   
+   public boolean isProxy(Object instance)
+   {
+      return Reflections.isProxy(instance);
+   }
+
+}

Added: ri/trunk/porting-package/src/main/java/org/jboss/webbeans/porting/ContainersImpl.java
===================================================================
--- ri/trunk/porting-package/src/main/java/org/jboss/webbeans/porting/ContainersImpl.java	                        (rev 0)
+++ ri/trunk/porting-package/src/main/java/org/jboss/webbeans/porting/ContainersImpl.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -0,0 +1,60 @@
+package org.jboss.webbeans.porting;
+
+import java.io.InputStream;
+import java.lang.annotation.Annotation;
+import java.util.List;
+
+import javax.el.ELContext;
+import javax.inject.manager.Manager;
+
+import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.mock.MockBootstrap;
+import org.jboss.webbeans.mock.MockWebBeanDiscovery;
+import org.jboss.webbeans.mock.el.EL;
+import org.jboss.webbeans.tck.spi.StandaloneContainers;
+
+public class ContainersImpl implements StandaloneContainers
+{
+   
+   public Manager deploy(List<Class<? extends Annotation>> enabledDeploymentTypes, Class<?>... classes)
+   {
+      MockBootstrap bootstrap = new MockBootstrap();
+      ManagerImpl manager = bootstrap.getManager();
+      if (enabledDeploymentTypes != null)
+      {
+         manager.setEnabledDeploymentTypes(enabledDeploymentTypes);
+      }
+      bootstrap.setWebBeanDiscovery(new MockWebBeanDiscovery(classes));
+      bootstrap.boot();
+      return manager;
+   }
+   
+   public Manager deploy(java.lang.Class<?>... classes) 
+   {
+      return deploy(null, classes);
+   }
+   
+   public Manager deploy(InputStream archive)
+   {
+      throw new UnsupportedOperationException();
+   }
+   
+   public Manager deploy(List<Class<? extends Annotation>> enabledDeploymentTypes, InputStream archive)
+   {
+      throw new UnsupportedOperationException();
+   }
+   
+   @SuppressWarnings("unchecked")
+   public <T> T evaluateValueExpression(String expression, Class<T> expectedType)
+   {
+      ELContext elContext = EL.createELContext();
+      return (T) EL.EXPRESSION_FACTORY.createValueExpression(elContext, expression, expectedType).getValue(elContext);
+   }
+ 
+   @SuppressWarnings("unchecked")
+   public <T> T evaluateMethodExpression(String expression, Class<T> expectedType, Class<?>[] expectedParamTypes, Object[] expectedParams)
+   {
+      ELContext elContext = EL.createELContext();
+      return (T) EL.EXPRESSION_FACTORY.createMethodExpression(elContext, expression, expectedType, expectedParamTypes).invoke(elContext, expectedParams);
+   }
+}

Added: ri/trunk/porting-package/src/main/java/org/jboss/webbeans/porting/ContextsImpl.java
===================================================================
--- ri/trunk/porting-package/src/main/java/org/jboss/webbeans/porting/ContextsImpl.java	                        (rev 0)
+++ ri/trunk/porting-package/src/main/java/org/jboss/webbeans/porting/ContextsImpl.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -0,0 +1,44 @@
+package org.jboss.webbeans.porting;
+
+import org.jboss.webbeans.context.AbstractBeanMapContext;
+import org.jboss.webbeans.context.AbstractContext;
+import org.jboss.webbeans.context.DependentContext;
+import org.jboss.webbeans.context.RequestContext;
+import org.jboss.webbeans.tck.spi.Contexts;
+
+public class ContextsImpl implements Contexts<AbstractContext>
+{
+
+   public RequestContext getRequestContext()
+   {
+      return RequestContext.INSTANCE;
+   }
+
+   public void setActive(AbstractContext context)
+   {
+      context.setActive(true);
+   }
+
+   public void setInactive(AbstractContext context)
+   {
+      context.setActive(false);
+   }
+
+   public AbstractContext getDependentContext()
+   {
+      return DependentContext.INSTANCE;
+   }
+   
+   public void destroyContext(AbstractContext context)
+   {
+      if (context instanceof AbstractBeanMapContext)
+      {
+         ((AbstractBeanMapContext) context).destroy();
+      }
+      else
+      {
+         throw new UnsupportedOperationException();
+      }
+   }
+   
+}

Added: ri/trunk/porting-package/src/main/java/org/jboss/webbeans/porting/ManagersImpl.java
===================================================================
--- ri/trunk/porting-package/src/main/java/org/jboss/webbeans/porting/ManagersImpl.java	                        (rev 0)
+++ ri/trunk/porting-package/src/main/java/org/jboss/webbeans/porting/ManagersImpl.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -0,0 +1,29 @@
+package org.jboss.webbeans.porting;
+
+import java.lang.annotation.Annotation;
+import java.util.List;
+
+import javax.inject.manager.Manager;
+
+import org.jboss.webbeans.CurrentManager;
+import org.jboss.webbeans.tck.spi.Managers;
+
+public class ManagersImpl implements Managers
+{
+   
+   public Manager getManager()
+   {
+      return CurrentManager.rootManager();
+   }
+   
+   public void setEnabledDeploymentTypes(List<Class<? extends Annotation>> enabledDeploymentTypes)
+   {
+      CurrentManager.rootManager().setEnabledDeploymentTypes(enabledDeploymentTypes);
+   }
+
+   public List<Class<? extends Annotation>> getEnabledDeploymentTypes()
+   {
+      return CurrentManager.rootManager().getEnabledDeploymentTypes();
+   }
+   
+}

Added: ri/trunk/porting-package/src/main/resources/META-INF/web-beans-tck.properties
===================================================================
--- ri/trunk/porting-package/src/main/resources/META-INF/web-beans-tck.properties	                        (rev 0)
+++ ri/trunk/porting-package/src/main/resources/META-INF/web-beans-tck.properties	2009-02-07 00:16:25 UTC (rev 1435)
@@ -0,0 +1,4 @@
+org.jboss.webbeans.tck.spi.Managers=org.jboss.webbeans.porting.ManagersImpl
+org.jboss.webbeans.tck.spi.Beans=org.jboss.webbeans.porting.BeansImpl
+org.jboss.webbeans.tck.spi.Contexts=org.jboss.webbeans.porting.ContextsImpl
+org.jboss.webbeans.tck.spi.Containers=org.jboss.webbeans.porting.ContainersImpl
\ No newline at end of file

Modified: ri/trunk/webbeans-ri/pom.xml
===================================================================
--- ri/trunk/webbeans-ri/pom.xml	2009-02-06 22:19:56 UTC (rev 1434)
+++ ri/trunk/webbeans-ri/pom.xml	2009-02-07 00:16:25 UTC (rev 1435)
@@ -41,15 +41,7 @@
       
       <dependency>
          <groupId>org.jboss.ejb3</groupId>
-         <artifactId>jboss-ejb3-embedded</artifactId>
-         <scope>runtime</scope>
-         <optional>true</optional>
-      </dependency>
-      
-      <dependency>
-         <groupId>org.jboss.ejb3</groupId>
          <artifactId>jboss-ejb3-api</artifactId>
-         <scope>test</scope>
       </dependency>
 
       <dependency>
@@ -61,14 +53,8 @@
          <groupId>javax.transaction</groupId>
          <artifactId>jta</artifactId>
       </dependency>
-
+      
       <dependency>
-         <groupId>javax.ejb</groupId>
-         <artifactId>ejb-api</artifactId>
-         <optional>true</optional>
-      </dependency>
-
-      <dependency>
          <groupId>javax.annotation</groupId>
          <artifactId>jsr250-api</artifactId>
          <optional>true</optional>

Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockBootstrap.java (from rev 1428, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockBootstrap.java	                        (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockBootstrap.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -0,0 +1,214 @@
+package org.jboss.webbeans.mock;
+
+import java.lang.annotation.Annotation;
+
+import javax.annotation.Resource;
+import javax.ejb.EJB;
+import javax.inject.manager.InjectionPoint;
+import javax.naming.Context;
+import javax.persistence.PersistenceContext;
+import javax.transaction.HeuristicMixedException;
+import javax.transaction.HeuristicRollbackException;
+import javax.transaction.NotSupportedException;
+import javax.transaction.RollbackException;
+import javax.transaction.SystemException;
+import javax.transaction.TransactionManager;
+import javax.transaction.UserTransaction;
+
+import org.jboss.webbeans.bootstrap.WebBeansBootstrap;
+import org.jboss.webbeans.bootstrap.spi.EjbDiscovery;
+import org.jboss.webbeans.bootstrap.spi.WebBeanDiscovery;
+import org.jboss.webbeans.ejb.spi.EjbResolver;
+import org.jboss.webbeans.mock.context.MockApplicationContext;
+import org.jboss.webbeans.mock.context.MockDependentContext;
+import org.jboss.webbeans.mock.context.MockRequestContext;
+import org.jboss.webbeans.mock.context.MockSessionContext;
+import org.jboss.webbeans.resource.AbstractNamingContext;
+import org.jboss.webbeans.resources.spi.NamingContext;
+import org.jboss.webbeans.resources.spi.ResourceLoader;
+
+public class MockBootstrap extends WebBeansBootstrap
+{ 
+   
+   public static class MockNaming extends AbstractNamingContext
+   {
+      
+      private Context context;
+      
+      public void setContext(Context context)
+      {
+         this.context = context;
+      }
+      
+      public Context getContext()
+      {
+         return context;
+      }
+
+      public void bind(String key, Object value)
+      {
+         if (context != null)
+         {
+            super.bind(key, value);
+         }
+      }
+
+      public <T> T lookup(String name, Class<? extends T> expectedType)
+      {
+         if (context != null)
+         {
+            T instance = overrideLookup(name, expectedType);
+            if (instance == null)
+            {
+               instance = super.lookup(name, expectedType);
+            }
+            return instance;
+         }
+         else
+         {
+            return null;
+         }
+      }
+      
+      @SuppressWarnings("unchecked")
+      private <T> T overrideLookup(String name, Class<? extends T> expectedType)
+      {
+         // JBoss Embedded EJB 3.1 doesn't seem to bind this!
+         if (name.equals("java:comp/UserTransaction"))
+         {
+            final TransactionManager tm = super.lookup("java:/TransactionManager", TransactionManager.class);
+            return (T) new UserTransaction()
+            {
+
+               public void begin() throws NotSupportedException, SystemException
+               {
+                  tm.begin();
+               }
+
+               public void commit() throws RollbackException, HeuristicMixedException, HeuristicRollbackException, SecurityException, IllegalStateException, SystemException
+               {
+                  tm.commit();
+               }
+
+               public int getStatus() throws SystemException
+               {
+                  return tm.getStatus();
+               }
+
+               public void rollback() throws IllegalStateException, SecurityException, SystemException
+               {
+                  tm.rollback();
+               }
+
+               public void setRollbackOnly() throws IllegalStateException, SystemException
+               {
+                  tm.setRollbackOnly();
+               }
+
+               public void setTransactionTimeout(int seconds) throws SystemException
+               {
+                  tm.setTransactionTimeout(seconds);
+               }
+               
+            };
+         }
+         else
+         {
+            return null;
+         }
+      }
+      
+   };
+   
+   private static final EjbResolver MOCK_EJB_RESOLVER = new EjbResolver()
+   {
+
+      public Class<? extends Annotation> getEJBAnnotation()
+      {
+         return EJB.class;
+      }
+
+      public Class<? extends Annotation> getPersistenceContextAnnotation()
+      {
+         return PersistenceContext.class;
+      }
+
+      public Object resolveEjb(InjectionPoint injectionPoint, NamingContext namingContext)
+      {
+         return null;
+      }
+
+      public Object resolvePersistenceContext(InjectionPoint injectionPoint, NamingContext namingContext)
+      {
+         return null;
+      }
+
+      public Class<? extends Annotation> getResourceAnnotation()
+      {
+         return Resource.class;
+      }
+
+      public Object resolveResource(InjectionPoint injectionPoint, NamingContext namingContext)
+      {
+         return null;
+      }
+
+
+      
+   };
+   
+   private WebBeanDiscovery webBeanDiscovery;
+   private EjbDiscovery ejbDiscovery;
+   private ResourceLoader resourceLoader;
+   
+   private MockNaming mockNaming;
+   
+   public MockBootstrap()
+   {
+      this.resourceLoader = new MockResourceLoader();
+      this.mockNaming = new MockNaming();
+      initManager(mockNaming, MOCK_EJB_RESOLVER, resourceLoader);
+      setupContexts();
+   }
+   
+   protected void setupContexts()
+   {
+      getManager().addContext(new MockRequestContext());
+      getManager().addContext(new MockSessionContext());
+      getManager().addContext(new MockApplicationContext());
+      getManager().addContext(new MockDependentContext());
+   }
+   
+   public void setWebBeanDiscovery(WebBeanDiscovery webBeanDiscovery)
+   {
+      this.webBeanDiscovery = webBeanDiscovery;
+      if (webBeanDiscovery != null)
+      {
+         this.ejbDiscovery = new MockEjbDiscovery(webBeanDiscovery.discoverWebBeanClasses());
+      }
+   }
+   
+   @Override
+   protected WebBeanDiscovery getWebBeanDiscovery()
+   {
+      return this.webBeanDiscovery;
+   }
+
+   @Override
+   public ResourceLoader getResourceLoader()
+   {
+      return resourceLoader;
+   }
+   
+   public MockNaming getNaming()
+   {
+      return mockNaming;
+   }
+
+   @Override
+   protected EjbDiscovery getEjbDiscovery()
+   {
+      return ejbDiscovery;
+   }
+   
+}


Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockBootstrap.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockEjbDescriptor.java (from rev 1428, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockEjbDescriptor.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockEjbDescriptor.java	                        (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockEjbDescriptor.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -0,0 +1,182 @@
+package org.jboss.webbeans.mock;
+
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+
+import javax.ejb.Local;
+import javax.ejb.MessageDriven;
+import javax.ejb.Remove;
+import javax.ejb.Singleton;
+import javax.ejb.Stateful;
+import javax.ejb.Stateless;
+
+import org.jboss.webbeans.ejb.spi.BusinessInterfaceDescriptor;
+import org.jboss.webbeans.ejb.spi.EjbDescriptor;
+
+public class MockEjbDescriptor<T> implements EjbDescriptor<T>
+{
+   private final Class<T> type;
+   private final String ejbName;
+   private final List<BusinessInterfaceDescriptor<?>> localInterfaces;
+   private final HashSet<Method> removeMethods;
+   
+   public static <T> MockEjbDescriptor<T> of(Class<T> type)
+   {
+      return new MockEjbDescriptor<T>(type);
+   }
+
+   private MockEjbDescriptor(final Class<T> type)
+   {
+      this.type = type;
+      this.ejbName = type.getSimpleName();
+      this.localInterfaces = new ArrayList<BusinessInterfaceDescriptor<?>>();
+      for (final Class<?> clazz : type.getInterfaces())
+      {
+         if (clazz.isAnnotationPresent(Local.class))
+         {
+            localInterfaces.add(new BusinessInterfaceDescriptor<Object>()
+            {
+   
+               @SuppressWarnings("unchecked")
+               public Class<Object> getInterface()
+               {
+                  return (Class<Object>) clazz;
+               }
+   
+               public String getJndiName()
+               {
+                  return clazz.getSimpleName() + "/local";
+               }
+         
+            });
+         }
+      }
+      // cope with EJB 3.1 style no-interface views
+      if (localInterfaces.size() == 0)
+      {
+         localInterfaces.add(new BusinessInterfaceDescriptor<Object>()
+         {
+
+            public Class<Object> getInterface()
+            {
+               return (Class<Object>) type;
+            }
+
+            public String getJndiName()
+            {
+               return type.getSimpleName() +"/local";
+            }
+            
+         });
+      }
+      this.removeMethods = new HashSet<Method>();
+      for (final Method method : type.getMethods())
+      {
+         if (method.isAnnotationPresent(Remove.class))
+         {
+            removeMethods.add(method);
+         }
+      }
+   }
+
+   public String getEjbName()
+   {
+      return ejbName;
+   }
+
+   public Iterable<BusinessInterfaceDescriptor<?>> getLocalBusinessInterfaces()
+   {
+      return localInterfaces;
+   }
+   
+   public Iterable<BusinessInterfaceDescriptor<?>> getRemoteBusinessInterfaces()
+   {
+      return Collections.emptyList();
+   }
+
+   public Iterable<Method> getRemoveMethods()
+   {
+
+      return removeMethods;
+   }
+
+   public Class<T> getType()
+   {
+      return type;
+   }
+
+   public boolean isMessageDriven()
+   {
+      return type.isAnnotationPresent(MessageDriven.class);
+   }
+
+   public boolean isSingleton()
+   {
+      return type.isAnnotationPresent(Singleton.class);
+   }
+
+   public boolean isStateful()
+   {
+      return type.isAnnotationPresent(Stateful.class);
+   }
+
+   public boolean isStateless()
+   {
+      return type.isAnnotationPresent(Stateless.class);
+   }
+   
+   public String getLocalJndiName()
+   {
+      return type.getSimpleName() + "/local";
+   }
+   
+   @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("remove methods; " + removeMethods + "; ");
+      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();
+   }
+
+}

Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockEjbDiscovery.java (from rev 1428, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockEjbDiscovery.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockEjbDiscovery.java	                        (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockEjbDiscovery.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -0,0 +1,49 @@
+package org.jboss.webbeans.mock;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import javax.ejb.MessageDriven;
+import javax.ejb.Singleton;
+import javax.ejb.Stateful;
+import javax.ejb.Stateless;
+
+import org.jboss.webbeans.bootstrap.spi.EjbDiscovery;
+import org.jboss.webbeans.ejb.spi.EjbDescriptor;
+
+public class MockEjbDiscovery implements EjbDiscovery
+{
+   
+   private final List<EjbDescriptor<?>> ejbs;
+
+   public MockEjbDiscovery(Iterable<Class<?>> allClasses)
+   {
+      
+      this.ejbs = new ArrayList<EjbDescriptor<?>>();
+      for (Class<?> ejbClass : discoverEjbs(allClasses))
+      {
+         this.ejbs.add(MockEjbDescriptor.of(ejbClass));
+      }
+   }
+
+   public Iterable<EjbDescriptor<?>> discoverEjbs()
+   {
+      return ejbs;
+   }
+   
+   protected static Iterable<Class<?>> discoverEjbs(Iterable<Class<?>> webBeanClasses)
+   {
+      Set<Class<?>> ejbs = new HashSet<Class<?>>();
+      for (Class<?> clazz : webBeanClasses)
+      {
+         if (clazz.isAnnotationPresent(Stateless.class) || clazz.isAnnotationPresent(Stateful.class) || clazz.isAnnotationPresent(MessageDriven.class) || clazz.isAnnotationPresent(Singleton.class)) 
+         {
+            ejbs.add(clazz);
+         }
+      }
+      return ejbs;
+   }
+   
+}


Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockEjbDiscovery.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockResourceLoader.java (from rev 1428, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockResourceLoader.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockResourceLoader.java	                        (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockResourceLoader.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -0,0 +1,42 @@
+package org.jboss.webbeans.mock;
+
+import java.io.IOException;
+import java.net.URL;
+
+import org.jboss.webbeans.resources.spi.ResourceLoader;
+import org.jboss.webbeans.resources.spi.ResourceLoadingException;
+import org.jboss.webbeans.util.EnumerationIterable;
+
+public class MockResourceLoader implements ResourceLoader
+{
+   
+   public Class<?> classForName(String name)
+   {
+      try
+      {
+         return Thread.currentThread().getContextClassLoader().loadClass(name);
+      }
+      catch (ClassNotFoundException e)
+      {
+         throw new ResourceLoadingException(e);
+      }
+   }
+   
+   public URL getResource(String name)
+   {
+      return Thread.currentThread().getContextClassLoader().getResource(name);
+   }
+   
+   public Iterable<URL> getResources(String name)
+   {
+      try
+      {
+         return new EnumerationIterable<URL>(Thread.currentThread().getContextClassLoader().getResources(name));
+      }
+      catch (IOException e)
+      {
+         throw new ResourceLoadingException(e);
+      }
+   }
+   
+}


Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockResourceLoader.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockWebBeanDiscovery.java (from rev 1428, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockWebBeanDiscovery.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockWebBeanDiscovery.java	                        (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockWebBeanDiscovery.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -0,0 +1,42 @@
+package org.jboss.webbeans.mock;
+
+import java.net.URL;
+import java.util.Arrays;
+import java.util.HashSet;
+
+import org.jboss.webbeans.bootstrap.spi.WebBeanDiscovery;
+
+public class MockWebBeanDiscovery implements WebBeanDiscovery
+{
+
+   private Iterable<Class<?>> webBeanClasses = new HashSet<Class<?>>();
+
+   private Iterable<URL> webBeansXmlFiles = new HashSet<URL>();
+
+   /**
+    * Simple constructor that auto discovers EJBs
+    * @param webBeanClasses
+    */
+   public MockWebBeanDiscovery(Class<?>... webBeanClasses)
+   {
+      this(Arrays.asList(webBeanClasses), null);
+   }
+   
+   public MockWebBeanDiscovery(Iterable<Class<?>> webBeanClasses, Iterable<URL> webBeansXmlFiles)
+   {
+      super();
+      this.webBeanClasses = webBeanClasses;
+      this.webBeansXmlFiles = webBeansXmlFiles;
+   }
+
+   public Iterable<Class<?>> discoverWebBeanClasses()
+   {
+      return webBeanClasses;
+   }
+
+   public Iterable<URL> discoverWebBeansXml()
+   {
+      return webBeansXmlFiles;
+   }
+
+}


Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/MockWebBeanDiscovery.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/context (from rev 1428, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/context)

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/context/MockApplicationContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/context/MockApplicationContext.java	2009-02-06 15:07:43 UTC (rev 1428)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/context/MockApplicationContext.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -1,4 +1,4 @@
-package org.jboss.webbeans.test.mock.context;
+package org.jboss.webbeans.mock.context;
 
 import org.jboss.webbeans.context.ApplicationContext;
 import org.jboss.webbeans.context.beanmap.SimpleBeanMap;

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/context/MockDependentContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/context/MockDependentContext.java	2009-02-06 15:07:43 UTC (rev 1428)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/context/MockDependentContext.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -1,4 +1,4 @@
-package org.jboss.webbeans.test.mock.context;
+package org.jboss.webbeans.mock.context;
 
 import org.jboss.webbeans.context.DependentContext;
 

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/context/MockRequestContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/context/MockRequestContext.java	2009-02-06 15:07:43 UTC (rev 1428)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/context/MockRequestContext.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -1,4 +1,4 @@
-package org.jboss.webbeans.test.mock.context;
+package org.jboss.webbeans.mock.context;
 
 import org.jboss.webbeans.context.RequestContext;
 

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/context/MockSessionContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/context/MockSessionContext.java	2009-02-06 15:07:43 UTC (rev 1428)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/context/MockSessionContext.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -1,4 +1,4 @@
-package org.jboss.webbeans.test.mock.context;
+package org.jboss.webbeans.mock.context;
 
 import org.jboss.webbeans.context.SessionContext;
 import org.jboss.webbeans.context.beanmap.SimpleBeanMap;

Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/el (from rev 1428, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/el)

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/el/EL.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/el/EL.java	2009-02-06 15:07:43 UTC (rev 1428)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/mock/el/EL.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -1,4 +1,4 @@
-package org.jboss.webbeans.test.mock.el;
+package org.jboss.webbeans.mock.el;
 
 import javax.el.ArrayELResolver;
 import javax.el.BeanELResolver;

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java	2009-02-06 22:19:56 UTC (rev 1434)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -116,12 +116,12 @@
     */
    public static void endRequest(HttpServletRequest request)
    {
+      CurrentManager.rootManager().getInstanceByType(SessionManager.class).setSession(null);
+      CurrentManager.rootManager().getInstanceByType(ConversationManager.class).cleanupConversation();
       DependentContext.INSTANCE.setActive(false);
       RequestContext.INSTANCE.destroy();
       SessionContext.INSTANCE.setBeanMap(null);
-      CurrentManager.rootManager().getInstanceByType(ConversationManager.class).cleanupConversation();
       ConversationContext.INSTANCE.setBeanMap(null);
-      CurrentManager.rootManager().getInstanceByType(SessionManager.class).setSession(null);      
    }
 
 }

Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java	2009-02-06 22:19:56 UTC (rev 1434)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -1,214 +0,0 @@
-package org.jboss.webbeans.test.mock;
-
-import java.lang.annotation.Annotation;
-
-import javax.annotation.Resource;
-import javax.ejb.EJB;
-import javax.inject.manager.InjectionPoint;
-import javax.naming.Context;
-import javax.persistence.PersistenceContext;
-import javax.transaction.HeuristicMixedException;
-import javax.transaction.HeuristicRollbackException;
-import javax.transaction.NotSupportedException;
-import javax.transaction.RollbackException;
-import javax.transaction.SystemException;
-import javax.transaction.TransactionManager;
-import javax.transaction.UserTransaction;
-
-import org.jboss.webbeans.bootstrap.WebBeansBootstrap;
-import org.jboss.webbeans.bootstrap.spi.EjbDiscovery;
-import org.jboss.webbeans.bootstrap.spi.WebBeanDiscovery;
-import org.jboss.webbeans.ejb.spi.EjbResolver;
-import org.jboss.webbeans.resource.AbstractNamingContext;
-import org.jboss.webbeans.resources.spi.NamingContext;
-import org.jboss.webbeans.resources.spi.ResourceLoader;
-import org.jboss.webbeans.test.mock.context.MockApplicationContext;
-import org.jboss.webbeans.test.mock.context.MockDependentContext;
-import org.jboss.webbeans.test.mock.context.MockRequestContext;
-import org.jboss.webbeans.test.mock.context.MockSessionContext;
-
-public class MockBootstrap extends WebBeansBootstrap
-{ 
-   
-   public static class MockNaming extends AbstractNamingContext
-   {
-      
-      private Context context;
-      
-      public void setContext(Context context)
-      {
-         this.context = context;
-      }
-      
-      public Context getContext()
-      {
-         return context;
-      }
-
-      public void bind(String key, Object value)
-      {
-         if (context != null)
-         {
-            super.bind(key, value);
-         }
-      }
-
-      public <T> T lookup(String name, Class<? extends T> expectedType)
-      {
-         if (context != null)
-         {
-            T instance = overrideLookup(name, expectedType);
-            if (instance == null)
-            {
-               instance = super.lookup(name, expectedType);
-            }
-            return instance;
-         }
-         else
-         {
-            return null;
-         }
-      }
-      
-      @SuppressWarnings("unchecked")
-      private <T> T overrideLookup(String name, Class<? extends T> expectedType)
-      {
-         // JBoss Embedded EJB 3.1 doesn't seem to bind this!
-         if (name.equals("java:comp/UserTransaction"))
-         {
-            final TransactionManager tm = super.lookup("java:/TransactionManager", TransactionManager.class);
-            return (T) new UserTransaction()
-            {
-
-               public void begin() throws NotSupportedException, SystemException
-               {
-                  tm.begin();
-               }
-
-               public void commit() throws RollbackException, HeuristicMixedException, HeuristicRollbackException, SecurityException, IllegalStateException, SystemException
-               {
-                  tm.commit();
-               }
-
-               public int getStatus() throws SystemException
-               {
-                  return tm.getStatus();
-               }
-
-               public void rollback() throws IllegalStateException, SecurityException, SystemException
-               {
-                  tm.rollback();
-               }
-
-               public void setRollbackOnly() throws IllegalStateException, SystemException
-               {
-                  tm.setRollbackOnly();
-               }
-
-               public void setTransactionTimeout(int seconds) throws SystemException
-               {
-                  tm.setTransactionTimeout(seconds);
-               }
-               
-            };
-         }
-         else
-         {
-            return null;
-         }
-      }
-      
-   };
-   
-   private static final EjbResolver MOCK_EJB_RESOLVER = new EjbResolver()
-   {
-
-      public Class<? extends Annotation> getEJBAnnotation()
-      {
-         return EJB.class;
-      }
-
-      public Class<? extends Annotation> getPersistenceContextAnnotation()
-      {
-         return PersistenceContext.class;
-      }
-
-      public Object resolveEjb(InjectionPoint injectionPoint, NamingContext namingContext)
-      {
-         return null;
-      }
-
-      public Object resolvePersistenceContext(InjectionPoint injectionPoint, NamingContext namingContext)
-      {
-         return null;
-      }
-
-      public Class<? extends Annotation> getResourceAnnotation()
-      {
-         return Resource.class;
-      }
-
-      public Object resolveResource(InjectionPoint injectionPoint, NamingContext namingContext)
-      {
-         return null;
-      }
-
-
-      
-   };
-   
-   private WebBeanDiscovery webBeanDiscovery;
-   private EjbDiscovery ejbDiscovery;
-   private ResourceLoader resourceLoader;
-   
-   private MockNaming mockNaming;
-   
-   public MockBootstrap()
-   {
-      this.resourceLoader = new MockResourceLoader();
-      this.mockNaming = new MockNaming();
-      initManager(mockNaming, MOCK_EJB_RESOLVER, resourceLoader);
-      setupContexts();
-   }
-   
-   protected void setupContexts()
-   {
-      getManager().addContext(new MockRequestContext());
-      getManager().addContext(new MockSessionContext());
-      getManager().addContext(new MockApplicationContext());
-      getManager().addContext(new MockDependentContext());
-   }
-   
-   public void setWebBeanDiscovery(WebBeanDiscovery webBeanDiscovery)
-   {
-      this.webBeanDiscovery = webBeanDiscovery;
-      if (webBeanDiscovery != null)
-      {
-         this.ejbDiscovery = new MockEjbDiscovery(webBeanDiscovery.discoverWebBeanClasses());
-      }
-   }
-   
-   @Override
-   protected WebBeanDiscovery getWebBeanDiscovery()
-   {
-      return this.webBeanDiscovery;
-   }
-
-   @Override
-   public ResourceLoader getResourceLoader()
-   {
-      return resourceLoader;
-   }
-   
-   public MockNaming getNaming()
-   {
-      return mockNaming;
-   }
-
-   @Override
-   protected EjbDiscovery getEjbDiscovery()
-   {
-      return ejbDiscovery;
-   }
-   
-}

Deleted: 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	2009-02-06 22:19:56 UTC (rev 1434)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockEjbDescriptor.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -1,182 +0,0 @@
-package org.jboss.webbeans.test.mock;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-
-import javax.ejb.Local;
-import javax.ejb.MessageDriven;
-import javax.ejb.Remove;
-import javax.ejb.Singleton;
-import javax.ejb.Stateful;
-import javax.ejb.Stateless;
-
-import org.jboss.webbeans.ejb.spi.BusinessInterfaceDescriptor;
-import org.jboss.webbeans.ejb.spi.EjbDescriptor;
-
-public class MockEjbDescriptor<T> implements EjbDescriptor<T>
-{
-   private final Class<T> type;
-   private final String ejbName;
-   private final List<BusinessInterfaceDescriptor<?>> localInterfaces;
-   private final HashSet<Method> removeMethods;
-   
-   public static <T> MockEjbDescriptor<T> of(Class<T> type)
-   {
-      return new MockEjbDescriptor<T>(type);
-   }
-
-   private MockEjbDescriptor(final Class<T> type)
-   {
-      this.type = type;
-      this.ejbName = type.getSimpleName();
-      this.localInterfaces = new ArrayList<BusinessInterfaceDescriptor<?>>();
-      for (final Class<?> clazz : type.getInterfaces())
-      {
-         if (clazz.isAnnotationPresent(Local.class))
-         {
-            localInterfaces.add(new BusinessInterfaceDescriptor<Object>()
-            {
-   
-               @SuppressWarnings("unchecked")
-               public Class<Object> getInterface()
-               {
-                  return (Class<Object>) clazz;
-               }
-   
-               public String getJndiName()
-               {
-                  return clazz.getSimpleName() + "/local";
-               }
-         
-            });
-         }
-      }
-      // cope with EJB 3.1 style no-interface views
-      if (localInterfaces.size() == 0)
-      {
-         localInterfaces.add(new BusinessInterfaceDescriptor<Object>()
-         {
-
-            public Class<Object> getInterface()
-            {
-               return (Class<Object>) type;
-            }
-
-            public String getJndiName()
-            {
-               return type.getSimpleName() +"/local";
-            }
-            
-         });
-      }
-      this.removeMethods = new HashSet<Method>();
-      for (final Method method : type.getMethods())
-      {
-         if (method.isAnnotationPresent(Remove.class))
-         {
-            removeMethods.add(method);
-         }
-      }
-   }
-
-   public String getEjbName()
-   {
-      return ejbName;
-   }
-
-   public Iterable<BusinessInterfaceDescriptor<?>> getLocalBusinessInterfaces()
-   {
-      return localInterfaces;
-   }
-   
-   public Iterable<BusinessInterfaceDescriptor<?>> getRemoteBusinessInterfaces()
-   {
-      return Collections.emptyList();
-   }
-
-   public Iterable<Method> getRemoveMethods()
-   {
-
-      return removeMethods;
-   }
-
-   public Class<T> getType()
-   {
-      return type;
-   }
-
-   public boolean isMessageDriven()
-   {
-      return type.isAnnotationPresent(MessageDriven.class);
-   }
-
-   public boolean isSingleton()
-   {
-      return type.isAnnotationPresent(Singleton.class);
-   }
-
-   public boolean isStateful()
-   {
-      return type.isAnnotationPresent(Stateful.class);
-   }
-
-   public boolean isStateless()
-   {
-      return type.isAnnotationPresent(Stateless.class);
-   }
-   
-   public String getLocalJndiName()
-   {
-      return type.getSimpleName() + "/local";
-   }
-   
-   @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("remove methods; " + removeMethods + "; ");
-      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();
-   }
-
-}

Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockEjbDiscovery.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockEjbDiscovery.java	2009-02-06 22:19:56 UTC (rev 1434)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockEjbDiscovery.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -1,49 +0,0 @@
-package org.jboss.webbeans.test.mock;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import javax.ejb.MessageDriven;
-import javax.ejb.Singleton;
-import javax.ejb.Stateful;
-import javax.ejb.Stateless;
-
-import org.jboss.webbeans.bootstrap.spi.EjbDiscovery;
-import org.jboss.webbeans.ejb.spi.EjbDescriptor;
-
-public class MockEjbDiscovery implements EjbDiscovery
-{
-   
-   private final List<EjbDescriptor<?>> ejbs;
-
-   public MockEjbDiscovery(Iterable<Class<?>> allClasses)
-   {
-      
-      this.ejbs = new ArrayList<EjbDescriptor<?>>();
-      for (Class<?> ejbClass : discoverEjbs(allClasses))
-      {
-         this.ejbs.add(MockEjbDescriptor.of(ejbClass));
-      }
-   }
-
-   public Iterable<EjbDescriptor<?>> discoverEjbs()
-   {
-      return ejbs;
-   }
-   
-   protected static Iterable<Class<?>> discoverEjbs(Iterable<Class<?>> webBeanClasses)
-   {
-      Set<Class<?>> ejbs = new HashSet<Class<?>>();
-      for (Class<?> clazz : webBeanClasses)
-      {
-         if (clazz.isAnnotationPresent(Stateless.class) || clazz.isAnnotationPresent(Stateful.class) || clazz.isAnnotationPresent(MessageDriven.class) || clazz.isAnnotationPresent(Singleton.class)) 
-         {
-            ejbs.add(clazz);
-         }
-      }
-      return ejbs;
-   }
-   
-}

Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockResourceLoader.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockResourceLoader.java	2009-02-06 22:19:56 UTC (rev 1434)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockResourceLoader.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -1,42 +0,0 @@
-package org.jboss.webbeans.test.mock;
-
-import java.io.IOException;
-import java.net.URL;
-
-import org.jboss.webbeans.resources.spi.ResourceLoader;
-import org.jboss.webbeans.resources.spi.ResourceLoadingException;
-import org.jboss.webbeans.util.EnumerationIterable;
-
-public class MockResourceLoader implements ResourceLoader
-{
-   
-   public Class<?> classForName(String name)
-   {
-      try
-      {
-         return Thread.currentThread().getContextClassLoader().loadClass(name);
-      }
-      catch (ClassNotFoundException e)
-      {
-         throw new ResourceLoadingException(e);
-      }
-   }
-   
-   public URL getResource(String name)
-   {
-      return Thread.currentThread().getContextClassLoader().getResource(name);
-   }
-   
-   public Iterable<URL> getResources(String name)
-   {
-      try
-      {
-         return new EnumerationIterable<URL>(Thread.currentThread().getContextClassLoader().getResources(name));
-      }
-      catch (IOException e)
-      {
-         throw new ResourceLoadingException(e);
-      }
-   }
-   
-}

Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockWebBeanDiscovery.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockWebBeanDiscovery.java	2009-02-06 22:19:56 UTC (rev 1434)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockWebBeanDiscovery.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -1,42 +0,0 @@
-package org.jboss.webbeans.test.mock;
-
-import java.net.URL;
-import java.util.Arrays;
-import java.util.HashSet;
-
-import org.jboss.webbeans.bootstrap.spi.WebBeanDiscovery;
-
-public class MockWebBeanDiscovery implements WebBeanDiscovery
-{
-
-   private Iterable<Class<?>> webBeanClasses = new HashSet<Class<?>>();
-
-   private Iterable<URL> webBeansXmlFiles = new HashSet<URL>();
-
-   /**
-    * Simple constructor that auto discovers EJBs
-    * @param webBeanClasses
-    */
-   public MockWebBeanDiscovery(Class<?>... webBeanClasses)
-   {
-      this(Arrays.asList(webBeanClasses), null);
-   }
-   
-   public MockWebBeanDiscovery(Iterable<Class<?>> webBeanClasses, Iterable<URL> webBeansXmlFiles)
-   {
-      super();
-      this.webBeanClasses = webBeanClasses;
-      this.webBeansXmlFiles = webBeansXmlFiles;
-   }
-
-   public Iterable<Class<?>> discoverWebBeanClasses()
-   {
-      return webBeanClasses;
-   }
-
-   public Iterable<URL> discoverWebBeansXml()
-   {
-      return webBeansXmlFiles;
-   }
-
-}

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/BeansImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/BeansImpl.java	2009-02-06 22:19:56 UTC (rev 1434)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/BeansImpl.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -12,8 +12,8 @@
 import org.jboss.webbeans.bean.ProducerMethodBean;
 import org.jboss.webbeans.bean.SimpleBean;
 import org.jboss.webbeans.ejb.spi.EjbDescriptor;
+import org.jboss.webbeans.mock.MockEjbDescriptor;
 import org.jboss.webbeans.tck.spi.Beans;
-import org.jboss.webbeans.test.mock.MockEjbDescriptor;
 import org.jboss.webbeans.util.Reflections;
 
 /**

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContainersImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContainersImpl.java	2009-02-06 22:19:56 UTC (rev 1434)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContainersImpl.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -8,10 +8,10 @@
 import javax.inject.manager.Manager;
 
 import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.mock.MockBootstrap;
+import org.jboss.webbeans.mock.MockWebBeanDiscovery;
+import org.jboss.webbeans.mock.el.EL;
 import org.jboss.webbeans.tck.spi.StandaloneContainers;
-import org.jboss.webbeans.test.mock.MockBootstrap;
-import org.jboss.webbeans.test.mock.MockWebBeanDiscovery;
-import org.jboss.webbeans.test.mock.el.EL;
 
 public class ContainersImpl implements StandaloneContainers
 {

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ManagersImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ManagersImpl.java	2009-02-06 22:19:56 UTC (rev 1434)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ManagersImpl.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -6,30 +6,26 @@
 import javax.inject.manager.Manager;
 
 import org.jboss.webbeans.CurrentManager;
+import org.jboss.webbeans.mock.MockBootstrap;
 import org.jboss.webbeans.tck.spi.Managers;
-import org.jboss.webbeans.test.mock.MockBootstrap;
 
 public class ManagersImpl implements Managers
 {
    
-   public Manager createManager(List<Class<? extends Annotation>> enabledDeploymentTypes)
+   public Manager getManager()
    {
       new MockBootstrap();
-      if (enabledDeploymentTypes != null)
-      {
-         CurrentManager.rootManager().setEnabledDeploymentTypes(enabledDeploymentTypes);
-      }
       return CurrentManager.rootManager();
    }
-   
-   public Manager createManager()
-   {
-      return createManager(null);
-   }
 
    public List<Class<? extends Annotation>> getEnabledDeploymentTypes()
    {
       return CurrentManager.rootManager().getEnabledDeploymentTypes();
    }
    
+   public void setEnabledDeploymentTypes(List<Class<? extends Annotation>> enabledDeploymentTypes)
+   {
+      CurrentManager.rootManager().setEnabledDeploymentTypes(enabledDeploymentTypes);
+   }
+   
 }

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/AbstractTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/AbstractTest.java	2009-02-06 22:19:56 UTC (rev 1434)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/AbstractTest.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -18,9 +18,9 @@
 import org.jboss.webbeans.bean.ProducerMethodBean;
 import org.jboss.webbeans.bean.SimpleBean;
 import org.jboss.webbeans.context.DependentContext;
-import org.jboss.webbeans.test.mock.MockBootstrap;
-import org.jboss.webbeans.test.mock.MockEjbDescriptor;
-import org.jboss.webbeans.test.mock.MockWebBeanDiscovery;
+import org.jboss.webbeans.mock.MockBootstrap;
+import org.jboss.webbeans.mock.MockEjbDescriptor;
+import org.jboss.webbeans.mock.MockWebBeanDiscovery;
 import org.testng.annotations.BeforeMethod;
 
 public class AbstractTest

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/bootstrap/BootstrapTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/bootstrap/BootstrapTest.java	2009-02-06 22:19:56 UTC (rev 1434)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/bootstrap/BootstrapTest.java	2009-02-07 00:16:25 UTC (rev 1435)
@@ -10,7 +10,7 @@
 import org.jboss.webbeans.bean.ProducerMethodBean;
 import org.jboss.webbeans.bean.RIBean;
 import org.jboss.webbeans.bean.SimpleBean;
-import org.jboss.webbeans.test.mock.MockBootstrap;
+import org.jboss.webbeans.mock.MockBootstrap;
 import org.jboss.webbeans.test.unit.AbstractTest;
 import org.testng.annotations.Test;
 

Modified: ri/trunk/webbeans-ri/src/test/resources/log4j.xml
===================================================================
--- ri/trunk/webbeans-ri/src/test/resources/log4j.xml	2009-02-06 22:19:56 UTC (rev 1434)
+++ ri/trunk/webbeans-ri/src/test/resources/log4j.xml	2009-02-07 00:16:25 UTC (rev 1435)
@@ -3,7 +3,6 @@
 <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
 
     <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
         <param name="Target" value="System.out"/>
         <layout class="org.apache.log4j.PatternLayout">
             <!-- The default pattern: Date Priority [Category] Message\n -->




More information about the weld-commits mailing list