[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