[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