Author: struberg
Date: Sun Jun 15 20:30:22 2014
New Revision: 1602765
URL: http://svn.apache.org/r1602765
Log:
OWB-845 remove overly strict generic checks from producer fields
Modified:
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/ProducerFieldBeansBuilder.java
openwebbeans/trunk/webbeans-tck/standalone-suite.xml
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=1602765&r1=1602764&r2=1602765&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
Sun Jun 15 20:30:22 2014
@@ -23,9 +23,7 @@ import javax.annotation.PreDestroy;
import javax.decorator.Delegate;
import javax.enterprise.context.Dependent;
import javax.enterprise.inject.Alternative;
-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.InjectionPoint;
import javax.inject.Inject;
@@ -133,20 +131,6 @@ public class DecoratorBeanBuilder<T> ext
logger.log(Level.FINE, "Configuring decorator class : [{0}]",
annotatedType.getJavaClass());
}
- Set<AnnotatedMethod<? super T>> methods = annotatedType.getMethods();
- for(AnnotatedMethod<?> method : methods)
- {
- for (AnnotatedParameter<?> parameter : method.getParameters())
- {
- if (parameter.isAnnotationPresent(Produces.class))
- {
- throw new WebBeansConfigurationException("Interceptor
class : " + annotatedType.getJavaClass()
- + " can not have producer methods but it has one
with name : "
- + method.getJavaMember().getName());
- }
- }
- }
-
// make sure that CDI Decorators do not have any Producer methods
validateNoProducerMethod(annotatedType);
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ProducerFieldBeansBuilder.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ProducerFieldBeansBuilder.java?rev=1602765&r1=1602764&r2=1602765&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ProducerFieldBeansBuilder.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ProducerFieldBeansBuilder.java
Sun Jun 15 20:30:22 2014
@@ -21,8 +21,6 @@ package org.apache.webbeans.component.cr
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
import java.util.HashSet;
import java.util.Set;
@@ -40,9 +38,9 @@ import org.apache.webbeans.exception.Web
import org.apache.webbeans.spi.api.ResourceReference;
import org.apache.webbeans.util.AnnotationUtil;
import org.apache.webbeans.util.Asserts;
-import org.apache.webbeans.util.ClassUtil;
import org.apache.webbeans.util.WebBeansUtil;
+
/**
* @param <T> bean class type
*/
@@ -75,20 +73,6 @@ public class ProducerFieldBeansBuilder<T
{
if(annotatedField.isAnnotationPresent(Produces.class) &&
annotatedField.getJavaMember().getDeclaringClass().equals(annotatedType.getJavaClass()))
{
- Type genericType = annotatedField.getBaseType();
-
- if(ClassUtil.isTypeVariable(genericType))
- {
- throw new WebBeansConfigurationException("Producer
annotated field : " + annotatedField + " can not be Wildcard type or Type
variable");
- }
- if(ClassUtil.isParametrizedType(genericType))
- {
-
if(!ClassUtil.checkParametrizedType((ParameterizedType)genericType))
- {
- throw new WebBeansConfigurationException("Producer
annotated field : " + annotatedField + " can not be Wildcard type or Type
variable");
- }
- }
-
Annotation[] anns =
AnnotationUtil.asArray(annotatedField.getAnnotations());
Field field = annotatedField.getJavaMember();
Modified: openwebbeans/trunk/webbeans-tck/standalone-suite.xml
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-tck/standalone-suite.xml?rev=1602765&r1=1602764&r2=1602765&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-tck/standalone-suite.xml (original)
+++ openwebbeans/trunk/webbeans-tck/standalone-suite.xml Sun Jun 15 20:30:22
2014
@@ -15,7 +15,7 @@
the specific language governing permissions and limitations under the
License.
-->
-<suite name="JSR-346-TCK" verbose="2" configfailurepolicy="continue"
useDefaultListeners="false">
+<suite name="JSR-346-TCK" verbose="2" configfailurepolicy="continue" >
<listeners>
<!-- Required - avoid randomly mixed test method execution -->