Author: rmannibucau
Date: Sat Jun 28 14:47:37 2014
New Revision: 1606366
URL: http://svn.apache.org/r1606366
Log:
OWB-977 ProcessBeanAttributes event
Added:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/ProcessBeanAttributesImpl.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/generics/GProcessBeanAttributes.java
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/events/injectiontarget/ProcessBeanAttributesTest.java
- copied, changed from r1606356,
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/events/injectiontarget/ProcessInjectionTargetTest.java
openwebbeans/trunk/webbeans-tck/testng-dev.xml
- copied, changed from r1606356,
openwebbeans/trunk/webbeans-tck/standalone-suite.xml
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/CdiInterceptorBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/EjbInterceptorBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptorBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/SelfInterceptorBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/CdiInterceptorBeanBuilder.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/DecoratorBeanBuilder.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanBuilder.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/CdiInterceptorBean.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/CdiInterceptorBean.java?rev=1606366&r1=1606365&r2=1606366&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/CdiInterceptorBean.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/CdiInterceptorBean.java
Sat Jun 28 14:47:37 2014
@@ -19,6 +19,7 @@
package org.apache.webbeans.component;
import javax.enterprise.inject.spi.AnnotatedType;
+import javax.enterprise.inject.spi.BeanAttributes;
import javax.enterprise.inject.spi.InterceptionType;
import javax.enterprise.inject.spi.PassivationCapable;
@@ -43,7 +44,7 @@ public class CdiInterceptorBean<T> exten
public CdiInterceptorBean(WebBeansContext webBeansContext,
AnnotatedType<T> annotatedType,
- BeanAttributesImpl<T> beanAttributes,
+ BeanAttributes<T> beanAttributes,
Class<T> beanClass,
Set<Annotation> interceptorBindings,
boolean enabled,
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/EjbInterceptorBean.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/EjbInterceptorBean.java?rev=1606366&r1=1606365&r2=1606366&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/EjbInterceptorBean.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/EjbInterceptorBean.java
Sat Jun 28 14:47:37 2014
@@ -19,6 +19,7 @@
package org.apache.webbeans.component;
import javax.enterprise.inject.spi.AnnotatedType;
+import javax.enterprise.inject.spi.BeanAttributes;
import javax.enterprise.inject.spi.InterceptionType;
import javax.enterprise.inject.spi.Interceptor;
import javax.enterprise.inject.spi.PassivationCapable;
@@ -40,7 +41,7 @@ public class EjbInterceptorBean<T> exten
public EjbInterceptorBean(WebBeansContext webBeansContext,
AnnotatedType<T> annotated,
- BeanAttributesImpl<T> beanAttributes,
+ BeanAttributes<T> beanAttributes,
Class<T> beanClass,
Map<InterceptionType, Method[]>
interceptionMethods,
Method aroundConstruct)
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptorBean.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptorBean.java?rev=1606366&r1=1606365&r2=1606366&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptorBean.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptorBean.java
Sat Jun 28 14:47:37 2014
@@ -101,7 +101,7 @@ public abstract class InterceptorBean<T>
public InterceptorBean(WebBeansContext webBeansContext,
AnnotatedType<T> annotatedType,
- BeanAttributesImpl<T> beanAttributes,
+ BeanAttributes<T> beanAttributes,
Class<T> beanClass,
Map<InterceptionType, Method[]> interceptionMethods,
Method aroundConstructMethod)
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java?rev=1606366&r1=1606365&r2=1606366&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java
Sat Jun 28 14:47:37 2014
@@ -21,6 +21,7 @@ package org.apache.webbeans.component;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.spi.AnnotatedType;
import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanAttributes;
import javax.enterprise.inject.spi.PassivationCapable;
import org.apache.webbeans.config.WebBeansContext;
@@ -36,7 +37,7 @@ public class ManagedBean<T> extends Inje
public ManagedBean(WebBeansContext webBeansContext,
WebBeansType webBeansType,
AnnotatedType<T> annotated,
- BeanAttributesImpl<T> beanAttributes,
+ BeanAttributes<T> beanAttributes,
Class<T> beanClass)
{
super(webBeansContext, webBeansType, annotated, beanAttributes,
beanClass);
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/SelfInterceptorBean.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/SelfInterceptorBean.java?rev=1606366&r1=1606365&r2=1606366&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/SelfInterceptorBean.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/SelfInterceptorBean.java
Sat Jun 28 14:47:37 2014
@@ -20,6 +20,7 @@ package org.apache.webbeans.component;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.spi.AnnotatedType;
+import javax.enterprise.inject.spi.BeanAttributes;
import javax.enterprise.inject.spi.InterceptionType;
import javax.enterprise.inject.spi.Interceptor;
import java.lang.annotation.Annotation;
@@ -44,7 +45,7 @@ public class SelfInterceptorBean<T> exte
public SelfInterceptorBean(WebBeansContext webBeansContext,
AnnotatedType<T> annotatedType,
- BeanAttributesImpl<T> beanAttributes,
+ BeanAttributes<T> beanAttributes,
Class<T> beanClass,
Map<InterceptionType, Method[]>
interceptionMethods,
Method aroundConstruct)
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/CdiInterceptorBeanBuilder.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/CdiInterceptorBeanBuilder.java?rev=1606366&r1=1606365&r2=1606366&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/CdiInterceptorBeanBuilder.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/CdiInterceptorBeanBuilder.java
Sat Jun 28 14:47:37 2014
@@ -20,6 +20,7 @@ package org.apache.webbeans.component.cr
import javax.enterprise.inject.spi.AnnotatedType;
+import javax.enterprise.inject.spi.BeanAttributes;
import javax.enterprise.inject.spi.InterceptionType;
import java.lang.annotation.Annotation;
@@ -28,7 +29,6 @@ import java.util.Collections;
import java.util.Map;
import java.util.Set;
-import org.apache.webbeans.component.BeanAttributesImpl;
import org.apache.webbeans.component.CdiInterceptorBean;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.exception.WebBeansConfigurationException;
@@ -42,7 +42,7 @@ public class CdiInterceptorBeanBuilder<T
private Set<Annotation> interceptorBindings;
- public CdiInterceptorBeanBuilder(WebBeansContext webBeansContext,
AnnotatedType<T> annotatedType, BeanAttributesImpl<T> beanAttributes)
+ public CdiInterceptorBeanBuilder(WebBeansContext webBeansContext,
AnnotatedType<T> annotatedType, BeanAttributes<T> beanAttributes)
{
super(webBeansContext, annotatedType, beanAttributes);
}
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/DecoratorBeanBuilder.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/DecoratorBeanBuilder.java?rev=1606366&r1=1606365&r2=1606366&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/DecoratorBeanBuilder.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/DecoratorBeanBuilder.java
Sat Jun 28 14:47:37 2014
@@ -25,6 +25,7 @@ import javax.enterprise.context.Dependen
import javax.enterprise.inject.Alternative;
import javax.enterprise.inject.spi.AnnotatedMethod;
import javax.enterprise.inject.spi.AnnotatedType;
+import javax.enterprise.inject.spi.BeanAttributes;
import javax.enterprise.inject.spi.InjectionPoint;
import javax.inject.Inject;
@@ -42,7 +43,6 @@ import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
-import org.apache.webbeans.component.BeanAttributesImpl;
import org.apache.webbeans.component.DecoratorBean;
import org.apache.webbeans.component.WebBeansType;
import org.apache.webbeans.config.OWBLogConst;
@@ -62,7 +62,7 @@ public class DecoratorBeanBuilder<T> ext
protected final WebBeansContext webBeansContext;
protected final AnnotatedType<T> annotatedType;
- protected final BeanAttributesImpl<T> beanAttributes;
+ protected final BeanAttributes<T> beanAttributes;
/**
* The Types the decorator itself implements
@@ -81,7 +81,7 @@ public class DecoratorBeanBuilder<T> ext
private final Set<String> ignoredDecoratorInterfaces;
- public DecoratorBeanBuilder(WebBeansContext webBeansContext,
AnnotatedType<T> annotatedType, BeanAttributesImpl<T> beanAttributes)
+ public DecoratorBeanBuilder(WebBeansContext webBeansContext,
AnnotatedType<T> annotatedType, BeanAttributes<T> beanAttributes)
{
Asserts.assertNotNull(webBeansContext, "webBeansContext may not be
null");
Asserts.assertNotNull(annotatedType, "annotated type may not be null");
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java?rev=1606366&r1=1606365&r2=1606366&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java
Sat Jun 28 14:47:37 2014
@@ -24,6 +24,7 @@ import javax.enterprise.inject.Produces;
import javax.enterprise.inject.spi.AnnotatedMethod;
import javax.enterprise.inject.spi.AnnotatedParameter;
import javax.enterprise.inject.spi.AnnotatedType;
+import javax.enterprise.inject.spi.BeanAttributes;
import javax.enterprise.inject.spi.InterceptionType;
import javax.interceptor.AroundConstruct;
import javax.interceptor.AroundInvoke;
@@ -40,7 +41,6 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import org.apache.webbeans.component.BeanAttributesImpl;
import org.apache.webbeans.component.InterceptorBean;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.exception.WebBeansConfigurationException;
@@ -56,7 +56,7 @@ public abstract class InterceptorBeanBui
{
protected final WebBeansContext webBeansContext;
protected final AnnotatedType<T> annotatedType;
- protected final BeanAttributesImpl<T> beanAttributes;
+ protected final BeanAttributes<T> beanAttributes;
private final OpenWebBeansEjbLCAPlugin ejbPlugin;
private final Class<? extends Annotation> prePassivateClass;
@@ -65,7 +65,7 @@ public abstract class InterceptorBeanBui
private Map<InterceptionType, Method[]> interceptionMethods;
private Method interceptionConstructor = null;
- protected InterceptorBeanBuilder(WebBeansContext webBeansContext,
AnnotatedType<T> annotatedType, BeanAttributesImpl<T> beanAttributes)
+ protected InterceptorBeanBuilder(WebBeansContext webBeansContext,
AnnotatedType<T> annotatedType, BeanAttributes<T> beanAttributes)
{
Asserts.assertNotNull(webBeansContext, "webBeansContext may not be
null");
Asserts.assertNotNull(annotatedType, "annotated type may not be null");
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanBuilder.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanBuilder.java?rev=1606366&r1=1606365&r2=1606366&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanBuilder.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanBuilder.java
Sat Jun 28 14:47:37 2014
@@ -19,8 +19,8 @@
package org.apache.webbeans.component.creation;
import javax.enterprise.inject.spi.AnnotatedType;
+import javax.enterprise.inject.spi.BeanAttributes;
-import org.apache.webbeans.component.BeanAttributesImpl;
import org.apache.webbeans.component.ManagedBean;
import org.apache.webbeans.component.WebBeansType;
import org.apache.webbeans.config.WebBeansContext;
@@ -39,12 +39,12 @@ public class ManagedBeanBuilder<T, M ext
{
protected final WebBeansContext webBeansContext;
protected final AnnotatedType<T> annotatedType;
- protected final BeanAttributesImpl<T> beanAttributes;
+ protected final BeanAttributes<T> beanAttributes;
/**
* Creates a new creator.
*/
- public ManagedBeanBuilder(WebBeansContext webBeansContext,
AnnotatedType<T> annotatedType, BeanAttributesImpl<T> beanAttributes)
+ public ManagedBeanBuilder(WebBeansContext webBeansContext,
AnnotatedType<T> annotatedType, BeanAttributes<T> beanAttributes)
{
Asserts.assertNotNull(webBeansContext, "webBeansContext may not be
null");
Asserts.assertNotNull(annotatedType, "annotated type may not be null");
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java?rev=1606366&r1=1606365&r2=1606366&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
Sat Jun 28 14:47:37 2014
@@ -20,7 +20,6 @@ package org.apache.webbeans.config;
import org.apache.webbeans.annotation.AnnotationManager;
import org.apache.webbeans.component.AbstractProducerBean;
-import org.apache.webbeans.component.BeanAttributesImpl;
import org.apache.webbeans.component.CdiInterceptorBean;
import org.apache.webbeans.component.DecoratorBean;
import org.apache.webbeans.component.EnterpriseBeanMarker;
@@ -43,12 +42,14 @@ import org.apache.webbeans.corespi.se.De
import org.apache.webbeans.decorator.DecoratorsManager;
import org.apache.webbeans.deployment.StereoTypeModel;
import org.apache.webbeans.event.ObserverMethodImpl;
+import org.apache.webbeans.portable.events.ProcessBeanAttributesImpl;
import org.apache.webbeans.exception.WebBeansConfigurationException;
import org.apache.webbeans.exception.WebBeansDeploymentException;
import org.apache.webbeans.exception.WebBeansException;
import javax.annotation.Priority;
import javax.enterprise.inject.Alternative;
+import javax.enterprise.inject.spi.BeanAttributes;
import javax.enterprise.inject.spi.DefinitionException;
import javax.enterprise.inject.spi.DeploymentException;
import org.apache.webbeans.inject.AlternativesManager;
@@ -64,6 +65,7 @@ import org.apache.webbeans.portable.even
import
org.apache.webbeans.portable.events.discovery.AfterDeploymentValidationImpl;
import org.apache.webbeans.portable.events.discovery.AfterTypeDiscoveryImpl;
import org.apache.webbeans.portable.events.discovery.BeforeBeanDiscoveryImpl;
+import org.apache.webbeans.portable.events.generics.GProcessBeanAttributes;
import org.apache.webbeans.portable.events.generics.GProcessManagedBean;
import org.apache.webbeans.spi.BeanArchiveService;
import org.apache.webbeans.spi.JNDIService;
@@ -1130,7 +1132,7 @@ public class BeansDeployer
}
{
- BeanAttributesImpl<T> beanAttributes =
BeanAttributesBuilder.forContext(webBeansContext).newBeanAttibutes(annotatedType).build();
+ BeanAttributes<T> beanAttributes =
BeanAttributesBuilder.forContext(webBeansContext).newBeanAttibutes(annotatedType).build();
ManagedBeanBuilder<T, ManagedBean<T>> managedBeanCreator = new
ManagedBeanBuilder<T, ManagedBean<T>>(webBeansContext, annotatedType,
beanAttributes);
@@ -1140,12 +1142,19 @@ public class BeansDeployer
{
logger.log(Level.FINE, "Found Managed Bean Decorator with
class name : [{0}]", annotatedType.getJavaClass().getName());
}
- DecoratorBeanBuilder<T> dbb = new
DecoratorBeanBuilder<T>(webBeansContext, annotatedType, beanAttributes);
- if (dbb.isDecoratorEnabled())
+
+ final ProcessBeanAttributesImpl event =
fireProcessBeanAttributes(annotatedType, beanAttributes);
+ if (!event.isVeto())
{
- dbb.defineDecoratorRules();
- DecoratorBean<T> decorator = dbb.getBean();
-
webBeansContext.getDecoratorsManager().addDecorator(decorator);
+ beanAttributes =
updateBeanAttributesIfNeeded(beanAttributes, event);
+
+ DecoratorBeanBuilder<T> dbb = new
DecoratorBeanBuilder<T>(webBeansContext, annotatedType, beanAttributes);
+ if (dbb.isDecoratorEnabled())
+ {
+ dbb.defineDecoratorRules();
+ DecoratorBean<T> decorator = dbb.getBean();
+
webBeansContext.getDecoratorsManager().addDecorator(decorator);
+ }
}
}
else if(WebBeansUtil.isCdiInterceptor(annotatedType))
@@ -1154,117 +1163,162 @@ public class BeansDeployer
{
logger.log(Level.FINE, "Found Managed Bean Interceptor
with class name : [{0}]", annotatedType.getJavaClass().getName());
}
-
- CdiInterceptorBeanBuilder<T> ibb = new
CdiInterceptorBeanBuilder<T>(webBeansContext, annotatedType, beanAttributes);
- if (ibb.isInterceptorEnabled())
+
+ final ProcessBeanAttributesImpl event =
fireProcessBeanAttributes(annotatedType, beanAttributes);
+ if (!event.isVeto())
{
- ibb.defineCdiInterceptorRules();
- CdiInterceptorBean<T> interceptor = ibb.getBean();
-
webBeansContext.getInterceptorsManager().addCdiInterceptor(interceptor);
+ beanAttributes =
updateBeanAttributesIfNeeded(beanAttributes, event);
+
+ CdiInterceptorBeanBuilder<T> ibb = new
CdiInterceptorBeanBuilder<T>(webBeansContext, annotatedType, beanAttributes);
+ if (ibb.isInterceptorEnabled())
+ {
+ ibb.defineCdiInterceptorRules();
+ CdiInterceptorBean<T> interceptor = ibb.getBean();
+
webBeansContext.getInterceptorsManager().addCdiInterceptor(interceptor);
+ }
}
}
else
{
- InjectionTargetBean<T> bean = managedBeanCreator.getBean();
-
- if
(webBeansContext.getDecoratorsManager().containsCustomDecoratorClass(annotatedType.getJavaClass())
||
-
webBeansContext.getInterceptorsManager().containsCustomInterceptorClass(annotatedType.getJavaClass()))
- {
- return; //TODO discuss this case (it was ignored before)
- }
-
- if (logger.isLoggable(Level.FINE))
+ final ProcessBeanAttributesImpl event =
fireProcessBeanAttributes(annotatedType, beanAttributes);
+ if (!event.isVeto())
{
- logger.log(Level.FINE, "Found Managed Bean with class name
: [{0}]", annotatedType.getJavaClass().getName());
- }
+ beanAttributes =
updateBeanAttributesIfNeeded(beanAttributes, event);
- Set<ObserverMethod<?>> observerMethods = new
HashSet<ObserverMethod<?>>();
- if(bean.isEnabled())
- {
- observerMethods = new ObserverMethodsBuilder<T,
InjectionTargetBean<T>>(webBeansContext,
bean.getAnnotatedType()).defineObserverMethods(bean);
- }
- Set<ProducerMethodBean<?>> producerMethods = new
ProducerMethodBeansBuilder(bean.getWebBeansContext(),
bean.getAnnotatedType()).defineProducerMethods(bean);
- Set<ProducerFieldBean<?>> producerFields = new
ProducerFieldBeansBuilder(bean.getWebBeansContext(),
bean.getAnnotatedType()).defineProducerFields(bean);
+ InjectionTargetBean<T> bean = managedBeanCreator.getBean();
- ManagedBean<T> managedBean = (ManagedBean<T>)bean;
- Map<ProducerMethodBean<?>,AnnotatedMethod<?>> annotatedMethods
=
- new HashMap<ProducerMethodBean<?>,
AnnotatedMethod<?>>();
+ if
(webBeansContext.getDecoratorsManager().containsCustomDecoratorClass(annotatedType.getJavaClass())
||
+
webBeansContext.getInterceptorsManager().containsCustomInterceptorClass(annotatedType.getJavaClass()))
+ {
+ return; //TODO discuss this case (it was ignored
before)
+ }
- for(ProducerMethodBean<?> producerMethod : producerMethods)
- {
- AnnotatedMethod<?> method =
webBeansContext.getAnnotatedElementFactory().newAnnotatedMethod(producerMethod.getCreatorMethod(),
annotatedType);
- webBeansContext.getWebBeansUtil().inspectErrorStack("There
are errors that are added by ProcessProducer event observers for "
- + "ProducerMethods. Look at logs for further
details");
+ if (logger.isLoggable(Level.FINE))
+ {
+ logger.log(Level.FINE, "Found Managed Bean with class
name : [{0}]", annotatedType.getJavaClass().getName());
+ }
- annotatedMethods.put(producerMethod, method);
- }
+ Set<ObserverMethod<?>> observerMethods = new
HashSet<ObserverMethod<?>>();
+ if(bean.isEnabled())
+ {
+ observerMethods = new ObserverMethodsBuilder<T,
InjectionTargetBean<T>>(webBeansContext,
bean.getAnnotatedType()).defineObserverMethods(bean);
+ }
+ Set<ProducerMethodBean<?>> producerMethods = new
ProducerMethodBeansBuilder(bean.getWebBeansContext(),
bean.getAnnotatedType()).defineProducerMethods(bean);
+ Set<ProducerFieldBean<?>> producerFields = new
ProducerFieldBeansBuilder(bean.getWebBeansContext(),
bean.getAnnotatedType()).defineProducerFields(bean);
- Map<ProducerFieldBean<?>,AnnotatedField<?>> annotatedFields =
- new HashMap<ProducerFieldBean<?>, AnnotatedField<?>>();
+ ManagedBean<T> managedBean = (ManagedBean<T>)bean;
+ Map<ProducerMethodBean<?>,AnnotatedMethod<?>>
annotatedMethods =
+ new HashMap<ProducerMethodBean<?>,
AnnotatedMethod<?>>();
- for(ProducerFieldBean<?> producerField : producerFields)
- {
- webBeansContext.getWebBeansUtil().inspectErrorStack("There
are errors that are added by ProcessProducer event observers for"
- + " ProducerFields. Look at logs for further
details");
+ for(ProducerMethodBean<?> producerMethod : producerMethods)
+ {
+ AnnotatedMethod<?> method =
webBeansContext.getAnnotatedElementFactory().newAnnotatedMethod(producerMethod.getCreatorMethod(),
annotatedType);
+
webBeansContext.getWebBeansUtil().inspectErrorStack("There are errors that are
added by ProcessProducer event observers for "
+ + "ProducerMethods. Look at logs for further
details");
- annotatedFields.put(producerField,
-
webBeansContext.getAnnotatedElementFactory().newAnnotatedField(
- producerField.getCreatorField(),
-
webBeansContext.getAnnotatedElementFactory().newAnnotatedType(producerField.getBeanClass())));
- }
+ annotatedMethods.put(producerMethod, method);
+ }
- Map<ObserverMethod<?>,AnnotatedMethod<?>> observerMethodsMap =
- new HashMap<ObserverMethod<?>, AnnotatedMethod<?>>();
+ Map<ProducerFieldBean<?>,AnnotatedField<?>>
annotatedFields =
+ new HashMap<ProducerFieldBean<?>,
AnnotatedField<?>>();
- for(ObserverMethod<?> observerMethod : observerMethods)
- {
- ObserverMethodImpl<?> impl =
(ObserverMethodImpl<?>)observerMethod;
- AnnotatedMethod<?> method = impl.getObserverMethod();
+ for(ProducerFieldBean<?> producerField : producerFields)
+ {
+
webBeansContext.getWebBeansUtil().inspectErrorStack("There are errors that are
added by ProcessProducer event observers for"
+ + " ProducerFields. Look at logs for further
details");
- observerMethodsMap.put(observerMethod, method);
- }
+ annotatedFields.put(producerField,
+
webBeansContext.getAnnotatedElementFactory().newAnnotatedField(
+ producerField.getCreatorField(),
+
webBeansContext.getAnnotatedElementFactory().newAnnotatedType(producerField.getBeanClass())));
+ }
- BeanManagerImpl beanManager =
webBeansContext.getBeanManagerImpl();
+ Map<ObserverMethod<?>,AnnotatedMethod<?>>
observerMethodsMap =
+ new HashMap<ObserverMethod<?>,
AnnotatedMethod<?>>();
- //Fires ProcessManagedBean
- ProcessBeanImpl<T> processBeanEvent = new
GProcessManagedBean(managedBean, annotatedType);
- beanManager.fireEvent(processBeanEvent);
- webBeansContext.getWebBeansUtil().inspectErrorStack("There are
errors that are added by ProcessManagedBean event observers for " +
- "managed beans. Look at logs for further details");
+ for(ObserverMethod<?> observerMethod : observerMethods)
+ {
+ ObserverMethodImpl<?> impl =
(ObserverMethodImpl<?>)observerMethod;
+ AnnotatedMethod<?> method = impl.getObserverMethod();
- //Fires ProcessProducerMethod
-
webBeansContext.getWebBeansUtil().fireProcessProducerMethodBeanEvent(annotatedMethods,
annotatedType);
- webBeansContext.getWebBeansUtil().inspectErrorStack("There are
errors that are added by ProcessProducerMethod event observers for " +
- "producer method beans. Look at logs for further
details");
+ observerMethodsMap.put(observerMethod, method);
+ }
- //Fires ProcessProducerField
-
webBeansContext.getWebBeansUtil().fireProcessProducerFieldBeanEvent(annotatedFields);
- webBeansContext.getWebBeansUtil().inspectErrorStack("There are
errors that are added by ProcessProducerField event observers for " +
- "producer field beans. Look at logs for further
details");
+ BeanManagerImpl beanManager =
webBeansContext.getBeanManagerImpl();
- //Fire ObservableMethods
-
webBeansContext.getWebBeansUtil().fireProcessObservableMethodBeanEvent(observerMethodsMap);
- webBeansContext.getWebBeansUtil().inspectErrorStack("There are
errors that are added by ProcessObserverMethod event observers for " +
- "observer methods. Look at logs for further details");
+ //Fires ProcessManagedBean
+ ProcessBeanImpl<T> processBeanEvent = new
GProcessManagedBean(managedBean, annotatedType);
+ beanManager.fireEvent(processBeanEvent);
+ webBeansContext.getWebBeansUtil().inspectErrorStack("There
are errors that are added by ProcessManagedBean event observers for " +
+ "managed beans. Look at logs for further details");
+
+ //Fires ProcessProducerMethod
+
webBeansContext.getWebBeansUtil().fireProcessProducerMethodBeanEvent(annotatedMethods,
annotatedType);
+ webBeansContext.getWebBeansUtil().inspectErrorStack("There
are errors that are added by ProcessProducerMethod event observers for " +
+ "producer method beans. Look at logs for further
details");
+
+ //Fires ProcessProducerField
+
webBeansContext.getWebBeansUtil().fireProcessProducerFieldBeanEvent(annotatedFields);
+ webBeansContext.getWebBeansUtil().inspectErrorStack("There
are errors that are added by ProcessProducerField event observers for " +
+ "producer field beans. Look at logs for further
details");
+
+ //Fire ObservableMethods
+
webBeansContext.getWebBeansUtil().fireProcessObservableMethodBeanEvent(observerMethodsMap);
+ webBeansContext.getWebBeansUtil().inspectErrorStack("There
are errors that are added by ProcessObserverMethod event observers for " +
+ "observer methods. Look at logs for further
details");
-
if(!webBeansContext.getWebBeansUtil().isAnnotatedTypeDecoratorOrInterceptor(annotatedType))
- {
- beanManager.addBean(bean);
- for (ProducerMethodBean<?> producerMethod :
producerMethods)
- {
- // add them one after the other to enable
serialization handling et al
- beanManager.addBean(producerMethod);
- }
- for (ProducerFieldBean<?> producerField : producerFields)
+
if(!webBeansContext.getWebBeansUtil().isAnnotatedTypeDecoratorOrInterceptor(annotatedType))
{
- // add them one after the other to enable
serialization handling et al
- beanManager.addBean(producerField);
+ beanManager.addBean(bean);
+ for (ProducerMethodBean<?> producerMethod :
producerMethods)
+ {
+ // add them one after the other to enable
serialization handling et al
+ beanManager.addBean(producerMethod);
+ }
+ for (ProducerFieldBean<?> producerField :
producerFields)
+ {
+ // add them one after the other to enable
serialization handling et al
+ beanManager.addBean(producerField);
+ }
}
}
}
}
}
-
+
+ private <T> BeanAttributes<T>
updateBeanAttributesIfNeeded(BeanAttributes<T> beanAttributes,
ProcessBeanAttributesImpl event)
+ {
+ if (event.getDefinitionError() != null)
+ {
+ throw new DefinitionException(event.getDefinitionError());
+ }
+ if (event.getAttributes() != beanAttributes)
+ {
+ beanAttributes = event.getAttributes();
+ if
(!webBeansContext.getBeanManagerImpl().isScope(beanAttributes.getScope()))
+ {
+ throw new DefinitionException(beanAttributes.getScope() + " is
not a scope");
+ }
+ }
+ return beanAttributes;
+ }
+
+ // we don't use bm stack since it is actually quite useless
+ private <T> ProcessBeanAttributesImpl fireProcessBeanAttributes(final
AnnotatedType<T> annotatedType,
+ final
BeanAttributes<T> beanAttributes)
+ {
+ final ProcessBeanAttributesImpl event = new
GProcessBeanAttributes(annotatedType.getJavaClass(), annotatedType,
beanAttributes);
+ try
+ {
+ webBeansContext.getBeanManagerImpl().fireEvent(event,
AnnotationUtil.EMPTY_ANNOTATION_ARRAY);
+ }
+ catch (final Exception e)
+ {
+ throw new DefinitionException("event ProcessBeanAttributes thrown
an exception for " + annotatedType, e);
+ }
+ return event;
+ }
+
/**
* Defines enterprise bean via plugin.
* @param <T> bean class type
Added:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/ProcessBeanAttributesImpl.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/ProcessBeanAttributesImpl.java?rev=1606366&view=auto
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/ProcessBeanAttributesImpl.java
(added)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/ProcessBeanAttributesImpl.java
Sat Jun 28 14:47:37 2014
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.webbeans.portable.events;
+
+import javax.enterprise.inject.spi.Annotated;
+import javax.enterprise.inject.spi.BeanAttributes;
+import javax.enterprise.inject.spi.ProcessBeanAttributes;
+
+public class ProcessBeanAttributesImpl<T> implements ProcessBeanAttributes<T>
+{
+ private Annotated annotated;
+ private BeanAttributes<T> attributes;
+ private boolean veto = false;
+ private Throwable definitionError = null;
+
+ public ProcessBeanAttributesImpl(final Annotated annotated, final
BeanAttributes<T> attributes)
+ {
+ this.annotated = annotated;
+ this.attributes = attributes;
+ }
+
+ @Override
+ public Annotated getAnnotated()
+ {
+ return annotated;
+ }
+
+ @Override
+ public BeanAttributes<T> getBeanAttributes()
+ {
+ return attributes;
+ }
+
+ @Override
+ public void setBeanAttributes(final BeanAttributes<T> tBeanAttributes)
+ {
+ attributes = tBeanAttributes;
+ }
+
+ @Override
+ public void veto()
+ {
+ veto = true;
+ }
+
+ @Override
+ public void addDefinitionError(final Throwable throwable)
+ {
+ definitionError = throwable;
+ }
+
+ public BeanAttributes<T> getAttributes()
+ {
+ return attributes;
+ }
+
+ public boolean isVeto()
+ {
+ return veto;
+ }
+
+ public Throwable getDefinitionError()
+ {
+ return definitionError;
+ }
+}
Added:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/generics/GProcessBeanAttributes.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/generics/GProcessBeanAttributes.java?rev=1606366&view=auto
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/generics/GProcessBeanAttributes.java
(added)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/events/generics/GProcessBeanAttributes.java
Sat Jun 28 14:47:37 2014
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.webbeans.portable.events.generics;
+
+import org.apache.webbeans.portable.events.ProcessBeanAttributesImpl;
+
+import javax.enterprise.inject.spi.Annotated;
+import javax.enterprise.inject.spi.BeanAttributes;
+
+public class GProcessBeanAttributes extends ProcessBeanAttributesImpl
implements GenericBeanEvent
+{
+ private final Class<?> type;
+
+ public GProcessBeanAttributes(final Class<?> type, final Annotated
annotated, final BeanAttributes attributes)
+ {
+ super(annotated, attributes);
+ this.type = type;
+ }
+
+ @Override
+ public Class<?> getBeanClassFor(final Class<?> eventClass)
+ {
+ return type;
+ }
+}
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java?rev=1606366&r1=1606365&r2=1606366&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
Sat Jun 28 14:47:37 2014
@@ -64,6 +64,7 @@ import org.apache.webbeans.portable.Inje
import org.apache.webbeans.portable.events.discovery.ErrorStack;
import org.apache.webbeans.portable.events.generics.GProcessAnnotatedType;
import org.apache.webbeans.portable.events.generics.GProcessBean;
+import org.apache.webbeans.portable.events.generics.GProcessBeanAttributes;
import org.apache.webbeans.portable.events.generics.GProcessInjectionTarget;
import org.apache.webbeans.portable.events.generics.GProcessManagedBean;
import org.apache.webbeans.portable.events.generics.GProcessObservableMethod;
@@ -1194,6 +1195,7 @@ public final class WebBeansUtil
type.equals(GProcessAnnotatedType.class) ||
type.equals(GProcessSyntheticAnnotatedType.class) ||
type.equals(GProcessInjectionTarget.class) ||
+ type.equals(GProcessBeanAttributes.class) ||
type.equals(GProcessProducer.class) ||
type.equals(GProcessProducerField.class) ||
type.equals(GProcessProducerMethod.class) ||
@@ -1208,6 +1210,7 @@ public final class WebBeansUtil
return type.equals(GProcessAnnotatedType.class) ||
type.equals(GProcessSyntheticAnnotatedType.class) ||
type.equals(GProcessInjectionTarget.class) ||
+ type.equals(GProcessBeanAttributes.class) ||
type.equals(GProcessManagedBean.class) ||
type.equals(GProcessSessionBean.class) ||
type.equals(GProcessBean.class);
@@ -1218,6 +1221,7 @@ public final class WebBeansUtil
return clazz.equals(ProcessAnnotatedType.class) ||
clazz.equals(ProcessSyntheticAnnotatedType.class) ||
clazz.equals(ProcessInjectionTarget.class) ||
+ clazz.equals(ProcessBeanAttributes.class) ||
clazz.equals(ProcessManagedBean.class) ||
clazz.equals(ProcessBean.class) ||
clazz.equals(ProcessSessionBean.class);
Copied:
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/events/injectiontarget/ProcessBeanAttributesTest.java
(from r1606356,
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/events/injectiontarget/ProcessInjectionTargetTest.java)
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/events/injectiontarget/ProcessBeanAttributesTest.java?p2=openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/events/injectiontarget/ProcessBeanAttributesTest.java&p1=openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/events/injectiontarget/ProcessInjectionTargetTest.java&r1=1606356&r2=1606366&rev=1606366&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/events/injectiontarget/ProcessInjectionTargetTest.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/events/injectiontarget/ProcessBeanAttributesTest.java
Sat Jun 28 14:47:37 2014
@@ -18,50 +18,47 @@
*/
package org.apache.webbeans.test.events.injectiontarget;
+import junit.framework.Assert;
+import org.apache.webbeans.test.AbstractUnitTest;
+import org.junit.Test;
+
import javax.enterprise.context.RequestScoped;
import javax.enterprise.event.Observes;
import javax.enterprise.inject.spi.Extension;
import javax.enterprise.inject.spi.InjectionTarget;
-import javax.enterprise.inject.spi.ProcessInjectionTarget;
+import javax.enterprise.inject.spi.ProcessBeanAttributes;
import javax.inject.Inject;
+import java.util.ArrayList;
+import java.util.Collection;
-import junit.framework.Assert;
-import org.apache.webbeans.test.AbstractUnitTest;
-import org.junit.Test;
+import static org.junit.Assert.assertEquals;
-/**
- * Checks that the InjectionTarget in ProcessInjectionTarget
- * is correctly filled.
- */
-public class ProcessInjectionTargetTest extends AbstractUnitTest
+public class ProcessBeanAttributesTest extends AbstractUnitTest
{
@Test
- public void testInjectionTargetIsValid() throws Exception
+ public void checkTypeIsTakenIntoAccount() throws Exception
{
- InjectionTargetExtension injectionTargetExtension = new
InjectionTargetExtension();
- addExtension(injectionTargetExtension);
+ final ProcessBeanAttributesExtension processBeanAttributesExtension =
new ProcessBeanAttributesExtension();
+ addExtension(processBeanAttributesExtension);
startContainer(SomeBean.class, SomeOtherBean.class);
-
Assert.assertNotNull(injectionTargetExtension.getProcessInjectionTarget());
- InjectionTarget injectionTarget =
injectionTargetExtension.getProcessInjectionTarget().getInjectionTarget();
- Assert.assertNotNull(injectionTarget);
- Assert.assertNotNull(injectionTarget.getInjectionPoints());
- Assert.assertEquals(1, injectionTarget.getInjectionPoints().size());
+ assertEquals(1, processBeanAttributesExtension.someBean.size());
+ assertEquals(1, processBeanAttributesExtension.someOtherBean.size());
}
- public static class InjectionTargetExtension implements Extension
+ public static class ProcessBeanAttributesExtension implements Extension
{
- private ProcessInjectionTarget processInjectionTarget;
+ private Collection<ProcessBeanAttributes<?>> someBean = new
ArrayList<ProcessBeanAttributes<?>>();
+ private Collection<ProcessBeanAttributes<?>> someOtherBean = new
ArrayList<ProcessBeanAttributes<?>>();
- public void observePit(@Observes ProcessInjectionTarget<SomeBean> pit)
+ public void someBean(@Observes ProcessBeanAttributes<SomeBean> pba)
{
- this.processInjectionTarget = pit;
+ someBean.add(pba);
}
-
- public ProcessInjectionTarget getProcessInjectionTarget()
+ public void otherBean(@Observes ProcessBeanAttributes<SomeOtherBean>
pba)
{
- return processInjectionTarget;
+ someOtherBean.add(pba);
}
}
Copied: openwebbeans/trunk/webbeans-tck/testng-dev.xml (from r1606356,
openwebbeans/trunk/webbeans-tck/standalone-suite.xml)
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-tck/testng-dev.xml?p2=openwebbeans/trunk/webbeans-tck/testng-dev.xml&p1=openwebbeans/trunk/webbeans-tck/standalone-suite.xml&r1=1606356&r2=1606366&rev=1606366&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-tck/standalone-suite.xml (original)
+++ openwebbeans/trunk/webbeans-tck/testng-dev.xml Sat Jun 28 14:47:37 2014
@@ -38,64 +38,9 @@
<exclude name="javaee-full" />
</run>
</groups>
-
-
- <packages>
- <package name="org.jboss.cdi.tck.tests.*">
- <!-- CHALLENGED TCK TESTS: clarifying this in the EG -->
- <exclude
name="org.jboss.cdi.tck.tests.inheritance.specialization.simple"/>
- </package>
-
- <package name="org.jboss.cdi.tck.interceptors.tests.*"/>
- </packages>
-
-
<classes>
- <!-- Issues in the spec -->
- <!-- CDI-437 -->
- <class
name="org.jboss.cdi.tck.tests.lookup.byname.ambiguous.broken.AmbiguousELNamesTest">
- <methods>
- <exclude name=".*"/>
- </methods>
- </class>
-
- <!-- CDITCK-418 -->
- <class
name="org.jboss.cdi.tck.interceptors.tests.contract.interceptorLifeCycle.environment.jndi.ejb.InterceptorEnvironmentJNDISessionBeanTest">
- <methods>
- <exclude name=".*"/>
- </methods>
- </class>
-
- <!-- CDITCK-417 -->
- <class
name="org.jboss.cdi.tck.tests.extensions.registration.BeanRegistrationByExtensionInEarLibraryTest">
- <methods>
- <exclude name=".*"/>
- </methods>
- </class>
-
- <!-- CDITCK-421 -->
- <class
name="org.jboss.cdi.tck.interceptors.tests.contract.aroundInvoke.AroundInvokeAccessInterceptorTest">
- <methods>
- <exclude name=".*"/>
- </methods>
- </class>
-
- <class
name="org.jboss.cdi.tck.interceptors.tests.contract.aroundTimeout.AroundTimeoutInterceptorTest">
- <methods>
- <exclude name=".*"/>
- </methods>
- </class>
-
- <!-- CDITCK-423 -->
- <class
name="org.jboss.cdi.tck.tests.implementation.enterprise.definition.remote.RemoteInterfaceNotInAPITypesTest">
- <methods>
- <exclude name=".*"/>
- </methods>
- </class>
-
+ <class
+
name="org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.broken.invalid.InvalidScopeTest"
/>
</classes>
-
-
</test>
-
</suite>