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/03/25 17:05:43 UTC
svn commit: r927466 - in /openwebbeans/trunk/webbeans-impl/src:
main/java/org/apache/webbeans/context/
test/java/org/apache/webbeans/newtests/contexts/
test/java/org/apache/webbeans/newtests/contexts/session/common/
test/java/org/apache/webbeans/newtes...
Author: struberg
Date: Thu Mar 25 16:05:43 2010
New Revision: 927466
URL: http://svn.apache.org/viewvc?rev=927466&view=rev
Log:
OWB-6 further test cases and a bit code cleanup
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/ContextFactory.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/SessionContext.java
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/contexts/SerializationTest.java
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/contexts/session/common/PersonalDataBean.java
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/circular/beans/CircularDependenScopeBean.java
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=927466&r1=927465&r2=927466&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 Mar 25 16:05:43 2010
@@ -158,34 +158,34 @@ public final class ContextFactory
* @throws ContextNotActiveException if context is not active
* @throws IllegalArgumentException if the type is not a standard context
*/
- public static Context getStandartContext(ContextTypes type) throws ContextNotActiveException
+ public static Context getStandardContext(ContextTypes type) throws ContextNotActiveException
{
Context context = null;
switch (type.getCardinal())
{
case 0:
- context = (Context)contextService.getCurrentContext(RequestScoped.class);
+ context = contextService.getCurrentContext(RequestScoped.class);
break;
case 1:
- context = (Context)contextService.getCurrentContext(SessionScoped.class);
+ context = contextService.getCurrentContext(SessionScoped.class);
break;
case 2:
- context = (Context)contextService.getCurrentContext(ApplicationScoped.class);
+ context = contextService.getCurrentContext(ApplicationScoped.class);
break;
case 3:
- context = (Context)contextService.getCurrentContext(ConversationScoped.class);
+ context = contextService.getCurrentContext(ConversationScoped.class);
break;
case 4:
- context = (Context)contextService.getCurrentContext(Dependent.class);
+ context = contextService.getCurrentContext(Dependent.class);
break;
case 5:
- context = (Context)contextService.getCurrentContext(Singleton.class);
+ context = contextService.getCurrentContext(Singleton.class);
break;
default:
@@ -206,28 +206,28 @@ public final class ContextFactory
if (scopeType.equals(RequestScoped.class))
{
- context = getStandartContext(ContextTypes.REQUEST);
+ context = getStandardContext(ContextTypes.REQUEST);
}
else if (scopeType.equals(SessionScoped.class))
{
- context = getStandartContext(ContextTypes.SESSION);
+ context = getStandardContext(ContextTypes.SESSION);
}
else if (scopeType.equals(ApplicationScoped.class))
{
- context = getStandartContext(ContextTypes.APPLICATION);
+ context = getStandardContext(ContextTypes.APPLICATION);
}
else if (scopeType.equals(ConversationScoped.class))
{
- context = getStandartContext(ContextTypes.CONVERSATION);
+ context = getStandardContext(ContextTypes.CONVERSATION);
}
else if (scopeType.equals(Dependent.class))
{
- context = getStandartContext(ContextTypes.DEPENDENT);
+ context = getStandardContext(ContextTypes.DEPENDENT);
}
else if (scopeType.equals(Singleton.class))
{
- context = getStandartContext(ContextTypes.SINGLETON);
+ context = getStandardContext(ContextTypes.SINGLETON);
}
return context;
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/SessionContext.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/SessionContext.java?rev=927466&r1=927465&r2=927466&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/SessionContext.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/SessionContext.java Thu Mar 25 16:05:43 2010
@@ -13,6 +13,7 @@
*/
package org.apache.webbeans.context;
+import java.io.Serializable;
import java.util.concurrent.ConcurrentHashMap;
import javax.enterprise.context.spi.Contextual;
@@ -22,8 +23,10 @@ import org.apache.webbeans.context.type.
/**
* Session context implementation.
*/
-public class SessionContext extends AbstractContext
+public class SessionContext extends AbstractContext implements Serializable
{
+ private static final long serialVersionUID = 1L;
+
public SessionContext()
{
super(ContextTypes.SESSION);
Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/contexts/SerializationTest.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/contexts/SerializationTest.java?rev=927466&r1=927465&r2=927466&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/contexts/SerializationTest.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/contexts/SerializationTest.java Thu Mar 25 16:05:43 2010
@@ -21,6 +21,8 @@ package org.apache.webbeans.newtests.con
import org.apache.webbeans.container.SerializableBean;
import org.apache.webbeans.container.SerializableBeanVault;
+import org.apache.webbeans.context.ContextFactory;
+import org.apache.webbeans.context.type.ContextTypes;
import org.apache.webbeans.newtests.AbstractUnitTest;
import org.apache.webbeans.newtests.contexts.serialize.AppScopedBean;
import org.apache.webbeans.newtests.contexts.serialize.SessScopedBean;
@@ -46,6 +48,7 @@ import org.junit.Test;
import javassist.util.proxy.ProxyObject;
+import javax.enterprise.context.spi.Context;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.BeanManager;
@@ -61,6 +64,7 @@ import java.util.Set;
public class SerializationTest extends AbstractUnitTest
{
+ @SuppressWarnings("unchecked")
@Test
public void testCreationalContextSerialization() throws Exception
{
@@ -79,8 +83,8 @@ public class SerializationTest extends A
Assert.assertNotNull(pdbCreational);
// oki, now let's serializeBean the CreationalContext
- byte[] serial = serializeCreationalContext(pdbCreational);
- CreationalContext<?> cc2 = deSerializeCreationalContext(serial);
+ byte[] serial = serializeObject(pdbCreational);
+ CreationalContext<?> cc2 = (CreationalContext<?>) deSerializeObject(serial);
Assert.assertNotNull(cc2);
}
@@ -124,9 +128,21 @@ public class SerializationTest extends A
Assert.assertEquals(((SerializableBean<?>)bean).getBean(), ((SerializableBean<?>)b2).getBean());
- }
+ }
}
-
+
+ // and now we are keen and try to serialize the whole passivatable Contexts!
+ PersonalDataBean pdb = getInstance(PersonalDataBean.class);
+ pdb.business();
+
+ // first we need to actually create a few instances
+
+ Context sessionContext = ContextFactory.getStandardContext(ContextTypes.SESSION);
+ Assert.assertNotNull(sessionContext);
+ byte[] ba = serializeObject(sessionContext);
+ Assert.assertNotNull(ba);
+ Context sessContext2 = (Context) deSerializeObject(ba);
+ Assert.assertNotNull(sessContext2);
}
//X TODO this will work after JASSIST-97 got fixed @Test
@@ -171,31 +187,27 @@ public class SerializationTest extends A
private byte[] serializeBean(Bean<?> bean) throws IOException
{
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- ObjectOutputStream oos = new ObjectOutputStream(baos);
- oos.writeObject(bean);
- return baos.toByteArray();
- }
-
- private Bean<?> deSerializeBean(byte[] serial) throws IOException, ClassNotFoundException {
- ByteArrayInputStream bais = new ByteArrayInputStream(serial);
- ObjectInputStream ois = new ObjectInputStream(bais);
- return (Bean<?>) ois.readObject();
+ return serializeObject(bean);
}
-
- private byte[] serializeCreationalContext(CreationalContext<?> cc) throws IOException
+
+ private byte[] serializeObject(Object o) throws IOException
{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
- oos.writeObject(cc);
+ oos.writeObject(o);
return baos.toByteArray();
}
- private CreationalContext<?> deSerializeCreationalContext(byte[] serial) throws IOException, ClassNotFoundException {
+ private Bean<?> deSerializeBean(byte[] serial) throws IOException, ClassNotFoundException
+ {
+ return (Bean<?>) deSerializeObject(serial);
+ }
+
+ private Object deSerializeObject(byte[] serial) throws IOException, ClassNotFoundException
+ {
ByteArrayInputStream bais = new ByteArrayInputStream(serial);
ObjectInputStream ois = new ObjectInputStream(bais);
- return (CreationalContext<?>) ois.readObject();
+ return ois.readObject();
}
-
}
Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/contexts/session/common/PersonalDataBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/contexts/session/common/PersonalDataBean.java?rev=927466&r1=927465&r2=927466&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/contexts/session/common/PersonalDataBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/contexts/session/common/PersonalDataBean.java Thu Mar 25 16:05:43 2010
@@ -20,10 +20,14 @@ import javax.annotation.PreDestroy;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;
+import org.apache.webbeans.test.component.event.normal.Transactional;
+
@Named("org.apache.webbeans.newtests.contexts.session.common.PersonalDataBean")
@SessionScoped
public class PersonalDataBean implements Serializable
{
+ private static final long serialVersionUID = 1L;
+
public static boolean POST_CONSTRUCT = false;
public static boolean PRE_DESTROY = false;
@@ -33,6 +37,8 @@ public class PersonalDataBean implements
}
+
+ @Transactional
public void business(){}
@PostConstruct
Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/circular/beans/CircularDependenScopeBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/circular/beans/CircularDependenScopeBean.java?rev=927466&r1=927465&r2=927466&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/circular/beans/CircularDependenScopeBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/circular/beans/CircularDependenScopeBean.java Thu Mar 25 16:05:43 2010
@@ -18,6 +18,8 @@
*/
package org.apache.webbeans.newtests.injection.circular.beans;
+import java.io.Serializable;
+
import javax.annotation.PostConstruct;
import javax.enterprise.context.Dependent;
import javax.inject.Inject;
@@ -27,7 +29,7 @@ import org.apache.webbeans.test.componen
@Dependent
@Named(value="org.apache.webbeans.newtests.injection.circular.beans.CircularDependenScopeBean")
-public class CircularDependenScopeBean
+public class CircularDependenScopeBean implements Serializable
{
@Inject CircularApplicationScopedBean app;