You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ar...@apache.org on 2012/11/22 12:28:58 UTC
svn commit: r1412510 - in /openwebbeans/trunk/webbeans-impl/src:
main/java/org/apache/webbeans/component/
test/java/org/apache/webbeans/newtests/producer/
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";
+ }
+}
Re: svn commit: r1412510 - in
/openwebbeans/trunk/webbeans-impl/src:
main/java/org/apache/webbeans/component/
test/java/org/apache/webbeans/newtests/producer/
Posted by Arne Limburg <ar...@openknowledge.de>.
Thanks! Nasty bug! Took me nearly two hours of debugging until I realized
that one time I get the one producer method and one time the other ;-)
I can merge it tomorrow, but if anyone of you has nothing else to do... ;-)
Cheers,
Arne
Am 22.11.12 14:36 schrieb "Mark Struberg" unter <st...@yahoo.de>:
>yes, thats a straight bug fix.
>
>
>And btw: great catch Arne!
>
>LieGrue,
>trub
>
>
>
>----- Original Message -----
>> From: Romain Manni-Bucau <rm...@gmail.com>
>> To: dev@openwebbeans.apache.org
>> 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: <ar...@apache.org>
>> 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: commits@openwebbeans.apache.org
>>
>>
>> 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/newtes
>>ts/producer/AmbigousProducerTest.java
>>
>>
>>openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtes
>>ts/producer/ProducerBean2.java
>> Modified:
>>
>>
>>openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/compon
>>ent/AbstractProducerBean.java
>>
>>
>>openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtes
>>ts/producer/ProducerBean.java
>>
>> Modified:
>>
>>openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/compon
>>ent/AbstractProducerBean.java
>> URL:
>>
>>http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/ja
>>va/org/apache/webbeans/component/AbstractProducerBean.java?rev=1412510&r1
>>=1412509&r2=1412510&view=diff
>>
>>=========================================================================
>>=====
>> ---
>>
>>openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/compon
>>ent/AbstractProducerBean.java
>> (original)
>> +++
>>
>>openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/compon
>>ent/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/newtes
>>ts/producer/AmbigousProducerTest.java
>> URL:
>>
>>http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/ja
>>va/org/apache/webbeans/newtests/producer/AmbigousProducerTest.java?rev=14
>>12510&view=auto
>>
>>=========================================================================
>>=====
>> ---
>>
>>openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtes
>>ts/producer/AmbigousProducerTest.java
>> (added)
>> +++
>>
>>openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtes
>>ts/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/newtes
>>ts/producer/ProducerBean.java
>> URL:
>>
>>http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/ja
>>va/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/newtes
>>ts/producer/ProducerBean.java
>> (original)
>> +++
>>
>>openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtes
>>ts/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/newtes
>>ts/producer/ProducerBean2.java
>> URL:
>>
>>http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/ja
>>va/org/apache/webbeans/newtests/producer/ProducerBean2.java?rev=1412510&v
>>iew=auto
>>
>>=========================================================================
>>=====
>> ---
>>
>>openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtes
>>ts/producer/ProducerBean2.java
>> (added)
>> +++
>>
>>openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtes
>>ts/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";
>> + }
>> +}
>>
Re: Fwd: svn commit: r1412510 - in /openwebbeans/trunk/webbeans-impl/src: main/java/org/apache/webbeans/component/ test/java/org/apache/webbeans/newtests/producer/
Posted by Mark Struberg <st...@yahoo.de>.
yes, thats a straight bug fix.
And btw: great catch Arne!
LieGrue,
trub
----- Original Message -----
> From: Romain Manni-Bucau <rm...@gmail.com>
> To: dev@openwebbeans.apache.org
> 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: <ar...@apache.org>
> 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: commits@openwebbeans.apache.org
>
>
> 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";
> + }
> +}
>
Fwd: svn commit: r1412510 - in /openwebbeans/trunk/webbeans-impl/src:
main/java/org/apache/webbeans/component/ test/java/org/apache/webbeans/newtests/producer/
Posted by Romain Manni-Bucau <rm...@gmail.com>.
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: <ar...@apache.org>
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: commits@openwebbeans.apache.org
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";
+ }
+}