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 2010/02/05 00:18:14 UTC
svn commit: r906724 - in
/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans:
container/BeanManagerImpl.java context/ContextFactory.java
context/creational/CreationalContextImpl.java
Author: struberg
Date: Thu Feb 4 23:18:14 2010
New Revision: 906724
URL: http://svn.apache.org/viewvc?rev=906724&view=rev
Log:
OWB-6 passivation continued
The serialization of CreationalContext needs polishing though.
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/ContextFactory.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/creational/CreationalContextImpl.java
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=906724&r1=906723&r2=906724&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 Thu Feb 4 23:18:14 2010
@@ -591,7 +591,12 @@
*/
@Override
public <T> CreationalContext<T> createCreationalContext(Contextual<T> contextual)
- {
+ {
+ if (contextual instanceof SerializableBean)
+ {
+ contextual = ((SerializableBean)contextual).getBean();
+ }
+
return CreationalContextFactory.getInstance().getCreationalContext(contextual);
}
@@ -708,6 +713,11 @@
{
Context context = null;
Object instance = null;
+
+ if (bean instanceof SerializableBean)
+ {
+ bean = ((SerializableBean)bean).getBean();
+ }
//Check type if bean type is given
if(beanType != null)
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/ContextFactory.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/ContextFactory.java?rev=906724&r1=906723&r2=906724&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/ContextFactory.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/ContextFactory.java Thu Feb 4 23:18:14 2010
@@ -17,12 +17,7 @@
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.context.ContextNotActiveException;
-import javax.enterprise.context.ConversationScoped;
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.context.SessionScoped;
+import javax.enterprise.context.*;
import javax.enterprise.context.spi.Context;
import javax.inject.Singleton;
import javax.servlet.ServletContext;
@@ -30,6 +25,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
+import org.apache.webbeans.container.BeanManagerImpl;
import org.apache.webbeans.context.type.ContextTypes;
import org.apache.webbeans.conversation.ConversationManager;
@@ -89,7 +85,7 @@
/**
* Initialize requext context with the given request object.
*
- * @param request http servlet request object
+ * @param event http servlet request event
*/
public static void initRequestContext(ServletRequestEvent event)
{
@@ -118,6 +114,10 @@
public static Context getCustomContext(Context context)
{
+ if (BeanManagerImpl.getManager().isPassivatingScope(context.getScope()))
+ {
+ return new CustomPassivatingContextImpl(context);
+ }
return new CustomContextImpl(context);
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/creational/CreationalContextImpl.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/creational/CreationalContextImpl.java?rev=906724&r1=906723&r2=906724&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/creational/CreationalContextImpl.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/creational/CreationalContextImpl.java Thu Feb 4 23:18:14 2010
@@ -16,6 +16,7 @@
*/
package org.apache.webbeans.context.creational;
+import java.io.Serializable;
import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
@@ -27,11 +28,11 @@
import org.apache.webbeans.util.Asserts;
/** {@inheritDoc} */
-public class CreationalContextImpl<T> implements CreationalContext<T>
+public class CreationalContextImpl<T> implements CreationalContext<T>, Serializable
{
- private Object incompleteInstance = null;
+ private transient Object incompleteInstance = null;
- private Object proxyInstance = null;
+ private transient Object proxyInstance = null;
/**Contextual bean dependent instances*/
private Map<Object, DependentCreationalContext<?>> dependentObjects = new WeakHashMap<Object, DependentCreationalContext<?>>();
@@ -40,7 +41,7 @@
private CreationalContextImpl<?> ownerCreational = null;
- private static class DependentCreationalContext<S>
+ private static class DependentCreationalContext<S> implements Serializable
{
private CreationalContext<S> creationalContext;
@@ -83,8 +84,6 @@
this.contextual = contextual;
this.creationalContext = cc;
}
-
-
}