You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openwebbeans.apache.org by Mark Struberg <st...@yahoo.de> on 2014/10/01 16:31:49 UTC

Re: svn commit: r1628704 - in /openwebbeans/trunk/webbeans-impl/src: main/java/org/apache/webbeans/component/creation/ main/java/org/apache/webbeans/container/ main/java/org/apache/webbeans/portable/ main/java/org/apache/webbeans/util/ test/java/org/apache...

Isn't this the same thing as OWB-1015?

Oh, please disable your auto-formatting. This always creates tons of useless changes in the diff. It's much harder to review committs that way.

LieGrue,
strub




> On Wednesday, 1 October 2014, 15:50, "rmannibucau@apache.org" <rm...@apache.org> wrote:
> > Author: rmannibucau
> Date: Wed Oct  1 13:50:20 2014
> New Revision: 1628704
> 
> URL: http://svn.apache.org/r1628704
> Log:
> tcks: unproxyable exceptions - I guess we copy Weld since this doesn't look 
> that consistent to respect TCKs + minor check on TypeVariable, surely to do in a 
> better way (using asm?)
> 
> Modified:
>     
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/BeanAttributesBuilder.java
>     
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
>     
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java
>     
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/AbstractAnnotated.java
>     
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/GenericsUtil.java
>     
> openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/injection/generics/GenericFactory.java
> 
> Modified: 
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/BeanAttributesBuilder.java
> URL: 
> http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/BeanAttributesBuilder.java?rev=1628704&r1=1628703&r2=1628704&view=diff
> ==============================================================================
> --- 
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/BeanAttributesBuilder.java 
> (original)
> +++ 
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/BeanAttributesBuilder.java 
> Wed Oct  1 13:50:20 2014
> @@ -138,12 +138,15 @@ public abstract class BeanAttributesBuil
>              Set<Type> types = annotated.getTypeClosure();
>              this.types.addAll(types);
>              Set<String> ignored = 
> webBeansContext.getOpenWebBeansConfiguration().getIgnoredInterfaces();
> -            for (Iterator<Type> i = this.types.iterator(); i.hasNext();)
> +            if (!ignored.isEmpty())
>              {
> -                Type t = i.next();
> -                if (t instanceof Class && 
> ignored.contains(((Class<?>)t).getName()))
> +                for (Iterator<Type> i = this.types.iterator(); 
> i.hasNext(); )
>                  {
> -                    i.remove();
> +                    Type t = i.next();
> +                    if (t instanceof Class && 
> ignored.contains(((Class<?>) t).getName()))
> +                    {
> +                        i.remove();
> +                    }
>                  }
>              }
>          }
> 
> Modified: 
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
> URL: 
> http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java?rev=1628704&r1=1628703&r2=1628704&view=diff
> ==============================================================================
> --- 
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java 
> (original)
> +++ 
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java 
> Wed Oct  1 13:50:20 2014
> @@ -534,11 +534,9 @@ public class BeanManagerImpl implements 
>       * {@inheritDoc}
>       */
>      @Override
> -    public <T> AnnotatedType<T> createAnnotatedType(Class<T> 
> type)
> +    public <T> AnnotatedType<T> createAnnotatedType(final 
> Class<T> type)
>      {
> -        AnnotatedType<T> annotatedType = 
> annotatedElementFactory.newAnnotatedType(type);
> -
> -        return annotatedType;
> +        return annotatedElementFactory.newAnnotatedType(type);
>      }
> 
>      /**
> 
> Modified: 
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java
> URL: 
> http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java?rev=1628704&r1=1628703&r2=1628704&view=diff
> ==============================================================================
> --- 
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java 
> (original)
> +++ 
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java 
> Wed Oct  1 13:50:20 2014
> @@ -18,36 +18,14 @@
>   */
> package org.apache.webbeans.container;
> 
> -import java.lang.annotation.Annotation;
> -import java.lang.reflect.GenericArrayType;
> -import java.lang.reflect.ParameterizedType;
> -import java.lang.reflect.Type;
> -import java.lang.reflect.TypeVariable;
> -import java.lang.reflect.WildcardType;
> -import java.util.Collections;
> -import java.util.HashSet;
> -import java.util.Iterator;
> -import java.util.List;
> -import java.util.Map;
> -import java.util.Set;
> -import java.util.concurrent.ConcurrentHashMap;
> -import java.util.logging.Level;
> -import java.util.logging.Logger;
> -
> -import javax.enterprise.event.Event;
> -import javax.enterprise.inject.Instance;
> -import javax.enterprise.inject.New;
> -import javax.enterprise.inject.spi.Bean;
> -import javax.enterprise.inject.spi.InjectionPoint;
> -
> import org.apache.webbeans.annotation.AnyLiteral;
> import org.apache.webbeans.annotation.DefaultLiteral;
> import org.apache.webbeans.component.AbstractOwbBean;
> import org.apache.webbeans.component.InjectionTargetBean;
> +import org.apache.webbeans.component.ManagedBean;
> import org.apache.webbeans.component.OwbBean;
> import org.apache.webbeans.config.WebBeansContext;
> import org.apache.webbeans.exception.WebBeansConfigurationException;
> -import javax.enterprise.inject.spi.DefinitionException;
> import org.apache.webbeans.inject.AlternativesManager;
> import org.apache.webbeans.logger.WebBeansLoggerFacade;
> import org.apache.webbeans.spi.BDABeansXmlScanner;
> @@ -59,6 +37,31 @@ import org.apache.webbeans.util.Generics
> import org.apache.webbeans.util.InjectionExceptionUtil;
> import org.apache.webbeans.util.SingleItemSet;
> import org.apache.webbeans.util.WebBeansUtil;
> +
> +import javax.enterprise.event.Event;
> +import javax.enterprise.inject.Instance;
> +import javax.enterprise.inject.New;
> +import javax.enterprise.inject.UnproxyableResolutionException;
> +import javax.enterprise.inject.spi.Bean;
> +import javax.enterprise.inject.spi.DefinitionException;
> +import javax.enterprise.inject.spi.DeploymentException;
> +import javax.enterprise.inject.spi.InjectionPoint;
> +import java.lang.annotation.Annotation;
> +import java.lang.reflect.GenericArrayType;
> +import java.lang.reflect.ParameterizedType;
> +import java.lang.reflect.Type;
> +import java.lang.reflect.TypeVariable;
> +import java.lang.reflect.WildcardType;
> +import java.util.Collections;
> +import java.util.HashSet;
> +import java.util.Iterator;
> +import java.util.List;
> +import java.util.Map;
> +import java.util.Set;
> +import java.util.concurrent.ConcurrentHashMap;
> +import java.util.logging.Level;
> +import java.util.logging.Logger;
> +
> import static 
> org.apache.webbeans.util.InjectionExceptionUtil.throwAmbiguousResolutionException;
> 
> /**
> @@ -139,6 +142,20 @@ public class InjectionResolver
>          {
>              throw new WebBeansConfigurationException("Injection point type 
> : " + injectionPoint + " needs to define type argument for 
> javax.enterprise.event.Event");
>          }
> +
> +        // not that happy about this check here and at runtime but few TCKs 
> test Weld behavior only...
> +        final Bean<?> bean = resolve(implResolveByType(false, type, 
> injectionPoint.getQualifiers().toArray(new 
> Annotation[injectionPoint.getQualifiers().size()])));
> +        if (bean != null && ManagedBean.class.isInstance(bean))
> +        {
> +            try
> +            {
> +                ManagedBean.class.cast(bean).valid();
> +            }
> +            catch (final UnproxyableResolutionException ure)
> +            {
> +                throw new DeploymentException(ure);
> +            }
> +        }
>      }
> 
>      /**
> 
> Modified: 
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/AbstractAnnotated.java
> URL: 
> http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/AbstractAnnotated.java?rev=1628704&r1=1628703&r2=1628704&view=diff
> ==============================================================================
> --- 
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/AbstractAnnotated.java 
> (original)
> +++ 
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/AbstractAnnotated.java 
> Wed Oct  1 13:50:20 2014
> @@ -46,7 +46,7 @@ abstract class AbstractAnnotated impleme
>     
>      /**Type closures*/
>      private Set<Type> typeClosures = null;
> -    
> +
>      /**Set of annotations*/
>      private Set<Annotation> annotations = new 
> HashSet<Annotation>();
> 
> @@ -226,13 +226,8 @@ abstract class AbstractAnnotated impleme
>     
>      public String toString()
>      {
> -        StringBuilder builder = new StringBuilder();
> -        
> -        builder.append("Base Type : " + baseType.toString() + 
> ",");
> -        builder.append("Type Closures : " + typeClosures + 
> ",");
> -        builder.append("Annotations : " + annotations.toString());
> -        
> -        return builder.toString();
> +        return ("Base Type : " + baseType.toString() + ",")
> +                + "Type Closures : " + typeClosures + ","
> +                + "Annotations : " + annotations.toString();
>      }
> -
> }
> 
> Modified: 
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/GenericsUtil.java
> URL: 
> http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/GenericsUtil.java?rev=1628704&r1=1628703&r2=1628704&view=diff
> ==============================================================================
> --- 
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/GenericsUtil.java 
> (original)
> +++ 
> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/GenericsUtil.java 
> Wed Oct  1 13:50:20 2014
> @@ -292,7 +292,7 @@ public final class GenericsUtil
>              {
>                  for (Type upperBound: 
> ((TypeVariable<?>)beanTypeArgument).getBounds())
>                  {
> -                    if (!isAssignableFrom(swapParams, upperBound, 
> injectionPointTypeArgument))
> +                    if (!isAssignableFrom(true, upperBound, 
> injectionPointTypeArgument))
>                      {
>                          return false;
>                      }
> @@ -303,7 +303,8 @@ public final class GenericsUtil
>              {
>                  return false;
>              }
> -            else if (!isAssignableFrom(isDelegateOrEvent, 
> injectionPointTypeArgument, beanTypeArgument))
> +            else if ((!TypeVariable.class.isInstance(beanTypeArgument) || 
> TypeVariable.class.cast(beanTypeArgument).getGenericDeclaration() != 
> beanType.getRawType())
> +                && !isAssignableFrom(isDelegateOrEvent, 
> injectionPointTypeArgument, beanTypeArgument))
>              {
>                  return false;
>              }
> 
> Modified: 
> openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/injection/generics/GenericFactory.java
> URL: 
> http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/injection/generics/GenericFactory.java?rev=1628704&r1=1628703&r2=1628704&view=diff
> ==============================================================================
> --- 
> openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/injection/generics/GenericFactory.java 
> (original)
> +++ 
> openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/injection/generics/GenericFactory.java 
> Wed Oct  1 13:50:20 2014
> @@ -18,8 +18,6 @@
>   */
> package org.apache.webbeans.test.injection.generics;
> 
> -import java.util.List;
> -
> import javax.enterprise.inject.Produces;
> 
> public class GenericFactory {
> @@ -35,7 +33,7 @@ public class GenericFactory {
>      }
> 
>      @Produces
> -    public Baz<List<BazSubclass>> produceBazBazBazSubclass() {
> +    public Baz<Baz<BazSubclass>> produceBazBazBazSubclass() {
>          return new Baz();
>      }
> }
> 

Re: svn commit: r1628704 - in /openwebbeans/trunk/webbeans-impl/src: main/java/org/apache/webbeans/component/creation/ main/java/org/apache/webbeans/container/ main/java/org/apache/webbeans/portable/ main/java/org/apache/webbeans/util/ test/java/org/apache...

Posted by Romain Manni-Bucau <rm...@gmail.com>.
I guess that's the same excepted valid should be void valid() since
boolean signature is not respected (so patch was not working)


Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau


2014-10-01 16:31 GMT+02:00 Mark Struberg <st...@yahoo.de>:
> Isn't this the same thing as OWB-1015?
>
> Oh, please disable your auto-formatting. This always creates tons of useless changes in the diff. It's much harder to review committs that way.
>
> LieGrue,
> strub
>
>
>
>
>> On Wednesday, 1 October 2014, 15:50, "rmannibucau@apache.org" <rm...@apache.org> wrote:
>> > Author: rmannibucau
>> Date: Wed Oct  1 13:50:20 2014
>> New Revision: 1628704
>>
>> URL: http://svn.apache.org/r1628704
>> Log:
>> tcks: unproxyable exceptions - I guess we copy Weld since this doesn't look
>> that consistent to respect TCKs + minor check on TypeVariable, surely to do in a
>> better way (using asm?)
>>
>> Modified:
>>
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/BeanAttributesBuilder.java
>>
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
>>
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java
>>
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/AbstractAnnotated.java
>>
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/GenericsUtil.java
>>
>> openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/injection/generics/GenericFactory.java
>>
>> Modified:
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/BeanAttributesBuilder.java
>> URL:
>> http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/BeanAttributesBuilder.java?rev=1628704&r1=1628703&r2=1628704&view=diff
>> ==============================================================================
>> ---
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/BeanAttributesBuilder.java
>> (original)
>> +++
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/BeanAttributesBuilder.java
>> Wed Oct  1 13:50:20 2014
>> @@ -138,12 +138,15 @@ public abstract class BeanAttributesBuil
>>              Set<Type> types = annotated.getTypeClosure();
>>              this.types.addAll(types);
>>              Set<String> ignored =
>> webBeansContext.getOpenWebBeansConfiguration().getIgnoredInterfaces();
>> -            for (Iterator<Type> i = this.types.iterator(); i.hasNext();)
>> +            if (!ignored.isEmpty())
>>              {
>> -                Type t = i.next();
>> -                if (t instanceof Class &&
>> ignored.contains(((Class<?>)t).getName()))
>> +                for (Iterator<Type> i = this.types.iterator();
>> i.hasNext(); )
>>                  {
>> -                    i.remove();
>> +                    Type t = i.next();
>> +                    if (t instanceof Class &&
>> ignored.contains(((Class<?>) t).getName()))
>> +                    {
>> +                        i.remove();
>> +                    }
>>                  }
>>              }
>>          }
>>
>> Modified:
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
>> URL:
>> http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java?rev=1628704&r1=1628703&r2=1628704&view=diff
>> ==============================================================================
>> ---
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
>> (original)
>> +++
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
>> Wed Oct  1 13:50:20 2014
>> @@ -534,11 +534,9 @@ public class BeanManagerImpl implements
>>       * {@inheritDoc}
>>       */
>>      @Override
>> -    public <T> AnnotatedType<T> createAnnotatedType(Class<T>
>> type)
>> +    public <T> AnnotatedType<T> createAnnotatedType(final
>> Class<T> type)
>>      {
>> -        AnnotatedType<T> annotatedType =
>> annotatedElementFactory.newAnnotatedType(type);
>> -
>> -        return annotatedType;
>> +        return annotatedElementFactory.newAnnotatedType(type);
>>      }
>>
>>      /**
>>
>> Modified:
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java
>> URL:
>> http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java?rev=1628704&r1=1628703&r2=1628704&view=diff
>> ==============================================================================
>> ---
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java
>> (original)
>> +++
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java
>> Wed Oct  1 13:50:20 2014
>> @@ -18,36 +18,14 @@
>>   */
>> package org.apache.webbeans.container;
>>
>> -import java.lang.annotation.Annotation;
>> -import java.lang.reflect.GenericArrayType;
>> -import java.lang.reflect.ParameterizedType;
>> -import java.lang.reflect.Type;
>> -import java.lang.reflect.TypeVariable;
>> -import java.lang.reflect.WildcardType;
>> -import java.util.Collections;
>> -import java.util.HashSet;
>> -import java.util.Iterator;
>> -import java.util.List;
>> -import java.util.Map;
>> -import java.util.Set;
>> -import java.util.concurrent.ConcurrentHashMap;
>> -import java.util.logging.Level;
>> -import java.util.logging.Logger;
>> -
>> -import javax.enterprise.event.Event;
>> -import javax.enterprise.inject.Instance;
>> -import javax.enterprise.inject.New;
>> -import javax.enterprise.inject.spi.Bean;
>> -import javax.enterprise.inject.spi.InjectionPoint;
>> -
>> import org.apache.webbeans.annotation.AnyLiteral;
>> import org.apache.webbeans.annotation.DefaultLiteral;
>> import org.apache.webbeans.component.AbstractOwbBean;
>> import org.apache.webbeans.component.InjectionTargetBean;
>> +import org.apache.webbeans.component.ManagedBean;
>> import org.apache.webbeans.component.OwbBean;
>> import org.apache.webbeans.config.WebBeansContext;
>> import org.apache.webbeans.exception.WebBeansConfigurationException;
>> -import javax.enterprise.inject.spi.DefinitionException;
>> import org.apache.webbeans.inject.AlternativesManager;
>> import org.apache.webbeans.logger.WebBeansLoggerFacade;
>> import org.apache.webbeans.spi.BDABeansXmlScanner;
>> @@ -59,6 +37,31 @@ import org.apache.webbeans.util.Generics
>> import org.apache.webbeans.util.InjectionExceptionUtil;
>> import org.apache.webbeans.util.SingleItemSet;
>> import org.apache.webbeans.util.WebBeansUtil;
>> +
>> +import javax.enterprise.event.Event;
>> +import javax.enterprise.inject.Instance;
>> +import javax.enterprise.inject.New;
>> +import javax.enterprise.inject.UnproxyableResolutionException;
>> +import javax.enterprise.inject.spi.Bean;
>> +import javax.enterprise.inject.spi.DefinitionException;
>> +import javax.enterprise.inject.spi.DeploymentException;
>> +import javax.enterprise.inject.spi.InjectionPoint;
>> +import java.lang.annotation.Annotation;
>> +import java.lang.reflect.GenericArrayType;
>> +import java.lang.reflect.ParameterizedType;
>> +import java.lang.reflect.Type;
>> +import java.lang.reflect.TypeVariable;
>> +import java.lang.reflect.WildcardType;
>> +import java.util.Collections;
>> +import java.util.HashSet;
>> +import java.util.Iterator;
>> +import java.util.List;
>> +import java.util.Map;
>> +import java.util.Set;
>> +import java.util.concurrent.ConcurrentHashMap;
>> +import java.util.logging.Level;
>> +import java.util.logging.Logger;
>> +
>> import static
>> org.apache.webbeans.util.InjectionExceptionUtil.throwAmbiguousResolutionException;
>>
>> /**
>> @@ -139,6 +142,20 @@ public class InjectionResolver
>>          {
>>              throw new WebBeansConfigurationException("Injection point type
>> : " + injectionPoint + " needs to define type argument for
>> javax.enterprise.event.Event");
>>          }
>> +
>> +        // not that happy about this check here and at runtime but few TCKs
>> test Weld behavior only...
>> +        final Bean<?> bean = resolve(implResolveByType(false, type,
>> injectionPoint.getQualifiers().toArray(new
>> Annotation[injectionPoint.getQualifiers().size()])));
>> +        if (bean != null && ManagedBean.class.isInstance(bean))
>> +        {
>> +            try
>> +            {
>> +                ManagedBean.class.cast(bean).valid();
>> +            }
>> +            catch (final UnproxyableResolutionException ure)
>> +            {
>> +                throw new DeploymentException(ure);
>> +            }
>> +        }
>>      }
>>
>>      /**
>>
>> Modified:
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/AbstractAnnotated.java
>> URL:
>> http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/AbstractAnnotated.java?rev=1628704&r1=1628703&r2=1628704&view=diff
>> ==============================================================================
>> ---
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/AbstractAnnotated.java
>> (original)
>> +++
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/AbstractAnnotated.java
>> Wed Oct  1 13:50:20 2014
>> @@ -46,7 +46,7 @@ abstract class AbstractAnnotated impleme
>>
>>      /**Type closures*/
>>      private Set<Type> typeClosures = null;
>> -
>> +
>>      /**Set of annotations*/
>>      private Set<Annotation> annotations = new
>> HashSet<Annotation>();
>>
>> @@ -226,13 +226,8 @@ abstract class AbstractAnnotated impleme
>>
>>      public String toString()
>>      {
>> -        StringBuilder builder = new StringBuilder();
>> -
>> -        builder.append("Base Type : " + baseType.toString() +
>> ",");
>> -        builder.append("Type Closures : " + typeClosures +
>> ",");
>> -        builder.append("Annotations : " + annotations.toString());
>> -
>> -        return builder.toString();
>> +        return ("Base Type : " + baseType.toString() + ",")
>> +                + "Type Closures : " + typeClosures + ","
>> +                + "Annotations : " + annotations.toString();
>>      }
>> -
>> }
>>
>> Modified:
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/GenericsUtil.java
>> URL:
>> http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/GenericsUtil.java?rev=1628704&r1=1628703&r2=1628704&view=diff
>> ==============================================================================
>> ---
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/GenericsUtil.java
>> (original)
>> +++
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/GenericsUtil.java
>> Wed Oct  1 13:50:20 2014
>> @@ -292,7 +292,7 @@ public final class GenericsUtil
>>              {
>>                  for (Type upperBound:
>> ((TypeVariable<?>)beanTypeArgument).getBounds())
>>                  {
>> -                    if (!isAssignableFrom(swapParams, upperBound,
>> injectionPointTypeArgument))
>> +                    if (!isAssignableFrom(true, upperBound,
>> injectionPointTypeArgument))
>>                      {
>>                          return false;
>>                      }
>> @@ -303,7 +303,8 @@ public final class GenericsUtil
>>              {
>>                  return false;
>>              }
>> -            else if (!isAssignableFrom(isDelegateOrEvent,
>> injectionPointTypeArgument, beanTypeArgument))
>> +            else if ((!TypeVariable.class.isInstance(beanTypeArgument) ||
>> TypeVariable.class.cast(beanTypeArgument).getGenericDeclaration() !=
>> beanType.getRawType())
>> +                && !isAssignableFrom(isDelegateOrEvent,
>> injectionPointTypeArgument, beanTypeArgument))
>>              {
>>                  return false;
>>              }
>>
>> Modified:
>> openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/injection/generics/GenericFactory.java
>> URL:
>> http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/injection/generics/GenericFactory.java?rev=1628704&r1=1628703&r2=1628704&view=diff
>> ==============================================================================
>> ---
>> openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/injection/generics/GenericFactory.java
>> (original)
>> +++
>> openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/injection/generics/GenericFactory.java
>> Wed Oct  1 13:50:20 2014
>> @@ -18,8 +18,6 @@
>>   */
>> package org.apache.webbeans.test.injection.generics;
>>
>> -import java.util.List;
>> -
>> import javax.enterprise.inject.Produces;
>>
>> public class GenericFactory {
>> @@ -35,7 +33,7 @@ public class GenericFactory {
>>      }
>>
>>      @Produces
>> -    public Baz<List<BazSubclass>> produceBazBazBazSubclass() {
>> +    public Baz<Baz<BazSubclass>> produceBazBazBazSubclass() {
>>          return new Baz();
>>      }
>> }
>>

Re: svn commit: r1628704 - in /openwebbeans/trunk/webbeans-impl/src: main/java/org/apache/webbeans/component/creation/ main/java/org/apache/webbeans/container/ main/java/org/apache/webbeans/portable/ main/java/org/apache/webbeans/util/ test/java/org/apache...

Posted by Romain Manni-Bucau <rm...@gmail.com>.
I guess that's the same excepted valid should be void valid() since
boolean signature is not respected (so patch was not working)


Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau


2014-10-01 16:31 GMT+02:00 Mark Struberg <st...@yahoo.de>:
> Isn't this the same thing as OWB-1015?
>
> Oh, please disable your auto-formatting. This always creates tons of useless changes in the diff. It's much harder to review committs that way.
>
> LieGrue,
> strub
>
>
>
>
>> On Wednesday, 1 October 2014, 15:50, "rmannibucau@apache.org" <rm...@apache.org> wrote:
>> > Author: rmannibucau
>> Date: Wed Oct  1 13:50:20 2014
>> New Revision: 1628704
>>
>> URL: http://svn.apache.org/r1628704
>> Log:
>> tcks: unproxyable exceptions - I guess we copy Weld since this doesn't look
>> that consistent to respect TCKs + minor check on TypeVariable, surely to do in a
>> better way (using asm?)
>>
>> Modified:
>>
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/BeanAttributesBuilder.java
>>
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
>>
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java
>>
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/AbstractAnnotated.java
>>
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/GenericsUtil.java
>>
>> openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/injection/generics/GenericFactory.java
>>
>> Modified:
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/BeanAttributesBuilder.java
>> URL:
>> http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/BeanAttributesBuilder.java?rev=1628704&r1=1628703&r2=1628704&view=diff
>> ==============================================================================
>> ---
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/BeanAttributesBuilder.java
>> (original)
>> +++
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/BeanAttributesBuilder.java
>> Wed Oct  1 13:50:20 2014
>> @@ -138,12 +138,15 @@ public abstract class BeanAttributesBuil
>>              Set<Type> types = annotated.getTypeClosure();
>>              this.types.addAll(types);
>>              Set<String> ignored =
>> webBeansContext.getOpenWebBeansConfiguration().getIgnoredInterfaces();
>> -            for (Iterator<Type> i = this.types.iterator(); i.hasNext();)
>> +            if (!ignored.isEmpty())
>>              {
>> -                Type t = i.next();
>> -                if (t instanceof Class &&
>> ignored.contains(((Class<?>)t).getName()))
>> +                for (Iterator<Type> i = this.types.iterator();
>> i.hasNext(); )
>>                  {
>> -                    i.remove();
>> +                    Type t = i.next();
>> +                    if (t instanceof Class &&
>> ignored.contains(((Class<?>) t).getName()))
>> +                    {
>> +                        i.remove();
>> +                    }
>>                  }
>>              }
>>          }
>>
>> Modified:
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
>> URL:
>> http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java?rev=1628704&r1=1628703&r2=1628704&view=diff
>> ==============================================================================
>> ---
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
>> (original)
>> +++
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
>> Wed Oct  1 13:50:20 2014
>> @@ -534,11 +534,9 @@ public class BeanManagerImpl implements
>>       * {@inheritDoc}
>>       */
>>      @Override
>> -    public <T> AnnotatedType<T> createAnnotatedType(Class<T>
>> type)
>> +    public <T> AnnotatedType<T> createAnnotatedType(final
>> Class<T> type)
>>      {
>> -        AnnotatedType<T> annotatedType =
>> annotatedElementFactory.newAnnotatedType(type);
>> -
>> -        return annotatedType;
>> +        return annotatedElementFactory.newAnnotatedType(type);
>>      }
>>
>>      /**
>>
>> Modified:
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java
>> URL:
>> http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java?rev=1628704&r1=1628703&r2=1628704&view=diff
>> ==============================================================================
>> ---
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java
>> (original)
>> +++
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/InjectionResolver.java
>> Wed Oct  1 13:50:20 2014
>> @@ -18,36 +18,14 @@
>>   */
>> package org.apache.webbeans.container;
>>
>> -import java.lang.annotation.Annotation;
>> -import java.lang.reflect.GenericArrayType;
>> -import java.lang.reflect.ParameterizedType;
>> -import java.lang.reflect.Type;
>> -import java.lang.reflect.TypeVariable;
>> -import java.lang.reflect.WildcardType;
>> -import java.util.Collections;
>> -import java.util.HashSet;
>> -import java.util.Iterator;
>> -import java.util.List;
>> -import java.util.Map;
>> -import java.util.Set;
>> -import java.util.concurrent.ConcurrentHashMap;
>> -import java.util.logging.Level;
>> -import java.util.logging.Logger;
>> -
>> -import javax.enterprise.event.Event;
>> -import javax.enterprise.inject.Instance;
>> -import javax.enterprise.inject.New;
>> -import javax.enterprise.inject.spi.Bean;
>> -import javax.enterprise.inject.spi.InjectionPoint;
>> -
>> import org.apache.webbeans.annotation.AnyLiteral;
>> import org.apache.webbeans.annotation.DefaultLiteral;
>> import org.apache.webbeans.component.AbstractOwbBean;
>> import org.apache.webbeans.component.InjectionTargetBean;
>> +import org.apache.webbeans.component.ManagedBean;
>> import org.apache.webbeans.component.OwbBean;
>> import org.apache.webbeans.config.WebBeansContext;
>> import org.apache.webbeans.exception.WebBeansConfigurationException;
>> -import javax.enterprise.inject.spi.DefinitionException;
>> import org.apache.webbeans.inject.AlternativesManager;
>> import org.apache.webbeans.logger.WebBeansLoggerFacade;
>> import org.apache.webbeans.spi.BDABeansXmlScanner;
>> @@ -59,6 +37,31 @@ import org.apache.webbeans.util.Generics
>> import org.apache.webbeans.util.InjectionExceptionUtil;
>> import org.apache.webbeans.util.SingleItemSet;
>> import org.apache.webbeans.util.WebBeansUtil;
>> +
>> +import javax.enterprise.event.Event;
>> +import javax.enterprise.inject.Instance;
>> +import javax.enterprise.inject.New;
>> +import javax.enterprise.inject.UnproxyableResolutionException;
>> +import javax.enterprise.inject.spi.Bean;
>> +import javax.enterprise.inject.spi.DefinitionException;
>> +import javax.enterprise.inject.spi.DeploymentException;
>> +import javax.enterprise.inject.spi.InjectionPoint;
>> +import java.lang.annotation.Annotation;
>> +import java.lang.reflect.GenericArrayType;
>> +import java.lang.reflect.ParameterizedType;
>> +import java.lang.reflect.Type;
>> +import java.lang.reflect.TypeVariable;
>> +import java.lang.reflect.WildcardType;
>> +import java.util.Collections;
>> +import java.util.HashSet;
>> +import java.util.Iterator;
>> +import java.util.List;
>> +import java.util.Map;
>> +import java.util.Set;
>> +import java.util.concurrent.ConcurrentHashMap;
>> +import java.util.logging.Level;
>> +import java.util.logging.Logger;
>> +
>> import static
>> org.apache.webbeans.util.InjectionExceptionUtil.throwAmbiguousResolutionException;
>>
>> /**
>> @@ -139,6 +142,20 @@ public class InjectionResolver
>>          {
>>              throw new WebBeansConfigurationException("Injection point type
>> : " + injectionPoint + " needs to define type argument for
>> javax.enterprise.event.Event");
>>          }
>> +
>> +        // not that happy about this check here and at runtime but few TCKs
>> test Weld behavior only...
>> +        final Bean<?> bean = resolve(implResolveByType(false, type,
>> injectionPoint.getQualifiers().toArray(new
>> Annotation[injectionPoint.getQualifiers().size()])));
>> +        if (bean != null && ManagedBean.class.isInstance(bean))
>> +        {
>> +            try
>> +            {
>> +                ManagedBean.class.cast(bean).valid();
>> +            }
>> +            catch (final UnproxyableResolutionException ure)
>> +            {
>> +                throw new DeploymentException(ure);
>> +            }
>> +        }
>>      }
>>
>>      /**
>>
>> Modified:
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/AbstractAnnotated.java
>> URL:
>> http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/AbstractAnnotated.java?rev=1628704&r1=1628703&r2=1628704&view=diff
>> ==============================================================================
>> ---
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/AbstractAnnotated.java
>> (original)
>> +++
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/AbstractAnnotated.java
>> Wed Oct  1 13:50:20 2014
>> @@ -46,7 +46,7 @@ abstract class AbstractAnnotated impleme
>>
>>      /**Type closures*/
>>      private Set<Type> typeClosures = null;
>> -
>> +
>>      /**Set of annotations*/
>>      private Set<Annotation> annotations = new
>> HashSet<Annotation>();
>>
>> @@ -226,13 +226,8 @@ abstract class AbstractAnnotated impleme
>>
>>      public String toString()
>>      {
>> -        StringBuilder builder = new StringBuilder();
>> -
>> -        builder.append("Base Type : " + baseType.toString() +
>> ",");
>> -        builder.append("Type Closures : " + typeClosures +
>> ",");
>> -        builder.append("Annotations : " + annotations.toString());
>> -
>> -        return builder.toString();
>> +        return ("Base Type : " + baseType.toString() + ",")
>> +                + "Type Closures : " + typeClosures + ","
>> +                + "Annotations : " + annotations.toString();
>>      }
>> -
>> }
>>
>> Modified:
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/GenericsUtil.java
>> URL:
>> http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/GenericsUtil.java?rev=1628704&r1=1628703&r2=1628704&view=diff
>> ==============================================================================
>> ---
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/GenericsUtil.java
>> (original)
>> +++
>> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/GenericsUtil.java
>> Wed Oct  1 13:50:20 2014
>> @@ -292,7 +292,7 @@ public final class GenericsUtil
>>              {
>>                  for (Type upperBound:
>> ((TypeVariable<?>)beanTypeArgument).getBounds())
>>                  {
>> -                    if (!isAssignableFrom(swapParams, upperBound,
>> injectionPointTypeArgument))
>> +                    if (!isAssignableFrom(true, upperBound,
>> injectionPointTypeArgument))
>>                      {
>>                          return false;
>>                      }
>> @@ -303,7 +303,8 @@ public final class GenericsUtil
>>              {
>>                  return false;
>>              }
>> -            else if (!isAssignableFrom(isDelegateOrEvent,
>> injectionPointTypeArgument, beanTypeArgument))
>> +            else if ((!TypeVariable.class.isInstance(beanTypeArgument) ||
>> TypeVariable.class.cast(beanTypeArgument).getGenericDeclaration() !=
>> beanType.getRawType())
>> +                && !isAssignableFrom(isDelegateOrEvent,
>> injectionPointTypeArgument, beanTypeArgument))
>>              {
>>                  return false;
>>              }
>>
>> Modified:
>> openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/injection/generics/GenericFactory.java
>> URL:
>> http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/injection/generics/GenericFactory.java?rev=1628704&r1=1628703&r2=1628704&view=diff
>> ==============================================================================
>> ---
>> openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/injection/generics/GenericFactory.java
>> (original)
>> +++
>> openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/injection/generics/GenericFactory.java
>> Wed Oct  1 13:50:20 2014
>> @@ -18,8 +18,6 @@
>>   */
>> package org.apache.webbeans.test.injection.generics;
>>
>> -import java.util.List;
>> -
>> import javax.enterprise.inject.Produces;
>>
>> public class GenericFactory {
>> @@ -35,7 +33,7 @@ public class GenericFactory {
>>      }
>>
>>      @Produces
>> -    public Baz<List<BazSubclass>> produceBazBazBazSubclass() {
>> +    public Baz<Baz<BazSubclass>> produceBazBazBazSubclass() {
>>          return new Baz();
>>      }
>> }
>>