yes, thats a straight bug fix.
And btw: great catch Arne! LieGrue, trub ----- Original Message ----- > From: Romain Manni-Bucau <[email protected]> > To: [email protected] > Cc: > Sent: Thursday, November 22, 2012 12:51 PM > Subject: Fwd: svn commit: r1412510 - in > /openwebbeans/trunk/webbeans-impl/src: > main/java/org/apache/webbeans/component/ > test/java/org/apache/webbeans/newtests/producer/ > > Hi guys, > > should we backport in owb 1.1.X branch? > > *Romain Manni-Bucau* > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* > *Blog: > **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* > *Github: https://github.com/rmannibucau* > > > > > ---------- Forwarded message ---------- > From: <[email protected]> > Date: 2012/11/22 > Subject: svn commit: r1412510 - in /openwebbeans/trunk/webbeans-impl/src: > main/java/org/apache/webbeans/component/ > test/java/org/apache/webbeans/newtests/producer/ > To: [email protected] > > > Author: arne > Date: Thu Nov 22 11:28:57 2012 > New Revision: 1412510 > > URL: http://svn.apache.org/viewvc?rev=1412510&view=rev > Log: > OWB-724: Implemented equals and hashCode for AbstractProducerBean > > Added: > > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/producer/AmbigousProducerTest.java > > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/producer/ProducerBean2.java > Modified: > > openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractProducerBean.java > > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/producer/ProducerBean.java > > Modified: > openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractProducerBean.java > URL: > http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractProducerBean.java?rev=1412510&r1=1412509&r2=1412510&view=diff > ============================================================================== > --- > openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractProducerBean.java > (original) > +++ > openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractProducerBean.java > Thu Nov 22 11:28:57 2012 > @@ -165,4 +165,20 @@ public abstract class AbstractProducerBe > // the injection points of producers are the parameters of the > producermethod. > // since CDI-1.1 we must not check those for is serializable > anymore. > } > + > + @Override > + public int hashCode() > + { > + return super.hashCode() ^ ownerComponent.hashCode(); > + } > + > + public boolean equals(Object object) > + { > + if (!super.equals(object)) > + { > + return false; > + } > + AbstractProducerBean<?> other = (AbstractProducerBean<?>) > object; > + return ownerComponent.equals(other.ownerComponent); > + } > } > > Added: > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/producer/AmbigousProducerTest.java > URL: > http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/producer/AmbigousProducerTest.java?rev=1412510&view=auto > ============================================================================== > --- > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/producer/AmbigousProducerTest.java > (added) > +++ > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/producer/AmbigousProducerTest.java > Thu Nov 22 11:28:57 2012 > @@ -0,0 +1,55 @@ > +/* > + * 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.producer; > + > +import java.util.ArrayList; > +import java.util.Collection; > + > +import javax.enterprise.inject.AmbiguousResolutionException; > + > +import junit.framework.Assert; > + > +import org.apache.webbeans.exception.WebBeansConfigurationException; > +import org.apache.webbeans.newtests.AbstractUnitTest; > +import org.junit.Test; > + > +public class AmbigousProducerTest extends AbstractUnitTest > +{ > + > + @Test > + public void testAmbiguousProducer() > + { > + Collection<String> beanXmls = new ArrayList<String>(); > + Collection<Class<?>> beanClasses = new > ArrayList<Class<?>>(); > + > + beanClasses.add(ProducerBean.class); > + beanClasses.add(ProducerBean2.class); > + > + try { > + startContainer(beanClasses, beanXmls); > + Assert.fail("Should have thrown > AmbiguousResoultionException"); > + } > + catch (WebBeansConfigurationException e) > + { > + Assert.assertEquals(AmbiguousResolutionException.class, > e.getCause().getClass()); > + } > + shutDownContainer(); > + > + } > +} > > Modified: > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/producer/ProducerBean.java > URL: > http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/producer/ProducerBean.java?rev=1412510&r1=1412509&r2=1412510&view=diff > ============================================================================== > --- > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/producer/ProducerBean.java > (original) > +++ > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/producer/ProducerBean.java > Thu Nov 22 11:28:57 2012 > @@ -49,7 +49,7 @@ public class ProducerBean { > > @Produces > @Named("name5") > - public String getName6() { > + public String getName5() { > return "name5"; > } > > > Added: > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/producer/ProducerBean2.java > URL: > http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/producer/ProducerBean2.java?rev=1412510&view=auto > ============================================================================== > --- > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/producer/ProducerBean2.java > (added) > +++ > openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/producer/ProducerBean2.java > Thu Nov 22 11:28:57 2012 > @@ -0,0 +1,30 @@ > +/* > + * 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.producer; > + > +import javax.enterprise.inject.Produces; > +import javax.inject.Named; > + > +public class ProducerBean2 { > + @Produces > + @Named > + public String name1() { > + return "name1 of ProducerBean2"; > + } > +} >
