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, "rmannibu...@apache.org" 
> <rmannibu...@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();
>      }
> }
> 

Reply via email to