You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ge...@apache.org on 2009/05/13 16:14:59 UTC
svn commit: r774377 - in /incubator/openwebbeans/trunk/webbeans-impl/src:
main/java/org/apache/webbeans/component/
main/java/org/apache/webbeans/context/
main/java/org/apache/webbeans/conversation/
main/java/org/apache/webbeans/intercept/ main/java/org...
Author: gerdogdu
Date: Wed May 13 14:14:59 2009
New Revision: 774377
URL: http://svn.apache.org/viewvc?rev=774377&view=rev
Log:
Update for M2 after testing. Correction of some bugs in the context tests.
Modified:
incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractComponent.java
incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractObservesComponent.java
incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/AbstractContext.java
incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/ContextFactory.java
incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/conversation/ConversationManager.java
incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java
incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/WebBeansLifeCycle.java
incubator/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/InterceptedComponent.java
Modified: incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractComponent.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractComponent.java?rev=774377&r1=774376&r2=774377&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractComponent.java (original)
+++ incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractComponent.java Wed May 13 14:14:59 2009
@@ -209,12 +209,12 @@
dependentContext = true;
}
- //Destroy instance
- destroyInstance(instance);
-
//Destory dependent instances
destroyDependents();
+ //Destroy instance, call @PreDestroy
+ destroyInstance(instance);
+
//Clear Decorator and Interceptor Stack
this.decoratorStack.clear();
this.interceptorStack.clear();
@@ -229,6 +229,7 @@
{
ContextFactory.passivateDependentContext();
}
+
}
}
Modified: incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractObservesComponent.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractObservesComponent.java?rev=774377&r1=774376&r2=774377&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractObservesComponent.java (original)
+++ incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractObservesComponent.java Wed May 13 14:14:59 2009
@@ -72,24 +72,31 @@
}
protected void afterConstructor(T instance,CreationalContext<T> creationalContext)
- {
+ {
+ //Inject fields
injectFields(instance,creationalContext);
+
+ //Inject methods
injectMethods(instance,creationalContext);
-
+
+ //Interceptor and decorator stack
if (getWebBeansType().equals(WebBeansType.SIMPLE))
{
DefinitionUtil.defineSimpleWebBeanInterceptorStack(this);
DefinitionUtil.defineWebBeanDecoratorStack(this, instance);
- }
+ }
+ //Call Post Construct
if (WebBeansUtil.isContainsInterceptorMethod(getInterceptorStack(), InterceptorType.POST_CONSTRUCT))
{
InvocationContextImpl impl = new InvocationContextImpl(null,instance, null, null, WebBeansUtil.getInterceptorMethods(getInterceptorStack(), InterceptorType.POST_CONSTRUCT), InterceptorType.POST_CONSTRUCT);
+
try
{
impl.proceed();
}
+
catch (Exception e)
{
throw new WebBeansException(e);
Modified: incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/AbstractContext.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/AbstractContext.java?rev=774377&r1=774376&r2=774377&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/AbstractContext.java (original)
+++ incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/AbstractContext.java Wed May 13 14:14:59 2009
@@ -173,10 +173,11 @@
T instance = (T) componentInstanceMap.get(component);
destroyInstance((Bean<T>) component, instance);
-
- it.remove();
}
+
+ //Clear cache
+ componentInstanceMap.clear();
}
protected <T> void removeInstance(Contextual<T> component)
Modified: incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/ContextFactory.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/ContextFactory.java?rev=774377&r1=774376&r2=774377&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/ContextFactory.java (original)
+++ incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/ContextFactory.java Wed May 13 14:14:59 2009
@@ -235,10 +235,18 @@
{
if (context == null)
{
- ConversationContext newContext = new ConversationContext();
- newContext.setActive(true);
+ if(conversationContext.get() == null)
+ {
+ ConversationContext newContext = new ConversationContext();
+ newContext.setActive(true);
+
+ conversationContext.set(newContext);
+ }
+ else
+ {
+ conversationContext.get().setActive(true);
+ }
- conversationContext.set(newContext);
}
else
{
Modified: incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/conversation/ConversationManager.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/conversation/ConversationManager.java?rev=774377&r1=774376&r2=774377&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/conversation/ConversationManager.java (original)
+++ incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/conversation/ConversationManager.java Wed May 13 14:14:59 2009
@@ -147,7 +147,6 @@
if (conversations != null)
{
conversations.clear();
- conversations = null;
}
}
}
Modified: incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java?rev=774377&r1=774376&r2=774377&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java (original)
+++ incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java Wed May 13 14:14:59 2009
@@ -16,6 +16,7 @@
import java.io.Serializable;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -68,17 +69,24 @@
// Run around invoke chain
List<InterceptorData> stack = component.getInterceptorStack();
+
+ List<InterceptorData> temp = new ArrayList<InterceptorData>();
+
+ for(InterceptorData data : stack)
+ {
+ temp.add(data);
+ }
//EJB specific interceptor stack
- filterEJBInterceptorStackList(stack, method);
+ filterEJBInterceptorStackList(temp, method);
//WebBeans specific interceptor stack
- filterWebBeansInterceptorStackList(stack, method);
+ filterWebBeansInterceptorStackList(temp, method);
//Call Around Invokes
- if (WebBeansUtil.isContainsInterceptorMethod(stack, InterceptorType.AROUND_INVOKE))
+ if (WebBeansUtil.isContainsInterceptorMethod(temp, InterceptorType.AROUND_INVOKE))
{
- callAroundInvokes(method, arguments, WebBeansUtil.getInterceptorMethods(stack, InterceptorType.AROUND_INVOKE));
+ return callAroundInvokes(method, arguments, WebBeansUtil.getInterceptorMethods(stack, InterceptorType.AROUND_INVOKE));
}
//Gets component decorator stack
@@ -183,15 +191,15 @@
}
}
- private <T> void callAroundInvokes(Method proceed, Object[] arguments, List<InterceptorData> stack) throws Exception
+ private <T> Object callAroundInvokes(Method proceed, Object[] arguments, List<InterceptorData> stack) throws Exception
{
InvocationContextImpl impl = new InvocationContextImpl(this.component, null,proceed, arguments, stack, InterceptorType.AROUND_INVOKE);
- impl.proceed();
+ return impl.proceed();
}
- private void filterEJBInterceptorStackList(List<InterceptorData> stack, Method method)
+ private void filterEJBInterceptorStackList(final List<InterceptorData> stack, Method method)
{
boolean isMethodAnnotatedWithInterceptorClass = false;
boolean isMethodAnnotatedWithExcludeInterceptorClass = false;
@@ -250,7 +258,7 @@
}
- private void filterWebBeansInterceptorStackList(List<InterceptorData> stack, Method method)
+ private void filterWebBeansInterceptorStackList(final List<InterceptorData> stack, Method method)
{
boolean isMethodAnnotatedWithInterceptorClass = false;
boolean isMethodAnnotatedWithExcludeInterceptorClass = false;
Modified: incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/WebBeansLifeCycle.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/WebBeansLifeCycle.java?rev=774377&r1=774376&r2=774377&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/WebBeansLifeCycle.java (original)
+++ incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/WebBeansLifeCycle.java Wed May 13 14:14:59 2009
@@ -117,7 +117,7 @@
}
- }, 15000, 15000, TimeUnit.MILLISECONDS);
+ }, 150000, 150000, TimeUnit.MILLISECONDS);
logger.info("Starting the WebBeans Container Configuration");
long begin = System.currentTimeMillis();
Modified: incubator/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/InterceptedComponent.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/InterceptedComponent.java?rev=774377&r1=774376&r2=774377&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/InterceptedComponent.java (original)
+++ incubator/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/component/intercept/InterceptedComponent.java Wed May 13 14:14:59 2009
@@ -34,8 +34,8 @@
public Object intercept(InvocationContext context) throws Exception
{
context.setParameters(new Object[] { new Integer(5) });
-
- return null;
+
+ return context.proceed();
}
}