[jboss-cvs] JBossAS SVN: r85938 - projects/aop/trunk/aop/src/main/java/org/jboss/aop/proxy.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Mar 16 12:40:03 EDT 2009
Author: kabir.khan at jboss.com
Date: 2009-03-16 12:40:03 -0400 (Mon, 16 Mar 2009)
New Revision: 85938
Modified:
projects/aop/trunk/aop/src/main/java/org/jboss/aop/proxy/ClassProxyFactory.java
projects/aop/trunk/aop/src/main/java/org/jboss/aop/proxy/ProxyFactory.java
Log:
[JBAOP-698] Generate proxies in org.jboss.aop.generatedproxies package rather than in default package
Modified: projects/aop/trunk/aop/src/main/java/org/jboss/aop/proxy/ClassProxyFactory.java
===================================================================
--- projects/aop/trunk/aop/src/main/java/org/jboss/aop/proxy/ClassProxyFactory.java 2009-03-16 16:34:31 UTC (rev 85937)
+++ projects/aop/trunk/aop/src/main/java/org/jboss/aop/proxy/ClassProxyFactory.java 2009-03-16 16:40:03 UTC (rev 85938)
@@ -164,10 +164,15 @@
private static CtClass createProxyCtClass(ClassPool pool, ProxyMixin[] mixins, Class<?> clazz, boolean interceptWriteReplace)
throws Exception
{
+ String packageName = clazz.getPackage().getName();
+ if (packageName.startsWith("java.") || packageName.startsWith("sun."))
+ {
+ packageName = GENERATED_PROXIES_PACKAGE;
+ }
String classname = null;
synchronized (ClassProxyFactory.class)
{
- classname = GENERATED_PROXIES_PACKAGE + ".AOPClassProxy$" + counter++;
+ classname = packageName + ".AOPClassProxy$" + counter++;
}
CtClass template = pool.get("org.jboss.aop.proxy.ClassProxyTemplate");
Modified: projects/aop/trunk/aop/src/main/java/org/jboss/aop/proxy/ProxyFactory.java
===================================================================
--- projects/aop/trunk/aop/src/main/java/org/jboss/aop/proxy/ProxyFactory.java 2009-03-16 16:34:31 UTC (rev 85937)
+++ projects/aop/trunk/aop/src/main/java/org/jboss/aop/proxy/ProxyFactory.java 2009-03-16 16:40:03 UTC (rev 85938)
@@ -53,6 +53,8 @@
private static long counter = 0;
private static WeakValueHashMap<GUID, Class<?>> proxyCache = new WeakValueHashMap<GUID, Class<?>>();
+ public static final String GENERATED_PROXIES_PACKAGE = ClassProxyFactory.GENERATED_PROXIES_PACKAGE;
+
public static Proxy createInterfaceProxy(ClassLoader loader, Class<?>[] interfaces, ProxyMixin[] mixins, InstanceAdvisor advisor) throws Exception
{
Class<?> clazz = createProxyClass(loader, mixins, interfaces);
@@ -148,8 +150,13 @@
ClassPool pool = AspectManager.instance().findClassPool(loader);
if (pool == null) throw new NullPointerException("Could not find ClassPool");
- String classname = "AOPProxy$" + counter++;
+ String classname = null;
+ synchronized (ProxyFactory.class)
+ {
+ classname = GENERATED_PROXIES_PACKAGE + ".AOPProxy$" + counter++;
+ }
+
CtClass base = pool.get("org.jboss.aop.proxy.Proxy");
CtClass proxy = TransformerCommon.makeClass(pool, classname, base);
proxy.addInterface(pool.get("org.jboss.aop.instrument.Untransformable"));
More information about the jboss-cvs-commits
mailing list