Author: mbenson
Date: Sun Sep  8 18:09:03 2013
New Revision: 1520889

URL: http://svn.apache.org/r1520889
Log:
use numbered classnames instead of superclass-based ones

Modified:
    
commons/proper/proxy/branches/version-2.0-work/asm4/src/main/java/org/apache/commons/proxy2/asm4/ASM4ProxyFactory.java

Modified: 
commons/proper/proxy/branches/version-2.0-work/asm4/src/main/java/org/apache/commons/proxy2/asm4/ASM4ProxyFactory.java
URL: 
http://svn.apache.org/viewvc/commons/proper/proxy/branches/version-2.0-work/asm4/src/main/java/org/apache/commons/proxy2/asm4/ASM4ProxyFactory.java?rev=1520889&r1=1520888&r2=1520889&view=diff
==============================================================================
--- 
commons/proper/proxy/branches/version-2.0-work/asm4/src/main/java/org/apache/commons/proxy2/asm4/ASM4ProxyFactory.java
 (original)
+++ 
commons/proper/proxy/branches/version-2.0-work/asm4/src/main/java/org/apache/commons/proxy2/asm4/ASM4ProxyFactory.java
 Sun Sep  8 18:09:03 2013
@@ -45,6 +45,7 @@ import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.locks.ReentrantLock;
 
 public class ASM4ProxyFactory extends AbstractSubclassingProxyFactory
@@ -69,6 +70,8 @@ public class ASM4ProxyFactory extends Ab
 
     private static class ProxyGenerator extends AbstractProxyClassGenerator 
implements Opcodes
     {
+        private static final AtomicInteger CLASS_NUMBER = new AtomicInteger(0);
+        private static final String CLASSNAME_PREFIX = "CommonsProxyASM4_";
         private static final String HANDLER_NAME = "__handler";
         private static final ReentrantLock LOCK = new ReentrantLock();
 
@@ -153,17 +156,7 @@ public class ASM4ProxyFactory extends Ab
 
         public static Class<?> createProxy(final Class<?> classToProxy, final 
ClassLoader cl, final Method[] methods, final Class<?>... interfaces)
         {
-            return createProxy(classToProxy, cl, 
proxyName(classToProxy.getName()), methods, interfaces);
-        }
-
-        private static String proxyName(final String name)
-        {
-            final String proxy = name + "$$CommonsProxy";
-            if (!proxy.startsWith("java"))
-            {
-                return proxy;
-            }
-            return "org.apache.commons.proxy2.generated." + proxy;
+            return createProxy(classToProxy, cl, CLASSNAME_PREFIX + 
CLASS_NUMBER.incrementAndGet(), methods, interfaces);
         }
 
         public static byte[] generateProxy(final Class<?> classToProxy, final 
String proxyName, final Method[] methods, final Class<?>... interfaces) throws 
ProxyFactoryException


Reply via email to