[jboss-cvs] JBossAS SVN: r106139 - in projects/interceptors/trunk/jboss-interceptor/src: test/java/org/jboss/interceptors/proxy and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Jun 17 15:59:10 EDT 2010


Author: marius.bogoevici
Date: 2010-06-17 15:59:10 -0400 (Thu, 17 Jun 2010)
New Revision: 106139

Modified:
   projects/interceptors/trunk/jboss-interceptor/src/main/java/org/jboss/interceptor/proxy/InterceptorProxyCreator.java
   projects/interceptors/trunk/jboss-interceptor/src/main/java/org/jboss/interceptor/proxy/SubclassingInterceptorMethodHandler.java
   projects/interceptors/trunk/jboss-interceptor/src/test/java/org/jboss/interceptors/proxy/SubclassingInterceptionTestCase.java
Log:
minor cleanup

Modified: projects/interceptors/trunk/jboss-interceptor/src/main/java/org/jboss/interceptor/proxy/InterceptorProxyCreator.java
===================================================================
--- projects/interceptors/trunk/jboss-interceptor/src/main/java/org/jboss/interceptor/proxy/InterceptorProxyCreator.java	2010-06-17 19:56:15 UTC (rev 106138)
+++ projects/interceptors/trunk/jboss-interceptor/src/main/java/org/jboss/interceptor/proxy/InterceptorProxyCreator.java	2010-06-17 19:59:10 UTC (rev 106139)
@@ -23,13 +23,14 @@
 /**
  * @author <a href="mailto:mariusb at redhat.com">Marius Bogoevici</a>
  */
-public interface InterceptorProxyCreator {
+public interface InterceptorProxyCreator
+{
 
    <T> T createProxyInstance(Class<T> proxyClass, MethodHandler interceptorMethodHandler);
 
    <T> MethodHandler createMethodHandler(Object target, Class<T> proxyClass, InterceptorMetadata interceptorMetadata);
 
-    <T> MethodHandler createSubclassingMethodHandler(Object targetInstance, Class<T> proxyClass, InterceptorMetadata interceptorMetadata);
+   <T> MethodHandler createSubclassingMethodHandler(Object targetInstance, Class<T> proxyClass, InterceptorMetadata interceptorMetadata);
 
-    <T> T createProxyFromClass(Class<T> proxifiedClass, Class<?>[] constructorTypes, Object[] constructorArguments, InterceptorMetadata interceptorClassMetadata);
+   <T> T createProxyFromClass(Class<T> proxifiedClass, Class<?>[] constructorTypes, Object[] constructorArguments, InterceptorMetadata interceptorClassMetadata);
 }

Modified: projects/interceptors/trunk/jboss-interceptor/src/main/java/org/jboss/interceptor/proxy/SubclassingInterceptorMethodHandler.java
===================================================================
--- projects/interceptors/trunk/jboss-interceptor/src/main/java/org/jboss/interceptor/proxy/SubclassingInterceptorMethodHandler.java	2010-06-17 19:56:15 UTC (rev 106138)
+++ projects/interceptors/trunk/jboss-interceptor/src/main/java/org/jboss/interceptor/proxy/SubclassingInterceptorMethodHandler.java	2010-06-17 19:59:10 UTC (rev 106139)
@@ -11,6 +11,7 @@
 import java.util.Map;
 
 import javassist.util.proxy.MethodHandler;
+import javassist.util.proxy.ProxyObject;
 import org.jboss.interceptor.model.InterceptionModel;
 import org.jboss.interceptor.model.InterceptionType;
 import org.jboss.interceptor.model.InterceptionTypeRegistry;
@@ -29,6 +30,16 @@
    private List<InterceptionModel<Class<?>, ?>> interceptionModels;
    private Object targetInstance;
 
+   private static MethodHandler DEFAULT_METHOD_HANDLER = new MethodHandler() {
+
+        public Object invoke(Object self, Method m,
+                             Method proceed, Object[] args)
+            throws Exception
+        {
+            return proceed.invoke(self, args);
+        }
+   };
+
    public SubclassingInterceptorMethodHandler(Object targetInstance, List<InterceptionModel<Class<?>, ?>> interceptionModels, List<InterceptionHandlerFactory<?>> interceptionHandlerFactories, InterceptorMetadata targetClassMetadata)
    {
       this.targetInstance = targetInstance;
@@ -131,6 +142,10 @@
       try
       {
          objectInputStream.defaultReadObject();
+         if (((ProxyObject)targetInstance).getHandler() == null)
+         {
+            ((ProxyObject)targetInstance).setHandler(DEFAULT_METHOD_HANDLER); 
+         }
          executeInterception(targetInstance, null, null, null, InterceptionType.POST_ACTIVATE);
       }
       catch (Throwable throwable)

Modified: projects/interceptors/trunk/jboss-interceptor/src/test/java/org/jboss/interceptors/proxy/SubclassingInterceptionTestCase.java
===================================================================
--- projects/interceptors/trunk/jboss-interceptor/src/test/java/org/jboss/interceptors/proxy/SubclassingInterceptionTestCase.java	2010-06-17 19:56:15 UTC (rev 106138)
+++ projects/interceptors/trunk/jboss-interceptor/src/test/java/org/jboss/interceptors/proxy/SubclassingInterceptionTestCase.java	2010-06-17 19:59:10 UTC (rev 106139)
@@ -17,7 +17,11 @@
 
 package org.jboss.interceptors.proxy;
 
-import javassist.util.proxy.MethodHandler;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
 import javassist.util.proxy.ProxyObject;
 import org.jboss.interceptor.javassist.CompositeHandler;
 import org.jboss.interceptor.model.InterceptionModel;
@@ -26,7 +30,6 @@
 import org.jboss.interceptor.proxy.DirectClassInterceptionHandlerFactory;
 import org.jboss.interceptor.proxy.InterceptorProxyCreator;
 import org.jboss.interceptor.proxy.InterceptorProxyCreatorImpl;
-import org.jboss.interceptor.proxy.SubclassingInterceptorMethodHandler;
 import org.jboss.interceptor.registry.InterceptorMetadataRegistry;
 import org.jboss.interceptor.registry.InterceptorRegistry;
 import org.jboss.interceptor.registry.SimpleClassMetadataReader;
@@ -36,11 +39,6 @@
 import org.junit.Ignore;
 import org.junit.Test;
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-
 /**
  * @author <a href="mailto:mariusb at redhat.com">Marius Bogoevici</a>
  */



More information about the jboss-cvs-commits mailing list