[jboss-cvs] JBossAS SVN: r69274 - in projects/aop/trunk/aop/src: main/org/jboss/aop/proxy/container and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Jan 24 06:19:18 EST 2008
Author: kabir.khan at jboss.com
Date: 2008-01-24 06:19:18 -0500 (Thu, 24 Jan 2008)
New Revision: 69274
Added:
projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledAdvice.java
Modified:
projects/aop/trunk/aop/src/main/org/jboss/aop/advice/AbstractAdvice.java
projects/aop/trunk/aop/src/main/org/jboss/aop/advice/PerInstanceAdvice.java
projects/aop/trunk/aop/src/main/org/jboss/aop/advice/PerJoinpointAdvice.java
projects/aop/trunk/aop/src/main/org/jboss/aop/advice/PerVmAdvice.java
projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ContainerProxyFactory.java
projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledContainerProxy.java
projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledProxyAdvisor.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/proxy/OutOfProcessProxySerializer.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/proxy/SerializeContainerProxyOutOfVmTestCase.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/proxy/SerializeContainerProxyTest.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/proxy/TestAspect.java
Log:
[JBAOP-467] Add support for serializing basic aspects
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/advice/AbstractAdvice.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/advice/AbstractAdvice.java 2008-01-24 10:57:46 UTC (rev 69273)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/advice/AbstractAdvice.java 2008-01-24 11:19:18 UTC (rev 69274)
@@ -71,8 +71,14 @@
protected void init(String advice, Class aspectClass)
{
- this.aspectClass = aspectClass;
- this.adviceName = advice;
+ if (aspectClass == null)
+ {
+ this.aspectClass = aspectClass;
+ }
+ if (adviceName == null)
+ {
+ this.adviceName = advice;
+ }
invocationAdvice = findByInvocation(adviceName, aspectClass);
if (invocationAdvice == null)
{
@@ -317,4 +323,11 @@
throw new RuntimeException("Should Be Unreachable, but unable to discover Advice");
}
+
+ public String getAdviceName()
+ {
+ return adviceName;
+ }
+
+ public abstract Object getAspectInstance();
}
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/advice/PerInstanceAdvice.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/advice/PerInstanceAdvice.java 2008-01-24 10:57:46 UTC (rev 69273)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/advice/PerInstanceAdvice.java 2008-01-24 11:19:18 UTC (rev 69274)
@@ -124,4 +124,10 @@
}
}
+ @Override
+ public Object getAspectInstance()
+ {
+ return null;
+ }
+
}
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/advice/PerJoinpointAdvice.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/advice/PerJoinpointAdvice.java 2008-01-24 10:57:46 UTC (rev 69273)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/advice/PerJoinpointAdvice.java 2008-01-24 11:19:18 UTC (rev 69274)
@@ -176,5 +176,11 @@
}
}
+ @Override
+ public Object getAspectInstance()
+ {
+ return null;
+ }
+
}
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/advice/PerVmAdvice.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/advice/PerVmAdvice.java 2008-01-24 10:57:46 UTC (rev 69273)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/advice/PerVmAdvice.java 2008-01-24 11:19:18 UTC (rev 69274)
@@ -28,8 +28,10 @@
import javassist.ClassPool;
import javassist.CtClass;
+import javassist.CtConstructor;
import javassist.CtField;
import javassist.CtMethod;
+import javassist.CtNewConstructor;
import javassist.CtNewMethod;
import org.jboss.aop.AspectManager;
@@ -144,6 +146,11 @@
CtField field = new CtField(aspectClass, "aspectField", clazz);
field.setModifiers(javassist.Modifier.PUBLIC);
clazz.addField(field);
+
+ CtMethod getAspectFld = CtNewMethod.make(pool.get(Object.class.getName()), "getAspectInstance", new CtClass[0], new CtClass[0], "{return aspectField;}", clazz);
+ getAspectFld.setModifiers(javassist.Modifier.PUBLIC);
+ clazz.addMethod(getAspectFld);
+
// getName()
CtMethod getNameTemplate = interceptorInterface.getDeclaredMethod("getName");
String getNameBody =
@@ -190,6 +197,10 @@
invoke.setModifiers(javassist.Modifier.PUBLIC);
clazz.addMethod(invoke);
+ CtConstructor ctor = CtNewConstructor.defaultConstructor(clazz);
+ ctor.setBody("{super.adviceName = \"" + adviceName + "\";}");
+ clazz.addConstructor(ctor);
+
ProtectionDomain pd = aspect.getClass().getProtectionDomain();
iclass = TransformerCommon.toClass(clazz, cl, pd);
}
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ContainerProxyFactory.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ContainerProxyFactory.java 2008-01-24 10:57:46 UTC (rev 69273)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ContainerProxyFactory.java 2008-01-24 11:19:18 UTC (rev 69274)
@@ -339,19 +339,21 @@
{
return
"{" +
- " this.delegate = (" + superclass.getName() + ")$1.getDelegate();" +
- " this.mixins = $1.getMixins();" +
- " this.metadata = $1.getMetadata();" +
- " this.key = $1.getKey();" +
- " java.lang.Class clazz = $1.getClazz();" +
- " this.classAdvisor = org.jboss.aop.proxy.container.ContainerCache.getCachedContainer(this.key);" +
- " this.currentAdvisor = classAdvisor;" +
- " if ($1.getInstanceAdvisorDomainName() != null)" +
- " {" +
- " org.jboss.aop.proxy.container.ProxyAdvisorDomain domain = (org.jboss.aop.proxy.container.ProxyAdvisorDomain)org.jboss.aop.AspectManager.getTopLevelAspectManager().findManagerByName($1.getInstanceAdvisorDomainName());" +
- " this.currentAdvisor = domain.getAdvisor();" +
- " this.instanceAdvisor = this.currentAdvisor;" +
- "}" +
+ " try{" +
+ " this.delegate = (" + superclass.getName() + ")$1.getDelegate();" +
+ " this.mixins = $1.getMixins();" +
+ " this.metadata = $1.getMetadata();" +
+ " this.key = $1.getKey();" +
+ " java.lang.Class clazz = $1.getClazz();" +
+ " this.classAdvisor = org.jboss.aop.proxy.container.ContainerCache.getCachedContainer(this.key);" +
+ " this.currentAdvisor = classAdvisor;" +
+ " if ($1.getInstanceAdvisorDomainName() != null)" +
+ " {" +
+ " org.jboss.aop.proxy.container.ProxyAdvisorDomain domain = (org.jboss.aop.proxy.container.ProxyAdvisorDomain)org.jboss.aop.AspectManager.getTopLevelAspectManager().findManagerByName($1.getInstanceAdvisorDomainName());" +
+ " this.currentAdvisor = domain.getAdvisor();" +
+ " this.instanceAdvisor = this.currentAdvisor;" +
+ " }" +
+ " }catch(java.lang.Exception e){throw e;}" +
"}";
}
Added: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledAdvice.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledAdvice.java (rev 0)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledAdvice.java 2008-01-24 11:19:18 UTC (rev 69274)
@@ -0,0 +1,94 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.aop.proxy.container;
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+import org.jboss.aop.advice.AbstractAdvice;
+import org.jboss.aop.joinpoint.Invocation;
+
+class MarshalledAdvice extends AbstractAdvice implements Serializable
+{
+ private Object aspect;
+ private String name;
+ private volatile boolean initialised = false;
+
+ public MarshalledAdvice(Object aspect, String name, String adviceName)
+ {
+ this.aspect = aspect;
+ this.name = name;
+ super.adviceName = adviceName;
+ super.aspectClass = aspect.getClass();
+ }
+
+ @Override
+ public Object getAspectInstance()
+ {
+ return aspect;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public Object invoke(Invocation invocation) throws Throwable
+ {
+ if (!initialised)
+ {
+ super.init(adviceName, aspect.getClass());
+ initialised = true;
+ }
+ Method advice = resolveAdvice(invocation);
+ Object[] args = {invocation};
+
+ try
+ {
+ return advice.invoke(aspect, args);
+ }
+ catch (InvocationTargetException e)
+ {
+ throw e.getCause(); //To change body of catch statement use Options | File Templates.
+ }
+ }
+
+ private void writeObject(ObjectOutputStream out) throws IOException
+ {
+ out.writeUTF(name);
+ out.writeUTF(super.adviceName);
+ out.writeObject(aspect);
+ out.writeObject(super.aspectClass);
+ }
+
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
+ {
+ name = in.readUTF();
+ super.adviceName = in.readUTF();
+ aspect = in.readObject();
+ super.aspectClass = (Class)in.readObject();
+ }
+}
\ No newline at end of file
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledContainerProxy.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledContainerProxy.java 2008-01-24 10:57:46 UTC (rev 69273)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledContainerProxy.java 2008-01-24 11:19:18 UTC (rev 69274)
@@ -37,7 +37,10 @@
import org.jboss.aop.Advisor;
import org.jboss.aop.AspectManager;
import org.jboss.aop.MethodInfo;
+import org.jboss.aop.advice.AbstractAdvice;
import org.jboss.aop.advice.Interceptor;
+import org.jboss.aop.advice.PerInstanceAdvice;
+import org.jboss.aop.advice.PerJoinpointAdvice;
import org.jboss.aop.instrument.Untransformable;
import org.jboss.aop.metadata.SimpleMetaData;
import org.jboss.aop.util.MethodHashing;
@@ -144,7 +147,7 @@
{
if (marshalledInterceptors.getException() != null)
{
- throw new Exception(marshalledInterceptors.getException());
+ throw new Exception("Could not read object, an error happened when writing it on the server", marshalledInterceptors.getException());
}
MarshalledProxyAdvisor advisor = marshalledInterceptors.getMarshalledAdvisor();
@@ -347,10 +350,47 @@
{
throw new MethodHashingException(e);
}
- interceptors = info.getInterceptors();
clazz = info.getMethod().getDeclaringClass();
+ populateInterceptors(info);
+// interceptors = info.getInterceptors();
+// System.out.println("Interceptors for " + info.getMethod() + " " + interceptors);
}
+ private void populateInterceptors(MethodInfo info)
+ {
+ Interceptor[] icptrs = info.getInterceptors();
+ if (icptrs != null)
+ {
+ ArrayList<Interceptor> allIcptrs = new ArrayList<Interceptor>(icptrs.length);
+
+ for (int i = 0 ; i < icptrs.length ; i++)
+ {
+ if (icptrs[i] instanceof AbstractAdvice == false)
+ {
+ allIcptrs.add(icptrs[i]);
+ }
+ else
+ {
+ AbstractAdvice advice = (AbstractAdvice)icptrs[i];
+ if (icptrs[i] instanceof PerInstanceAdvice)
+ {
+ throw new RuntimeException("Not yet supported PerInstanceAdvice");
+ }
+ else if (icptrs[i] instanceof PerJoinpointAdvice)
+ {
+ throw new RuntimeException("Not yet supported PerJoinpointAdvice");
+ }
+ else
+ {
+ MarshalledAdvice ma = new MarshalledAdvice(advice.getAspectInstance(), icptrs[i].getName(), advice.getAdviceName());
+ allIcptrs.add(ma);
+ }
+ }
+ }
+ interceptors = allIcptrs.toArray(new Interceptor[allIcptrs.size()]);
+ }
+ }
+
public MethodInfo getMethodInfo(Advisor advisor)
{
MethodInfo info = new MethodInfo(clazz, advisedHash, unadvisedHash, advisor);
@@ -373,5 +413,6 @@
super("Error hashing method");
super.initCause(e);
}
- }
+ }
+
}
\ No newline at end of file
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledProxyAdvisor.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledProxyAdvisor.java 2008-01-24 10:57:46 UTC (rev 69273)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/MarshalledProxyAdvisor.java 2008-01-24 11:19:18 UTC (rev 69274)
@@ -21,6 +21,9 @@
*/
package org.jboss.aop.proxy.container;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
import gnu.trove.TLongObjectHashMap;
import org.jboss.aop.Advisor;
@@ -28,8 +31,10 @@
import org.jboss.aop.Domain;
import org.jboss.aop.InstanceAdvisor;
import org.jboss.aop.MethodInfo;
+import org.jboss.aop.advice.AbstractAdvice;
import org.jboss.aop.advice.AspectDefinition;
import org.jboss.aop.advice.Interceptor;
+import org.jboss.aop.joinpoint.Invocation;
import org.jboss.aop.joinpoint.Joinpoint;
import org.jboss.aop.metadata.ClassMetaDataBinding;
import org.jboss.aop.metadata.SimpleMetaData;
Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/proxy/OutOfProcessProxySerializer.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/proxy/OutOfProcessProxySerializer.java 2008-01-24 10:57:46 UTC (rev 69273)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/proxy/OutOfProcessProxySerializer.java 2008-01-24 11:19:18 UTC (rev 69274)
@@ -31,12 +31,14 @@
import org.jboss.aop.AspectManager;
import org.jboss.aop.advice.AdviceBinding;
+import org.jboss.aop.advice.AdviceFactory;
import org.jboss.aop.advice.AspectDefinition;
import org.jboss.aop.advice.GenericAspectFactory;
import org.jboss.aop.advice.InterceptorFactory;
import org.jboss.aop.advice.Scope;
import org.jboss.aop.advice.ScopedInterceptorFactory;
import org.jboss.aop.pointcut.PointcutExpression;
+import org.jboss.aop.pointcut.ast.ParseException;
import org.jboss.aop.proxy.container.AOPProxyFactory;
import org.jboss.aop.proxy.container.AOPProxyFactoryMixin;
import org.jboss.aop.proxy.container.AOPProxyFactoryParameters;
@@ -103,28 +105,19 @@
public static void createAndSerializeProxy(File file) throws Exception
{
AspectManager manager = AspectManager.instance();
- AspectDefinition def = new AspectDefinition("icptr", Scope.PER_VM, new GenericAspectFactory(TestInterceptor.class.getName(), null));
- InterceptorFactory advice = new ScopedInterceptorFactory(def);
- PointcutExpression pointcut = new PointcutExpression("pc1", "execution(* $instanceof{" + SomeInterface.class.getName() + "}->helloWorld(..))");
- InterceptorFactory[] interceptors = {advice};
- AdviceBinding binding = new AdviceBinding("binding1", pointcut, null, null, interceptors);
+ addInterceptorBinding(manager,
+ 1,
+ Scope.PER_VM,
+ TestInterceptor.class.getName(),
+ "execution(* $instanceof{" + SomeInterface.class.getName() + "}->helloWorld(..))");
- manager.addAspectDefinition(def);
- manager.addInterceptorFactory(advice.getName(), advice);
- manager.addPointcut(pointcut);
- manager.addBinding(binding);
-
- System.out.println("===> ENABLE ADDITION OF ASPECTS IN OUTOFPROCESSPROXYSERIALIZER");
-// AspectDefinition def2 = new AspectDefinition("aspect", Scope.PER_VM, new GenericAspectFactory(TestAspect.class.getName(), null));
-// AdviceFactory advice2 = new AdviceFactory(def2, "advice");
-// PointcutExpression pointcut2 = new PointcutExpression("pc2", "execution(* $instanceof{" + SomeInterface.class.getName() + "}->otherWorld(..))");
-// InterceptorFactory[] interceptors2 = {advice2};
-// AdviceBinding binding2 = new AdviceBinding("binding2", pointcut2, null, null, interceptors2);
-//
-// manager.addAspectDefinition(def2);
-// manager.addInterceptorFactory(advice2.getName(), advice2);
-// manager.addPointcut(pointcut2);
-// manager.addBinding(binding2);
+
+ addAspectBinding(manager,
+ 2,
+ Scope.PER_VM,
+ TestAspect.class.getName(),
+ "advice",
+ "execution(* $instanceof{" + SomeInterface.class.getName() + "}->otherWorld(..))");
AOPProxyFactoryParameters params = new AOPProxyFactoryParameters();
params.setInterfaces(new Class[] {SomeInterface.class});
@@ -142,12 +135,11 @@
assertTrue(TestInterceptor.invoked);
assertFalse(TestAspect.invoked);
- System.out.println("===> ENABLE CHECKS OF ASPECTS IN OUTOFPROCESSPROXYSERIALIZER");
-// TestInterceptor.invoked = false;
-// TestAspect.invoked = false;
-// si.otherWorld();
-// assertFalse(TestInterceptor.invoked);
-// assertTrue(TestAspect.invoked);
+ TestInterceptor.invoked = false;
+ TestAspect.invoked = false;
+ si.otherWorld();
+ assertFalse(TestInterceptor.invoked);
+ assertTrue(TestAspect.invoked);
ObjectOutputStream out = null;
try
@@ -166,4 +158,24 @@
}
}
}
+
+ private static void addInterceptorBinding(AspectManager manager, int index, Scope scope, String aspectClass, String pointcut) throws ParseException
+ {
+ addAspectBinding(manager, index, scope, aspectClass, null, pointcut);
+ }
+
+ private static void addAspectBinding(AspectManager manager, int index, Scope scope, String aspectClass, String adviceName, String pointcut) throws ParseException
+ {
+ AspectDefinition def = new AspectDefinition("aspect" + index, scope, new GenericAspectFactory(aspectClass, null));
+
+ InterceptorFactory advice = (adviceName != null) ? new AdviceFactory(def, "advice") : new ScopedInterceptorFactory(def);
+ PointcutExpression pc = new PointcutExpression("pc2" + index, pointcut);
+ InterceptorFactory[] interceptors = {advice};
+ AdviceBinding binding = new AdviceBinding("binding" + index, pc, null, null, interceptors);
+
+ manager.addAspectDefinition(def);
+ manager.addInterceptorFactory(advice.getName(), advice);
+ manager.addPointcut(pc);
+ manager.addBinding(binding);
+ }
}
Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/proxy/SerializeContainerProxyOutOfVmTestCase.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/proxy/SerializeContainerProxyOutOfVmTestCase.java 2008-01-24 10:57:46 UTC (rev 69273)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/proxy/SerializeContainerProxyOutOfVmTestCase.java 2008-01-24 11:19:18 UTC (rev 69274)
@@ -23,6 +23,8 @@
import java.io.File;
import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
import java.io.Reader;
import java.util.Properties;
import java.util.StringTokenizer;
@@ -87,9 +89,14 @@
proxyFile.getAbsolutePath().replace('\\', '/');
Process proc = Runtime.getRuntime().exec(run);
+ InputStream sysout = proc.getInputStream();
+ InputStream syserr = proc.getErrorStream();
int result = proc.waitFor();
+ outputStream("System.out", sysout);
+ outputStream("System.err", syserr);
+
switch (result)
{
case OutOfProcessProxySerializer.FEW_ARGS:
@@ -106,6 +113,18 @@
return proxyFile;
}
+ private void outputStream(String type, InputStream in) throws IOException
+ {
+ System.out.println("= = = = = = = = = = Other process " + type);
+ int i = in.read();
+ while(i != -1)
+ {
+ System.out.print((char)i);
+ i = in.read();
+ }
+ System.out.println("= = = = = = = = = = END Other process " + type);
+ }
+
private String getExternalException(File proxyFile)
{
Reader reader = null;
Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/proxy/SerializeContainerProxyTest.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/proxy/SerializeContainerProxyTest.java 2008-01-24 10:57:46 UTC (rev 69273)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/proxy/SerializeContainerProxyTest.java 2008-01-24 11:19:18 UTC (rev 69274)
@@ -72,12 +72,11 @@
int i = omi2.other2();
assertEquals(20, i);
- System.out.println("--- ENABLE CHECKS OF ASPECTS IN SERIALIZECONTAINERPROXYTEST AND OUTOFPROCESSPROXYSERIALIZER");
-// TestInterceptor.invoked = false;
-// TestAspect.invoked = false;
+ TestInterceptor.invoked = false;
+ TestAspect.invoked = false;
si.otherWorld();
-// assertFalse(TestInterceptor.invoked);
-// assertTrue(TestAspect.invoked);
+ assertFalse(TestInterceptor.invoked);
+ assertTrue(TestAspect.invoked);
}
catch(Exception e)
{
@@ -110,12 +109,11 @@
int i = omi2.other2();
assertEquals(20, i);
- System.out.println("--- ENABLE CHECKS OF ASPECTS IN SERIALIZECONTAINERPROXYTEST AND OUTOFPROCESSPROXYSERIALIZER");
-// TestInterceptor.invoked = false;
-// TestAspect.invoked = false;
+ TestInterceptor.invoked = false;
+ TestAspect.invoked = false;
rsi.otherWorld();
-// assertFalse(TestInterceptor.invoked);
-// assertTrue(TestAspect.invoked);
+ assertFalse(TestInterceptor.invoked);
+ assertTrue(TestAspect.invoked);
}
catch(Exception e)
{
Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/proxy/TestAspect.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/proxy/TestAspect.java 2008-01-24 10:57:46 UTC (rev 69273)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/proxy/TestAspect.java 2008-01-24 11:19:18 UTC (rev 69274)
@@ -21,6 +21,8 @@
*/
package org.jboss.test.aop.proxy;
+import java.io.Serializable;
+
import org.jboss.aop.joinpoint.Invocation;
/**
@@ -28,7 +30,7 @@
* @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
* @version $Revision: 1.1 $
*/
-public class TestAspect
+public class TestAspect implements Serializable
{
public static boolean invoked;
public Object advice(Invocation inv) throws Throwable
More information about the jboss-cvs-commits
mailing list