You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by st...@apache.org on 2013/01/15 23:26:21 UTC
svn commit: r1433706 - in /openwebbeans/trunk:
webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/
webbeans-impl/src/main/java/org/apache/webbeans/component/
webbeans-impl/src/main/java/org/apache/webbeans/component/creation/
webbeans-...
Author: struberg
Date: Tue Jan 15 22:26:20 2013
New Revision: 1433706
URL: http://svn.apache.org/viewvc?rev=1433706&view=rev
Log:
OWB-755 destroy ManagedBean via InjectionTarget#destroy
Modified:
openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionTargetBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjectionTargetBeanBuilder.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java
Modified: openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java?rev=1433706&r1=1433705&r2=1433706&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java (original)
+++ openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java Tue Jan 15 22:26:20 2013
@@ -91,7 +91,7 @@ public abstract class BaseEjbBean<T> ext
* {@inheritDoc}
*/
@Override
- protected void destroyComponentInstance(T instance, CreationalContext<T> creational)
+ public void destroyInstance(T instance, CreationalContext<T> creational)
{
if (getEjbType().equals(SessionBeanType.STATEFUL))
{
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionTargetBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionTargetBean.java?rev=1433706&r1=1433705&r2=1433706&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionTargetBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionTargetBean.java Tue Jan 15 22:26:20 2013
@@ -25,7 +25,6 @@ import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
-import java.util.logging.Level;
import javax.enterprise.context.Dependent;
import javax.enterprise.context.spi.CreationalContext;
@@ -36,19 +35,15 @@ import org.apache.webbeans.config.OWBLog
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.decorator.WebBeansDecorator;
import org.apache.webbeans.exception.WebBeansConfigurationException;
-import org.apache.webbeans.exception.WebBeansException;
import org.apache.webbeans.intercept.InterceptorData;
import javax.enterprise.inject.spi.InjectionTarget;
-import javax.enterprise.inject.spi.InterceptionType;
-import org.apache.webbeans.intercept.InvocationContextImplRemove;
import org.apache.webbeans.intercept.webbeans.WebBeansInterceptorBeanPleaseRemove;
import org.apache.webbeans.logger.WebBeansLoggerFacade;
import org.apache.webbeans.proxy.ProxyFactory;
-import org.apache.webbeans.spi.ResourceInjectionService;
import org.apache.webbeans.util.Asserts;
-import org.apache.webbeans.util.WebBeansUtil;
+
/**
* Abstract class for injection target beans.
@@ -163,7 +158,7 @@ public abstract class InjectionTargetBea
*/
protected void destroyInstance(T instance, CreationalContext<T> creationalContext)
{
- destroyComponentInstance(instance, creationalContext);
+ injectionTarget.preDestroy(instance);
}
/**
@@ -173,46 +168,10 @@ public abstract class InjectionTargetBea
*/
protected void destroyComponentInstance(T instance, CreationalContext<T> creationalContext)
{
- preDestroy(instance, creationalContext);
}
- /**
- * {@inheritDoc}
- */
- public void preDestroy(T instance, CreationalContext<T> creationalContext)
- {
- preDestroyDefault(instance, creationalContext);
- }
- /**
- * Default predestroy.
- *
- * @param instance bean instance
- */
- protected void preDestroyDefault(T instance, CreationalContext<T> creationalContext)
- {
- if(getWebBeansType().equals(WebBeansType.MANAGED) ||
- getWebBeansType().equals(WebBeansType.DECORATOR))
- {
- if (WebBeansUtil.isContainsInterceptorMethod(getInterceptorStack(), InterceptionType.PRE_DESTROY))
- {
- InvocationContextImplRemove impl = new InvocationContextImplRemove(getWebBeansContext(), null, instance, null, null,
- getWebBeansContext().getInterceptorUtil().getInterceptorMethods(getInterceptorStack(),
- InterceptionType.PRE_DESTROY),
- InterceptionType.PRE_DESTROY);
- impl.setCreationalContext(creationalContext);
- try
- {
- impl.proceed();
- }
- catch (Exception e)
- {
- getLogger().log(Level.SEVERE, WebBeansLoggerFacade.constructMessage(OWBLogConst.ERROR_0008, "@PreDestroy."), e);
- throw new WebBeansException(e);
- }
- }
- }
- }
+
/**
* {@inheritDoc}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjectionTargetBeanBuilder.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjectionTargetBeanBuilder.java?rev=1433706&r1=1433705&r2=1433706&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjectionTargetBeanBuilder.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjectionTargetBeanBuilder.java Tue Jan 15 22:26:20 2013
@@ -65,7 +65,6 @@ import org.apache.webbeans.util.Asserts;
import org.apache.webbeans.util.ClassUtil;
import org.apache.webbeans.util.WebBeansUtil;
-import static org.apache.webbeans.intercept.InterceptorResolutionService.BeanInterceptorInfo;
/**
* Abstract implementation of {@link AbstractBeanBuilder}.
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java?rev=1433706&r1=1433705&r2=1433706&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java Tue Jan 15 22:26:20 2013
@@ -31,7 +31,6 @@ import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import java.util.logging.Level;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.event.Observes;
@@ -335,7 +334,7 @@ public class InjectionTargetImpl<T> exte
preDestroyInterceptors = new ArrayList<Interceptor<?>>(interceptorInfo.getInterceptors());
}
- InvocationContext ic = new LifecycleInterceptorInvocationContext<T>(instance, InterceptionType.PRE_DESTROY, preDestroyInterceptors,
+ InvocationContext ic = new LifecycleInterceptorInvocationContext<T>(internalInstance, InterceptionType.PRE_DESTROY, preDestroyInterceptors,
interceptorInstances, preDestroyMethods);
try
{