[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