Repository: incubator-juneau
Updated Branches:
  refs/heads/master 82eca2873 -> dabe77a54


https://issues.apache.org/jira/browse/JUNEAU-4

Project: http://git-wip-us.apache.org/repos/asf/incubator-juneau/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-juneau/commit/dabe77a5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-juneau/tree/dabe77a5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-juneau/diff/dabe77a5

Branch: refs/heads/master
Commit: dabe77a5480538dfbb19ddcc287fa87add3cafa3
Parents: 82eca28
Author: jamesbognar <[email protected]>
Authored: Fri Aug 5 09:17:00 2016 -0400
Committer: jamesbognar <[email protected]>
Committed: Fri Aug 5 09:17:00 2016 -0400

----------------------------------------------------------------------
 .../src/main/java/org/apache/juneau/BeanContext.java    | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/dabe77a5/org.apache.juneau/src/main/java/org/apache/juneau/BeanContext.java
----------------------------------------------------------------------
diff --git a/org.apache.juneau/src/main/java/org/apache/juneau/BeanContext.java 
b/org.apache.juneau/src/main/java/org/apache/juneau/BeanContext.java
index 3b2f51c..9027d57 100644
--- a/org.apache.juneau/src/main/java/org/apache/juneau/BeanContext.java
+++ b/org.apache.juneau/src/main/java/org/apache/juneau/BeanContext.java
@@ -481,7 +481,7 @@ public class BeanContext extends Context {
        // This map ensures that if the BeanContext properties in the 
ConfigFactory are the same,
        // then we reuse the same Class->ClassMeta cache map.
        // This significantly reduces the number of times we need to construct 
ClassMeta objects which can be expensive.
-       private static final 
ConcurrentHashMap<ContextFactory.PropertyMap,Map<Class,ClassMeta>> cmCacheCache 
= new ConcurrentHashMap<ContextFactory.PropertyMap,Map<Class,ClassMeta>>();
+       private static final ConcurrentHashMap<Integer,Map<Class,ClassMeta>> 
cmCacheCache = new ConcurrentHashMap<Integer,Map<Class,ClassMeta>>();
 
        /** Default config.  All default settings. */
        public static final BeanContext DEFAULT = 
ContextFactory.create().getContext(BeanContext.class);
@@ -542,9 +542,9 @@ public class BeanContext extends Context {
                super(cf);
 
                ContextFactory.PropertyMap pm = 
cf.getPropertyMap("BeanContext");
+               hashCode = pm.hashCode();
                classLoader = cf.classLoader;
                defaultParser = cf.defaultParser;
-               hashCode = pm.hashCode;
 
                beansRequireDefaultConstructor = 
pm.get(BEAN_beansRequireDefaultConstructor, boolean.class, false);
                beansRequireSerializable = 
pm.get(BEAN_beansRequireSerializable, boolean.class, false);
@@ -622,13 +622,13 @@ public class BeanContext extends Context {
                implKeyClasses = implClasses.keySet().toArray(new Class[0]);
                implValueClasses = implClasses.values().toArray(new Class[0]);
 
-               if (! cmCacheCache.containsKey(pm)) {
+               if (! cmCacheCache.containsKey(hashCode)) {
                        ConcurrentHashMap<Class,ClassMeta> cm = new 
ConcurrentHashMap<Class,ClassMeta>();
                        cm.put(String.class, new ClassMeta(String.class, this));
                        cm.put(Object.class, new ClassMeta(Object.class, this));
-                       cmCacheCache.putIfAbsent(pm, cm);
+                       cmCacheCache.putIfAbsent(hashCode, cm);
                }
-               this.cmCache = cmCacheCache.get(pm);
+               this.cmCache = cmCacheCache.get(hashCode);
                this.cmString = cmCache.get(String.class);
                this.cmObject = cmCache.get(Object.class);
                this.cmClass = cmCache.get(Class.class);
@@ -2031,7 +2031,7 @@ public class BeanContext extends Context {
        @Override /* Object */
        public boolean equals(Object o) {
                if (o instanceof BeanContext)
-                       return ((BeanContext)o).cmCache == cmCache;
+                       return ((BeanContext)o).hashCode == hashCode;
                return false;
        }
 

Reply via email to