You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2011/07/15 11:23:39 UTC
svn commit: r1147052 - in /openejb/trunk/openejb3:
container/openejb-core/src/main/java/org/apache/openejb/cdi/
container/openejb-core/src/main/java/org/apache/openejb/config/
container/openejb-core/src/test/java/org/apache/openejb/cdi/
tck/cdi-embedde...
Author: dblevins
Date: Fri Jul 15 09:23:38 2011
New Revision: 1147052
URL: http://svn.apache.org/viewvc?rev=1147052&view=rev
Log:
OPENEJB-1600: EJB Specialization
Seems we have an intermittent failure in one of the CDI TCK tests as of this commit.
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/BeansDeployer.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/cdi/SpecializationTest.java
openejb/trunk/openejb3/tck/cdi-embedded/src/test/resources/all-failing.xml
openejb/trunk/openejb3/tck/cdi-embedded/src/test/resources/failing.xml
openejb/trunk/openejb3/tck/cdi-embedded/src/test/resources/passing.xml
openejb/trunk/openejb3/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/ContainersImpl.java
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/BeansDeployer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/BeansDeployer.java?rev=1147052&r1=1147051&r2=1147052&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/BeansDeployer.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/BeansDeployer.java Fri Jul 15 09:23:38 2011
@@ -342,7 +342,7 @@ public class BeansDeployer {
//superClassList is used to handle the case: Car, CarToyota, Bus, SchoolBus, CarFord
//for which case, the owb should throw exception that both CarToyota and CarFord are
//specialize Car.
- Class<?> superClass = null;
+ Class<?> superClass;
ArrayList<Class<?>> superClassList = new ArrayList<Class<?>>();
ArrayList<Class<?>> specialClassList = new ArrayList<Class<?>>();
for (Class<?> specialClass : beanClasses) {
@@ -362,13 +362,10 @@ public class BeansDeployer {
webBeansContext.getWebBeansUtil().configureSpecializations(specialClassList);
}
- // XML Defined Specializations
- checkXMLSpecializations();
//configure specialized producer beans.
webBeansContext.getWebBeansUtil().configureProducerMethodSpecializations();
- }
- catch (Exception e) {
+ } catch (Exception e) {
throw new WebBeansDeploymentException(e);
}
@@ -378,36 +375,6 @@ public class BeansDeployer {
/**
- * Check xml specializations.
- * NOTE : Currently XML is not used in configuration.
- */
- protected void checkXMLSpecializations()
- {
- //TODO Update
- // Check XML specializations
-// Set<Class<?>> clazzes = webBeansContext.getxMLSpecializesManager().getXMLSpecializationClasses();
-// Iterator<Class<?>> it = clazzes.iterator();
-// Class<?> superClass = null;
-// Class<?> specialClass = null;
-// ArrayList<Class<?>> specialClassList = new ArrayList<Class<?>>();
-// while (it.hasNext()) {
-// specialClass = it.next();
-//
-// if (superClass == null) {
-// superClass = specialClass.getSuperclass();
-// } else {
-// if (superClass.equals(specialClass.getSuperclass())) {
-// throw new InconsistentSpecializationException(logger.getTokenString(OWBLogConst.EXCEPT_XML)
-// + logger.getTokenString(OWBLogConst.EXCEPT_0005)
-// + superClass.getName());
-// }
-// }
-// specialClassList.add(specialClass);
-// }
-// webBeansContext.getWebBeansUtil().configureSpecializations(specialClassList);
- }
-
- /**
* Check passivations.
*/
protected void checkPassivationScope(Bean<?> beanObj)
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java?rev=1147052&r1=1147051&r2=1147052&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java Fri Jul 15 09:23:38 2011
@@ -19,37 +19,28 @@ package org.apache.openejb.cdi;
import org.apache.openejb.BeanContext;
import org.apache.openejb.BeanType;
import org.apache.openejb.assembler.classic.ProxyInterfaceResolver;
-import org.apache.webbeans.annotation.DependentScopeLiteral;
-import org.apache.webbeans.component.AbstractOwbBean;
-import org.apache.webbeans.component.WebBeansType;
import org.apache.webbeans.config.WebBeansContext;
-import org.apache.webbeans.container.BeanManagerImpl;
import org.apache.webbeans.ejb.common.component.BaseEjbBean;
-import org.apache.webbeans.inject.InjectableConstructor;
import javax.ejb.Remove;
-import javax.enterprise.context.Dependent;
import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.New;
import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.InjectionPoint;
import javax.enterprise.inject.spi.SessionBeanType;
-import javax.enterprise.util.AnnotationLiteral;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Constructor;
import java.lang.reflect.Member;
import java.lang.reflect.Method;
import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
import java.util.List;
-import java.util.Set;
public class CdiEjbBean<T> extends BaseEjbBean<T> {
private final BeanContext beanContext;
public CdiEjbBean(BeanContext beanContext, WebBeansContext webBeansContext) {
- super(beanContext.getBeanClass(), toSessionType(beanContext.getComponentType()), webBeansContext);
+ this(beanContext, webBeansContext, beanContext.getBeanClass());
+ }
+
+ public CdiEjbBean(BeanContext beanContext, WebBeansContext webBeansContext, Class beanClass) {
+ super(beanClass, toSessionType(beanContext.getComponentType()), webBeansContext);
this.beanContext = beanContext;
@@ -90,7 +81,7 @@ public class CdiEjbBean<T> extends BaseE
@Override
public String getId() {
- return (String) beanContext.getDeploymentID();
+ return (String) beanContext.getDeploymentID() + this.getReturnType().getName();
}
@Override
@@ -175,6 +166,18 @@ public class CdiEjbBean<T> extends BaseE
return points;
}
+ protected void specialize(CdiEjbBean<?> superBean) {
+ final CdiEjbBean<T> bean = this;
+ bean.setName(superBean.getName());
+ bean.setSerializable(superBean.isSerializable());
+
+ this.implScopeType = superBean.implScopeType;
+ this.scopeClass = superBean.scopeClass;
+ this.implQualifiers.addAll(superBean.getImplQualifiers());
+ this.stereoTypeClasses.addAll(superBean.stereoTypeClasses);
+ this.stereoTypes.addAll(superBean.stereoTypes);
+ }
+
/* (non-Javadoc)
* @see org.apache.webbeans.component.AbstractBean#isPassivationCapable()
*/
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java?rev=1147052&r1=1147051&r2=1147052&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java Fri Jul 15 09:23:38 2011
@@ -37,6 +37,7 @@ import java.util.concurrent.ThreadFactor
import java.util.concurrent.TimeUnit;
import javax.el.ELResolver;
+import javax.enterprise.inject.Specializes;
import javax.enterprise.inject.spi.AnnotatedType;
import javax.enterprise.inject.spi.BeanManager;
import javax.enterprise.inject.spi.Extension;
@@ -56,6 +57,7 @@ import org.apache.webbeans.config.WebBea
import org.apache.webbeans.config.WebBeansFinder;
import org.apache.webbeans.container.BeanManagerImpl;
import org.apache.webbeans.container.InjectionResolver;
+import org.apache.webbeans.ejb.common.component.EjbBeanCreatorImpl;
import org.apache.webbeans.ejb.common.util.EjbUtility;
import org.apache.webbeans.intercept.InterceptorData;
import org.apache.webbeans.logger.WebBeansLogger;
@@ -255,6 +257,28 @@ public class OpenEJBLifecycle implements
EjbUtility.fireEvents((Class<Object>) implClass, bean, (ProcessAnnotatedTypeImpl<Object>) processAnnotatedEvent);
webBeansContext.getWebBeansUtil().setInjectionTargetBeanEnableFlag(bean);
+
+ Class clazz = beanContext.getBeanClass();
+ while (clazz.isAnnotationPresent(Specializes.class)) {
+ clazz = clazz.getSuperclass();
+
+ if (clazz == null || Object.class.equals(clazz)) break;
+
+ final CdiEjbBean<Object> superBean = new CdiEjbBean<Object>(beanContext, webBeansContext, clazz);
+
+ EjbBeanCreatorImpl<?> ejbBeanCreator = new EjbBeanCreatorImpl(superBean);
+
+ //Define meta-data
+ ejbBeanCreator.defineSerializable();
+ ejbBeanCreator.defineStereoTypes();
+ ejbBeanCreator.defineScopeType("Session Bean implementation class : " + clazz.getName() + " stereotypes must declare same @ScopeType annotations", false);
+ ejbBeanCreator.defineQualifier();
+ ejbBeanCreator.defineName(WebBeansUtil.getManagedBeanDefaultName(clazz.getSimpleName()));
+
+ bean.specialize(superBean);
+
+ EjbUtility.defineSpecializedData(clazz, bean);
+ }
}
//Check Specialization
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?rev=1147052&r1=1147051&r2=1147052&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java Fri Jul 15 09:23:38 2011
@@ -90,6 +90,9 @@ import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
import javax.ejb.TransactionManagement;
import javax.ejb.TransactionManagementType;
+import javax.enterprise.inject.Specializes;
+import javax.enterprise.inject.spi.Decorator;
+import javax.enterprise.inject.spi.Extension;
import javax.interceptor.ExcludeClassInterceptors;
import javax.interceptor.ExcludeDefaultInterceptors;
import javax.interceptor.Interceptors;
@@ -1008,10 +1011,53 @@ public class AnnotationDeployer implemen
IAnnotationFinder finder = ejbModule.getFinder();
+
+ final List<String> managedClasses;
+ {
+ final Beans beans = ejbModule.getBeans();
+
+ if (beans != null) {
+ managedClasses = beans.getManagedClasses();
+ final List<String> classNames = finder.getAnnotatedClassNames();
+ for (String className : classNames) {
+ try {
+ final ClassLoader loader = ejbModule.getClassLoader();
+ final Class<?> clazz = loader.loadClass(className);
+
+ // The following can NOT be beans in CDI
+
+ // 1. Non-static inner classes
+ if (clazz.getEnclosingClass() != null && !Modifier.isStatic(clazz.getModifiers())) continue;
+//
+// // 2. Abstract classes (unless they are an @Decorator)
+// if (Modifier.isAbstract(clazz.getModifiers()) && !clazz.isAnnotationPresent(javax.decorator.Decorator.class)) continue;
+//
+// // 3. Implementations of Extension
+// if (Extension.class.isAssignableFrom(clazz)) continue;
+
+ managedClasses.add(className);
+ } catch (ClassNotFoundException e) {
+ // todo log debug warning
+ }
+ }
+ } else {
+ managedClasses = new ArrayList<String>();
+ }
+ }
+
+ final Set<Class<?>> specializingClasses = new HashSet<Class<?>>();
+
/* 19.2: ejb-name: Default is the unqualified name of the bean class */
EjbJar ejbJar = ejbModule.getEjbJar();
for (Annotated<Class<?>> beanClass : finder.findMetaAnnotatedClasses(Singleton.class)) {
+
+ if (beanClass.isAnnotationPresent(Specializes.class)) {
+ managedClasses.remove(beanClass.get().getName());
+ specializingClasses.add(beanClass.get());
+ continue;
+ }
+
Singleton singleton = beanClass.getAnnotation(Singleton.class);
String ejbName = getEjbName(singleton, beanClass.get());
@@ -1037,6 +1083,13 @@ public class AnnotationDeployer implemen
}
for (Annotated<Class<?>> beanClass : finder.findMetaAnnotatedClasses(Stateless.class)) {
+
+ if (beanClass.isAnnotationPresent(Specializes.class)) {
+ managedClasses.remove(beanClass.get().getName());
+ specializingClasses.add(beanClass.get());
+ continue;
+ }
+
Stateless stateless = beanClass.getAnnotation(Stateless.class);
String ejbName = getEjbName(stateless, beanClass.get());
@@ -1061,7 +1114,21 @@ public class AnnotationDeployer implemen
LegacyProcessor.process(beanClass.get(), enterpriseBean);
}
+ // The Specialization code is good, but it possibly needs to be moved to after the full processing of the bean
+ // the plus is that it would get the required interfaces. The minus is that it would get all the other items
+
+ // Possibly study alternatives. Alternatives might have different meta data completely while it seems Specializing beans inherit all meta-data
+
+ // Anyway.. the qualifiers aren't getting inherited, so we need to fix that
+
for (Annotated<Class<?>> beanClass : finder.findMetaAnnotatedClasses(Stateful.class)) {
+
+ if (beanClass.isAnnotationPresent(Specializes.class)) {
+ managedClasses.remove(beanClass.get().getName());
+ specializingClasses.add(beanClass.get());
+ continue;
+ }
+
Stateful stateful = beanClass.getAnnotation(Stateful.class);
String ejbName = getEjbName(stateful, beanClass.get());
@@ -1087,6 +1154,13 @@ public class AnnotationDeployer implemen
}
for (Annotated<Class<?>> beanClass : finder.findMetaAnnotatedClasses(ManagedBean.class)) {
+
+ if (beanClass.isAnnotationPresent(Specializes.class)) {
+ managedClasses.remove(beanClass.get().getName());
+ specializingClasses.add(beanClass.get());
+ continue;
+ }
+
ManagedBean managed = beanClass.getAnnotation(ManagedBean.class);
String ejbName = getEjbName(managed, beanClass.get());
@@ -1110,6 +1184,13 @@ public class AnnotationDeployer implemen
}
for (Annotated<Class<?>> beanClass : finder.findMetaAnnotatedClasses(MessageDriven.class)) {
+
+ if (beanClass.isAnnotationPresent(Specializes.class)) {
+ managedClasses.remove(beanClass.get().getName());
+ specializingClasses.add(beanClass.get());
+ continue;
+ }
+
MessageDriven mdb = beanClass.getAnnotation(MessageDriven.class);
String ejbName = getEjbName(mdb, beanClass.get());
@@ -1126,6 +1207,19 @@ public class AnnotationDeployer implemen
LegacyProcessor.process(beanClass.get(), messageBean);
}
+
+ for (Class<?> specializingClass : sortClassesParentFirst(new ArrayList<Class<?>>(specializingClasses))) {
+ for (EnterpriseBean enterpriseBean : ejbJar.getEnterpriseBeans()) {
+
+ final String ejbClass = enterpriseBean.getEjbClass();
+
+ if (ejbClass != null && ejbClass.equals(specializingClass.getSuperclass().getName())) {
+ managedClasses.remove(ejbClass);
+ enterpriseBean.setEjbClass(specializingClass.getName());
+ }
+ }
+ }
+
AssemblyDescriptor assemblyDescriptor = ejbModule.getEjbJar().getAssemblyDescriptor();
if (assemblyDescriptor == null) {
assemblyDescriptor = new AssemblyDescriptor();
@@ -1145,15 +1239,6 @@ public class AnnotationDeployer implemen
}
}
- {
- final Beans beans = ejbModule.getBeans();
-
- if (beans != null) {
- beans.getManagedClasses().addAll(finder.getAnnotatedClassNames());
- }
- }
-
-
return ejbModule;
}
@@ -4388,6 +4473,16 @@ public class AnnotationDeployer implemen
return list;
}
+ public static List<Class<?>> sortClassesParentFirst(List<Class<?>> list) {
+ Collections.sort(list, new Comparator<Class<?>>() {
+ @Override
+ public int compare(Class<?> o1, Class<?> o2) {
+ return compareClasses(o2, o1);
+ }
+ });
+ return list;
+ }
+
public static List<Annotated<Method>> sortMethods(List<Annotated<Method>> list) {
Collections.sort(list, new Comparator<Annotated<Method>>() {
@Override
Modified: openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/cdi/SpecializationTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/cdi/SpecializationTest.java?rev=1147052&r1=1147051&r2=1147052&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/cdi/SpecializationTest.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/cdi/SpecializationTest.java Fri Jul 15 09:23:38 2011
@@ -22,6 +22,7 @@ import org.apache.openejb.junit.Module;
import org.junit.Test;
import org.junit.runner.RunWith;
+import javax.ejb.Stateful;
import javax.enterprise.inject.Specializes;
import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.BeanManager;
@@ -51,12 +52,12 @@ public class SpecializationTest extends
public static interface Color {
}
- // @Stateful
+ @Stateful
public static class RedBean implements Color {
}
@Specializes
-// @Stateful
+ @Stateful
public static class CrimsonBean extends RedBean implements Color {
}
Modified: openejb/trunk/openejb3/tck/cdi-embedded/src/test/resources/all-failing.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/tck/cdi-embedded/src/test/resources/all-failing.xml?rev=1147052&r1=1147051&r2=1147052&view=diff
==============================================================================
--- openejb/trunk/openejb3/tck/cdi-embedded/src/test/resources/all-failing.xml (original)
+++ openejb/trunk/openejb3/tck/cdi-embedded/src/test/resources/all-failing.xml Fri Jul 15 09:23:38 2011
@@ -37,21 +37,15 @@
<class name="org.jboss.jsr299.tck.tests.context.passivating.broken.enterpriseBeanWithNonPassivatingDecorator.EnterpriseBeanWithNonPassivatingDecoratorTest"/>
<class name="org.jboss.jsr299.tck.tests.context.request.RequestContextTest"/>
<class name="org.jboss.jsr299.tck.tests.context.session.SessionContextTest"/>
- <class name="org.jboss.jsr299.tck.tests.definition.stereotype.broken.nonEmptyNamed.NonEmptyNamedTest"/>
- <class name="org.jboss.jsr299.tck.tests.definition.stereotype.broken.tooManyScopes.TooManyScopeTypesTest"/>
<class name="org.jboss.jsr299.tck.tests.deployment.packaging.bundledLibrary.LibraryInEarTest"/>
<class name="org.jboss.jsr299.tck.tests.deployment.packaging.bundledLibrary.LibraryInWarTest"/>
<class name="org.jboss.jsr299.tck.tests.implementation.enterprise.lifecycle.EnterpriseBeanLifecycleTest"/>
<class name="org.jboss.jsr299.tck.tests.implementation.simple.resource.env.EnvInjectionTest"/>
<class name="org.jboss.jsr299.tck.tests.implementation.simple.resource.persistenceContext.PersistenceContextInjectionTest"/>
<class name="org.jboss.jsr299.tck.tests.implementation.simple.resource.resource.InjectionOfResourceTest"/>
- <class name="org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.EnterpriseBeanSpecializationIntegrationTest"/>
- <class name="org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.EnterpriseBeanSpecializationTest"/>
<class name="org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.broken.directlyExtendsNothing.DirectlyExtendsNothingTest"/>
<class name="org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.broken.directlyExtendsSimpleBean.DirectlyExtendsSimpleBeanTest"/>
<class name="org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.broken.implementInterfaceAndExtendsNothing.ImplementsInterfaceAndExtendsNothingTest"/>
- <class name="org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.broken.sameName.SameNameTest"/>
- <class name="org.jboss.jsr299.tck.tests.interceptors.definition.broken.nonExistantClassInBeansXml.NonExistantClassInBeansXmlTest"/>
<class name="org.jboss.jsr299.tck.tests.lookup.clientProxy.incontainer.ClientProxyTest"/>
<class name="org.jboss.jsr299.tck.tests.lookup.el.ResolutionByNameTest"/>
<class name="org.jboss.jsr299.tck.tests.lookup.el.integration.IntegrationWithUnifiedELTest"/>
Modified: openejb/trunk/openejb3/tck/cdi-embedded/src/test/resources/failing.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/tck/cdi-embedded/src/test/resources/failing.xml?rev=1147052&r1=1147051&r2=1147052&view=diff
==============================================================================
--- openejb/trunk/openejb3/tck/cdi-embedded/src/test/resources/failing.xml (original)
+++ openejb/trunk/openejb3/tck/cdi-embedded/src/test/resources/failing.xml Fri Jul 15 09:23:38 2011
@@ -26,22 +26,12 @@
<!--<package name="org.jboss.jsr299.tck.interceptors.tests.*"/>-->
<!--</packages>-->
<classes>
- <!--<class name="org.jboss.jsr299.tck.tests.context.dependent.ejb.DependentContextEjbTest"/>-->
- <!--<class name="org.jboss.jsr299.tck.tests.context.passivating.broken.dependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoStatefulSessionBean.EnterpriseBeanWithIllegalDependencyTest"/>-->
- <!--<class name="org.jboss.jsr299.tck.tests.context.passivating.broken.dependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoStatefulSessionBean.EnterpriseBeanWithIllegalDependencyTest"/>-->
- <class name="org.jboss.jsr299.tck.tests.context.request.ejb.EJBRequestContextTest"/>
- <!--<class name="org.jboss.jsr299.tck.tests.extensions.producer.ProducerTest"/>-->
- <!--<class name="org.jboss.jsr299.tck.tests.implementation.builtin.BuiltInBeansTest"/>-->
- <!--<class name="org.jboss.jsr299.tck.tests.implementation.enterprise.lifecycle.EnterpriseBeanLifecycleTest">-->
- <!--<methods>-->
- <!--<exclude name="testCreateSFSB"/>-->
- <!--</methods>-->
- <!--</class>-->
- <!--<class name="org.jboss.jsr299.tck.tests.context.dependent.ejb.DependentContextEjbTest"/>-->
- <!--<class name="org.jboss.jsr299.tck.tests.implementation.producer.method.definition.enterprise.EnterpriseProducerMethodDefinitionTest"/>-->
- <!--<class name="org.jboss.jsr299.tck.tests.implementation.simple.resource.ejb.EjbInjectionTest"/>-->
- <!--<class name="org.jboss.jsr299.tck.tests.interceptors.definition.enterprise.nonContextualReference.SessionBeanInterceptorOnNonContextualEjbReferenceTest"/>-->
- <!--<class name="org.jboss.jsr299.tck.tests.lookup.injection.non.contextual.ws.InjectionIntoWebServiceEndPointTest"/>-->
+ <class name="org.jboss.jsr299.tck.tests.context.session.SessionContextTest"/>
+ <class name="org.jboss.jsr299.tck.tests.deployment.packaging.bundledLibrary.LibraryInEarTest"/>
+ <class name="org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.broken.directlyExtendsNothing.DirectlyExtendsNothingTest"/>
+ <class name="org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.broken.directlyExtendsSimpleBean.DirectlyExtendsSimpleBeanTest"/>
+ <class name="org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.broken.implementInterfaceAndExtendsNothing.ImplementsInterfaceAndExtendsNothingTest"/>
+ <class name="org.jboss.jsr299.tck.tests.lookup.el.integration.IntegrationWithUnifiedELTest"/>
</classes>
</test>
</suite>
Modified: openejb/trunk/openejb3/tck/cdi-embedded/src/test/resources/passing.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/tck/cdi-embedded/src/test/resources/passing.xml?rev=1147052&r1=1147051&r2=1147052&view=diff
==============================================================================
--- openejb/trunk/openejb3/tck/cdi-embedded/src/test/resources/passing.xml (original)
+++ openejb/trunk/openejb3/tck/cdi-embedded/src/test/resources/passing.xml Fri Jul 15 09:23:38 2011
@@ -112,16 +112,6 @@
<exclude name="testSessionScopeActiveDuringServiceMethod"/>
</methods>
</class>
- <class name="org.jboss.jsr299.tck.tests.definition.stereotype.broken.nonEmptyNamed.NonEmptyNamedTest">
- <methods>
- <exclude name="testStereotypeWithNonEmptyNamed"/>
- </methods>
- </class>
- <class name="org.jboss.jsr299.tck.tests.definition.stereotype.broken.tooManyScopes.TooManyScopeTypesTest">
- <methods>
- <exclude name="testStereotypeWithTooManyScopeTypes"/>
- </methods>
- </class>
<class name="org.jboss.jsr299.tck.tests.deployment.packaging.bundledLibrary.LibraryInEarTest">
<methods>
<exclude name="test"/>
@@ -159,17 +149,6 @@
<exclude name="testProduceResourceProxy"/>
</methods>
</class>
- <class name="org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.EnterpriseBeanSpecializationIntegrationTest">
- <methods>
- <exclude name="testSpecializedBeanNotInstantiated"/>
- </methods>
- </class>
- <class name="org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.EnterpriseBeanSpecializationTest">
- <methods>
- <exclude name="testSpecializingBeanHasBindingsOfSpecializedAndSpecializingBean"/>
- <exclude name="testSpecializingBeanHasNameOfSpecializedBean"/>
- </methods>
- </class>
<class name="org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.broken.directlyExtendsNothing.DirectlyExtendsNothingTest">
<methods>
<exclude name="testSpecializingClassDirectlyExtendsNothing"/>
@@ -185,16 +164,6 @@
<exclude name="testSpecializingClassImplementsInterfaceAndExtendsNothing"/>
</methods>
</class>
- <class name="org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.broken.sameName.SameNameTest">
- <methods>
- <exclude name="testSpecializingAndSpecializedBeanHasName"/>
- </methods>
- </class>
- <class name="org.jboss.jsr299.tck.tests.interceptors.definition.broken.nonExistantClassInBeansXml.NonExistantClassInBeansXmlTest">
- <methods>
- <exclude name="testNonExistantClassInBeansXmlNotOk"/>
- </methods>
- </class>
<class name="org.jboss.jsr299.tck.tests.lookup.clientProxy.incontainer.ClientProxyTest">
<methods>
<exclude name="testInvocationIsProcessedOnCurrentInstance"/>
Modified: openejb/trunk/openejb3/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/ContainersImpl.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/ContainersImpl.java?rev=1147052&r1=1147051&r2=1147052&view=diff
==============================================================================
--- openejb/trunk/openejb3/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/ContainersImpl.java (original)
+++ openejb/trunk/openejb3/tck/tck-common/src/main/java/org/apache/openejb/tck/impl/ContainersImpl.java Fri Jul 15 09:23:38 2011
@@ -145,6 +145,18 @@ public class ContainersImpl implements C
writeonlybuffer.compact();
}
+ private File writeToFile2(InputStream archive, String name) throws IOException {
+ final File file = File.createTempFile("deploy", "-" + name);
+ final FileOutputStream outputStream = new FileOutputStream(file);
+
+ int i = 0;
+ while ((i = archive.read()) != -1) {
+ outputStream.write(i);
+ }
+ outputStream.close();
+ return file;
+ }
+
private File writeToFile(InputStream archive, String name) throws IOException {
final File file = File.createTempFile("deploy", "-" + name);
file.deleteOnExit();