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 <[email protected]>: > 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, "[email protected]" >> <[email protected]> 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(); >> } >> } >>
