Author: mikedd
Date: Fri Nov 12 22:09:42 2010
New Revision: 1034583
URL: http://svn.apache.org/viewvc?rev=1034583&view=rev
Log:
OPENJPA-1790: Added Proxy for concurrent maps.
Submitted By: Heath Thomann, ported from Jody's patch for trunk
Modified:
openjpa/branches/2.0.x/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyManagerImpl.java
Modified:
openjpa/branches/2.0.x/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyManagerImpl.java
URL:
http://svn.apache.org/viewvc/openjpa/branches/2.0.x/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyManagerImpl.java?rev=1034583&r1=1034582&r2=1034583&view=diff
==============================================================================
---
openjpa/branches/2.0.x/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyManagerImpl.java
(original)
+++
openjpa/branches/2.0.x/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyManagerImpl.java
Fri Nov 12 22:09:42 2010
@@ -59,6 +59,8 @@ import org.apache.openjpa.lib.util.Optio
import org.apache.openjpa.lib.util.concurrent.NullSafeConcurrentHashMap;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+
import serp.bytecode.BCClass;
import serp.bytecode.BCField;
import serp.bytecode.BCMethod;
@@ -560,7 +562,9 @@ public class ProxyManagerImpl
delegateConstructors(bc, type);
addProxyMethods(bc, false);
addProxyMapMethods(bc, type);
- proxyRecognizedMethods(bc, type, ProxyMaps.class, ProxyMap.class);
+ Class<? extends ProxyMaps> mapProxyClassType =
+ ConcurrentMap.class.isAssignableFrom(type) ?
ProxyConcurrentMaps.class : ProxyMaps.class;
+ proxyRecognizedMethods(bc, type, mapProxyClassType, ProxyMap.class);
proxySetters(bc, type);
addWriteReplaceMethod(bc, runtime);
return bc;