Author: struberg
Date: Wed Mar 9 11:55:07 2011
New Revision: 1079762
URL: http://svn.apache.org/viewvc?rev=1079762&view=rev
Log:
OWB-542 fixed by not adding the Dependent bean in the ProducerMethodBean
This partly reverts r1079461 and omits the addDependent call in the
(hopefully) right place. The idea is to always add @Dependent beans
and not add all other scopes at all.
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/disposes/beans/InjectedIntoBean.java
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/disposes/beans/IntermediateDependentBean.java
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java?rev=1079762&r1=1079761&r2=1079762&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java
Wed Mar 9 11:55:07 2011
@@ -203,23 +203,15 @@ public class ProducerMethodBean<T> exten
ThreadLocal<Object> injectionTargetInstance =
AbstractInjectable.instanceUnderInjection;
if(isInjectionToAnotherBean)
{
- if(oldDependents == null)
- {
- if (injectionTargetInstance != null &&
injectionTargetInstance.get() != null)
- {
- ((CreationalContextImpl)creationalContext).
- addDependent(injectionTargetInstance.get(),
this , instance);
- }
- }
- else
+ if(oldDependents != null)
{
DependentCreationalContext<Object> dependentCreational =
new
DependentCreationalContext<Object>((Contextual<Object>)this);
dependentCreational.setInstance(instance);
dependentCreational.setDependentType(DependentType.BEAN);
- oldDependents.add(dependentCreational);
- }
+ oldDependents.add(dependentCreational);
+ }
}
else
{
@@ -278,6 +270,7 @@ public class ProducerMethodBean<T> exten
{
if (getParent().getScope().equals(Dependent.class))
{
+ // this handles dependent scoped producer methods and fields
destroyBean(getParent(), parentInstance, parentCreational);
}
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=1079762&r1=1079761&r2=1079762&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 Mar 9 11:55:07 2011
@@ -769,7 +769,7 @@ public class BeanManagerImpl implements
{
//Using owner creational context
//Dependents use parent creational context
- instance = getReference(injectedBean, injectionPoint.getType(),
ownerCreationalContext);
+ instance = getReference(injectedBean, injectionPoint.getType(),
ownerCreationalContext);
}
else
Modified:
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/disposes/beans/InjectedIntoBean.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/disposes/beans/InjectedIntoBean.java?rev=1079762&r1=1079761&r2=1079762&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/disposes/beans/InjectedIntoBean.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/disposes/beans/InjectedIntoBean.java
Wed Mar 9 11:55:07 2011
@@ -26,7 +26,7 @@ import javax.inject.Named;
@RequestScoped
public class InjectedIntoBean
{
- @Inject IntermediateDependentBean bean;
+ private @Inject IntermediateDependentBean bean;
public boolean isBeanNull(){
return bean == null;
Modified:
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/disposes/beans/IntermediateDependentBean.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/disposes/beans/IntermediateDependentBean.java?rev=1079762&r1=1079761&r2=1079762&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/disposes/beans/IntermediateDependentBean.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/disposes/beans/IntermediateDependentBean.java
Wed Mar 9 11:55:07 2011
@@ -25,9 +25,10 @@ import org.apache.webbeans.newtests.disp
public class IntermediateDependentBean
{
- @Inject @HttpHeader DependentModel bean;
+ private @Inject @HttpHeader DependentModel bean;
- public DependentModel getBean(){
+ public DependentModel getBean()
+ {
return bean;
}
}