Hello Mark; This can be resulted from updated NamedLiteral. Please try with inverting change?
Sure, we can look at the evening! thanks; --Gurkan 2010/2/25 Mark Struberg <strub...@yahoo.de> > Hi! > > usually I don't commits which break the tests, but this is really an > outstanding blocker. Basically all ProducerMethods are not working anymore > as far as I saw. > > Looks like it has something to do with the ParameterizedType. > > Gurkan, can we look at this together in the evening please? > > LieGrue, > strub > > --- strub...@apache.org <strub...@apache.org> schrieb am Do, 25.2.2010: > > > Von: strub...@apache.org <strub...@apache.org> > > Betreff: svn commit: r916274 - in /openwebbeans/trunk/webbeans-impl/src: > main/java/org/apache/webbeans/annotation/ > main/java/org/apache/webbeans/decorator/ > main/java/org/apache/webbeans/inject/instance/ > main/java/org/apache/webbeans/util/ test/java/org/apache/w... > > An: comm...@openwebbeans.apache.org > > Datum: Donnerstag, 25. Februar, 2010 14:00 Uhr > > Author: struberg > > Date: Thu Feb 25 13:00:29 2010 > > New Revision: 916274 > > > > URL: http://svn.apache.org/viewvc?rev=916274&view=rev > > Log: > > OWB-304 add test for broken behaviour > > > > + a few cleanup tasks > > > > Added: > > > > > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/profields/beans/InformationConsumerBean.java > > Modified: > > > > > openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/annotation/NamedLiteral.java > > > > > openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/DecoratorUtil.java > > > > > openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/instance/InstanceImpl.java > > > > > openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansAnnotatedTypeUtil.java > > > > > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/AbstractUnitTest.java > > > > > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/typeliteral/TypeLiteralTest.java > > > > > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/profields/GetterStringInjectorTest.java > > > > Modified: > > > openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/annotation/NamedLiteral.java > > URL: > http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/annotation/NamedLiteral.java?rev=916274&r1=916273&r2=916274&view=diff > > > ============================================================================== > > --- > > > openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/annotation/NamedLiteral.java > > (original) > > +++ > > > openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/annotation/NamedLiteral.java > > Thu Feb 25 13:00:29 2010 > > @@ -25,6 +25,16 @@ > > public class NamedLiteral extends > > AnnotationLiteral<Named> implements Named > > { > > private String value; > > + > > + public NamedLiteral() > > + { > > + > > + } > > + > > + public NamedLiteral(String value) > > + { > > + this.value = value; > > + } > > > > @Override > > public String value() > > > > Modified: > > > openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/DecoratorUtil.java > > URL: > http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/DecoratorUtil.java?rev=916274&r1=916273&r2=916274&view=diff > > > ============================================================================== > > --- > > > openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/DecoratorUtil.java > > (original) > > +++ > > > openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/DecoratorUtil.java > > Thu Feb 25 13:00:29 2010 > > @@ -26,7 +26,6 @@ > > import javax.enterprise.inject.spi.Decorator; > > > > import > > org.apache.webbeans.component.AbstractInjectionTargetBean; > > -import org.apache.webbeans.component.ManagedBean; > > import org.apache.webbeans.config.OWBLogConst; > > import org.apache.webbeans.container.BeanManagerImpl; > > import > > org.apache.webbeans.exception.WebBeansConfigurationException; > > > > Modified: > > > openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/instance/InstanceImpl.java > > URL: > http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/instance/InstanceImpl.java?rev=916274&r1=916273&r2=916274&view=diff > > > ============================================================================== > > --- > > > openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/instance/InstanceImpl.java > > (original) > > +++ > > > openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/instance/InstanceImpl.java > > Thu Feb 25 13:00:29 2010 > > @@ -38,6 +38,8 @@ > > */ > > class InstanceImpl<T> implements Instance<T>, > > Serializable > > { > > + private static final long serialVersionUID = > > -8401944412490389024L; > > + > > /** Injected class type */ > > private Type injectionClazz; > > > > > > Modified: > > > openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansAnnotatedTypeUtil.java > > URL: > http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansAnnotatedTypeUtil.java?rev=916274&r1=916273&r2=916274&view=diff > > > ============================================================================== > > --- > > > openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansAnnotatedTypeUtil.java > > (original) > > +++ > > > openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansAnnotatedTypeUtil.java > > Thu Feb 25 13:00:29 2010 > > @@ -67,7 +67,6 @@ > > import org.apache.webbeans.config.OWBLogConst; > > import > > org.apache.webbeans.config.OpenWebBeansConfiguration; > > import org.apache.webbeans.container.InjectionResolver; > > -import org.apache.webbeans.decorator.DecoratorUtil; > > import org.apache.webbeans.decorator.DecoratorsManager; > > import > > org.apache.webbeans.decorator.WebBeansDecoratorConfig; > > import org.apache.webbeans.event.NotificationManager; > > @@ -104,11 +103,9 @@ > > > > { > > > > throw new > > WebBeansConfigurationException("There are more than one > > constructor with @Inject annotation in annotation type : " + > > type); > > > > } > > - > > else > > - > > { > > - > > found = true; > > - > > result = annConst; > > - > > } > > > > + > > > > + > > found = true; > > + > > result = annConst; > > > > } > > > > else > > > > { > > @@ -254,10 +251,7 @@ > > > > throw new > > UnsatisfiedResolutionException("Producer method component of > > the disposal method : " + declaredMethod.getName() + " in > > class : " + > > annotatedMethod.getDeclaringType().getJavaClass() + "is not > > found"); > > > > } > > > > - > > else > > - { > > - > > pr = (ProducerMethodBean<?>) foundBean; > > - } > > + pr > > = (ProducerMethodBean<?>) foundBean; > > > > > > if (previous == null) > > > > { > > @@ -623,9 +617,8 @@ > > > > + ". > > Multiple disposes annotation."); > > > > } > > > > else > > - { > > - > > found = true; > > - } > > + > > + > > found = true; > > } > > } > > > > @@ -728,12 +721,10 @@ > > > > { > > > > throw new > > WebBeansConfigurationException("Maanged bean class : " + > > clazz.getName() + " can not define non-static, non-private > > final methods. Because it is annotated with at least one > > @InterceptorBinding"); > > > > } > > - > > else > > + > > + if > > > (AnnotationUtil.hasInterceptorBindingMetaAnnotation(AnnotationUtil.getAnnotationsFromSet(methodA.getAnnotations()))) > > > > { > > - > > if > > > (AnnotationUtil.hasInterceptorBindingMetaAnnotation(AnnotationUtil.getAnnotationsFromSet(methodA.getAnnotations()))) > > - > > { > > - > > throw new > > WebBeansConfigurationException("Method : " + > > method.getName() + "in managed bean class : " + > > clazz.getName() + " can not be defined as non-static, > > non-private and final . Because it is annotated with at > > least one @InterceptorBinding"); > > - > > } > > + > > throw new > > WebBeansConfigurationException("Method : " + > > method.getName() + "in managed bean class : " + > > clazz.getName() + " can not be defined as non-static, > > non-private and final . Because it is annotated with at > > least one @InterceptorBinding"); > > > > } > > } > > > > > > Modified: > > > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/AbstractUnitTest.java > > URL: > http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/AbstractUnitTest.java?rev=916274&r1=916273&r2=916274&view=diff > > > ============================================================================== > > --- > > > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/AbstractUnitTest.java > > (original) > > +++ > > > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/AbstractUnitTest.java > > Thu Feb 25 13:00:29 2010 > > @@ -13,18 +13,21 @@ > > */ > > package org.apache.webbeans.newtests; > > > > +import java.lang.annotation.Annotation; > > import java.net.URL; > > import java.util.ArrayList; > > import java.util.Collection; > > import java.util.List; > > +import java.util.Set; > > > > +import javax.enterprise.inject.spi.Bean; > > import javax.enterprise.inject.spi.BeanManager; > > import javax.enterprise.inject.spi.Extension; > > > > import > > org.apache.webbeans.lifecycle.test.OpenWebBeansTestLifeCycle; > > import > > > org.apache.webbeans.lifecycle.test.OpenWebBeansTestMetaDataDiscoveryService; > > import > > org.apache.webbeans.portable.events.ExtensionLoader; > > - > > +import org.junit.Assert; > > > > > > public abstract class AbstractUnitTest > > @@ -95,6 +98,18 @@ > > return > > this.testLifecycle.getBeanManager(); > > } > > > > + @SuppressWarnings("unchecked") > > + protected <T> T > > getInstance(Class<T> type, Annotation... qualifiers) > > + { > > + Set<Bean<?>> beans > > = getBeanManager().getBeans(type, qualifiers); > > + Assert.assertNotNull(beans); > > + Assert.assertTrue("resolving > > bean with type" + type + " is ambiguous!", beans.size() == > > 1); > > + > > + Bean<T> bean = > > (Bean<T>) beans.iterator().next(); > > + > > + return (T) > > getBeanManager().getReference(bean, type, > > getBeanManager().createCreationalContext(bean)); > > + } > > + > > protected URL getXMLUrl(String > > packageName, String fileName) > > { > > StringBuilder prefix > > = new StringBuilder(packageName.replace('.', '/')); > > > > Modified: > > > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/typeliteral/TypeLiteralTest.java > > URL: > http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/typeliteral/TypeLiteralTest.java?rev=916274&r1=916273&r2=916274&view=diff > > > ============================================================================== > > --- > > > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/typeliteral/TypeLiteralTest.java > > (original) > > +++ > > > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/typeliteral/TypeLiteralTest.java > > Thu Feb 25 13:00:29 2010 > > @@ -19,22 +19,16 @@ > > package > > org.apache.webbeans.newtests.injection.typeliteral; > > > > import java.lang.annotation.Annotation; > > -import java.lang.reflect.Field; > > import java.net.URL; > > import java.util.ArrayList; > > import java.util.Collection; > > import java.util.Set; > > > > -import javax.enterprise.context.spi.CreationalContext; > > import javax.enterprise.inject.spi.Bean; > > -import javax.enterprise.inject.spi.InjectionPoint; > > import javax.enterprise.util.TypeLiteral; > > > > -import junit.framework.Assert; > > > > import org.apache.webbeans.newtests.AbstractUnitTest; > > -import > > > org.apache.webbeans.newtests.injection.injectionpoint.beans.InjectionPointMetaDataOwner; > > -import > > > org.apache.webbeans.newtests.injection.injectionpoint.beans.LoggerInjectedBean; > > import org.junit.Test; > > > > public class TypeLiteralTest extends AbstractUnitTest > > > > Modified: > > > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/profields/GetterStringInjectorTest.java > > URL: > http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/profields/GetterStringInjectorTest.java?rev=916274&r1=916273&r2=916274&view=diff > > > ============================================================================== > > --- > > > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/profields/GetterStringInjectorTest.java > > (original) > > +++ > > > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/profields/GetterStringInjectorTest.java > > Thu Feb 25 13:00:29 2010 > > @@ -26,9 +26,11 @@ > > > > import junit.framework.Assert; > > > > +import org.apache.webbeans.annotation.NamedLiteral; > > import org.apache.webbeans.newtests.AbstractUnitTest; > > import > > org.apache.webbeans.newtests.profields.beans.GetterStringFieldInjector; > > import > > org.apache.webbeans.newtests.profields.beans.GetterStringProducerBean; > > +import > > org.apache.webbeans.newtests.profields.beans.InformationConsumerBean; > > import org.junit.Test; > > > > public class GetterStringInjectorTest extends > > AbstractUnitTest > > @@ -42,6 +44,7 @@ > > > > Collection<Class<?>> > > beanClasses = new ArrayList<Class<?>>(); > > > > beanClasses.add(GetterStringProducerBean.class); > > > > beanClasses.add(GetterStringFieldInjector.class); > > + > > beanClasses.add(InformationConsumerBean.class); > > > > > > startContainer(beanClasses, > > beanXmls); > > > > @@ -50,6 +53,8 @@ > > > > > > Assert.assertEquals("Sucess from > > getProducts",injector.getTestNamed3()); > > > > + InformationConsumerBean icb = > > getInstance(InformationConsumerBean.class, new > > NamedLiteral("ProMethodNamed1")); > > + > > > > shutDownContainer(); > > } > > > > > > Added: > > > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/profields/beans/InformationConsumerBean.java > > URL: > http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/profields/beans/InformationConsumerBean.java?rev=916274&view=auto > > > ============================================================================== > > --- > > > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/profields/beans/InformationConsumerBean.java > > (added) > > +++ > > > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/profields/beans/InformationConsumerBean.java > > Thu Feb 25 13:00:29 2010 > > @@ -0,0 +1,38 @@ > > +/* > > + * 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.newtests.profields.beans; > > + > > +import javax.enterprise.context.ApplicationScoped; > > +import javax.inject.Inject; > > +import javax.inject.Named; > > + > > +/** > > + * This simply tests if actually injecting the String > > values > > + * from our fancy producer methods really works. > > + */ > > +...@applicationscoped > > +public class InformationConsumerBean { > > + > > + private @Inject > > @Named("ProMethodNamed1") String proMethodString; > > + > > + public String getProMethodString() > > + { > > + return proMethodString; > > + } > > +} > > > > > > > > __________________________________________________ > Do You Yahoo!? > Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz > gegen Massenmails. > http://mail.yahoo.com > -- Gurkan Erdogdu http://gurkanerdogdu.blogspot.com