[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