You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2013/06/22 21:05:18 UTC

svn commit: r1495772 - in /cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src: main/java/org/apache/cayenne/map/ test/java/org/apache/cayenne/map/

Author: aadamchik
Date: Sat Jun 22 19:05:17 2013
New Revision: 1495772

URL: http://svn.apache.org/r1495772
Log:
CAY-1789  Lock-free EntityResolver

cleanup

Modified:
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/DataMap.java
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/EntityResolver.java
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/MappingCache.java
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/MappingNamespace.java
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ProxiedMappingNamespace.java
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/MockMappingNamespace.java

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/DataMap.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/DataMap.java?rev=1495772&r1=1495771&r2=1495772&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/DataMap.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/DataMap.java Sat Jun 22 19:05:17 2013
@@ -1315,11 +1315,4 @@ public class DataMap implements Serializ
 
         return null;
     }
-
-    /**
-     * @since 3.2
-     */
-    public Collection<SQLResult> getResultSets() {
-        return results.values();
-    }
 }

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/EntityResolver.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/EntityResolver.java?rev=1495772&r1=1495771&r2=1495772&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/EntityResolver.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/EntityResolver.java Sat Jun 22 19:05:17 2013
@@ -333,10 +333,18 @@ public class EntityResolver implements M
     }
 
     /**
-     * @since 3.0
+     * @deprecated since 3.2 use {@link #getResults()}.
      */
+    @Deprecated
     public Collection<SQLResult> getResultSets() {
-        return mappingCache.getResultSets();
+       return getResults();
+    }
+    
+    /**
+     * @since 3.2
+     */
+    public Collection<SQLResult> getResults() {
+        return mappingCache.getResults();
     }
 
     public Collection<Procedure> getProcedures() {

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/MappingCache.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/MappingCache.java?rev=1495772&r1=1495771&r2=1495772&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/MappingCache.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/MappingCache.java Sat Jun 22 19:05:17 2013
@@ -38,27 +38,27 @@ class MappingCache implements MappingNam
     protected static final Log logger = LogFactory.getLog(MappingCache.class);
 
     protected Collection<DataMap> maps;
-    protected Map<String, Query> queryCache;
-    protected Map<String, Embeddable> embeddableCache;
-    protected Map<String, SQLResult> resultsCache;
-    protected Map<String, DbEntity> dbEntityCache;
-    protected Map<String, ObjEntity> objEntityCache;
-    protected Map<String, ObjEntity> objEntityClassCache;
-    protected Map<String, Procedure> procedureCache;
+    protected Map<String, Query> queries;
+    protected Map<String, Embeddable> embeddables;
+    protected Map<String, SQLResult> results;
+    protected Map<String, DbEntity> dbEntities;
+    protected Map<String, ObjEntity> objEntities;
+    protected Map<String, ObjEntity> objEntitiesByClassName;
+    protected Map<String, Procedure> procedures;
     protected Map<String, EntityInheritanceTree> entityInheritanceCache;
 
     MappingCache(Collection<DataMap> maps) {
 
         this.maps = maps;
 
-        this.embeddableCache = new HashMap<String, Embeddable>();
-        this.queryCache = new HashMap<String, Query>();
-        this.dbEntityCache = new HashMap<String, DbEntity>();
-        this.objEntityCache = new HashMap<String, ObjEntity>();
-        this.objEntityClassCache = new HashMap<String, ObjEntity>();
-        this.procedureCache = new HashMap<String, Procedure>();
+        this.embeddables = new HashMap<String, Embeddable>();
+        this.queries = new HashMap<String, Query>();
+        this.dbEntities = new HashMap<String, DbEntity>();
+        this.objEntities = new HashMap<String, ObjEntity>();
+        this.objEntitiesByClassName = new HashMap<String, ObjEntity>();
+        this.procedures = new HashMap<String, Procedure>();
         this.entityInheritanceCache = new HashMap<String, EntityInheritanceTree>();
-        this.resultsCache = new HashMap<String, SQLResult>();
+        this.results = new HashMap<String, SQLResult>();
 
         index();
     }
@@ -70,7 +70,7 @@ class MappingCache implements MappingNam
 
         for (DataMap map : maps) {
             for (DbEntity de : map.getDbEntities()) {
-                dbEntityCache.put(de.getName(), de);
+                dbEntities.put(de.getName(), de);
             }
         }
 
@@ -80,7 +80,7 @@ class MappingCache implements MappingNam
             for (ObjEntity oe : map.getObjEntities()) {
 
                 // index by name
-                objEntityCache.put(oe.getName(), oe);
+                objEntities.put(oe.getName(), oe);
 
                 // index by class.. use class name as a key to avoid class
                 // loading here...
@@ -91,29 +91,29 @@ class MappingCache implements MappingNam
 
                 // allow duplicates, but put a special marker indicating
                 // that this entity can't be looked up by class
-                Object existing = objEntityClassCache.get(className);
+                Object existing = objEntitiesByClassName.get(className);
                 if (existing != null) {
 
                     if (existing != OBJ_DUPLICATE_MARKER) {
-                        objEntityClassCache.put(className, OBJ_DUPLICATE_MARKER);
+                        objEntitiesByClassName.put(className, OBJ_DUPLICATE_MARKER);
                     }
                 } else {
-                    objEntityClassCache.put(className, oe);
+                    objEntitiesByClassName.put(className, oe);
                 }
             }
 
             // index stored procedures
             for (Procedure proc : map.getProcedures()) {
-                procedureCache.put(proc.getName(), proc);
+                procedures.put(proc.getName(), proc);
             }
 
             // index embeddables
-            embeddableCache.putAll(map.getEmbeddableMap());
+            embeddables.putAll(map.getEmbeddableMap());
 
             // index queries
             for (Query query : map.getQueries()) {
                 String name = query.getName();
-                Object existingQuery = queryCache.put(name, query);
+                Object existingQuery = queries.put(name, query);
 
                 if (existingQuery != null && query != existingQuery) {
                     throw new CayenneRuntimeException("More than one Query for name" + name);
@@ -141,7 +141,7 @@ class MappingCache implements MappingNam
                     if (superNode == null) {
                         // do direct entity lookup to avoid recursive cache
                         // rebuild
-                        ObjEntity superOE = objEntityCache.get(superOEName);
+                        ObjEntity superOE = objEntities.get(superOEName);
                         if (superOE != null) {
                             superNode = new EntityInheritanceTree(superOE);
                             entityInheritanceCache.put(superOEName, superNode);
@@ -160,11 +160,11 @@ class MappingCache implements MappingNam
     }
 
     public Embeddable getEmbeddable(String className) {
-        return embeddableCache.get(className);
+        return embeddables.get(className);
     }
 
     public SQLResult getResult(String name) {
-        return resultsCache.get(name);
+        return results.get(name);
     }
 
     public EntityInheritanceTree getInheritanceTree(String entityName) {
@@ -172,19 +172,19 @@ class MappingCache implements MappingNam
     }
 
     public Procedure getProcedure(String procedureName) {
-        return procedureCache.get(procedureName);
+        return procedures.get(procedureName);
     }
 
     public Query getQuery(String queryName) {
-        return queryCache.get(queryName);
+        return queries.get(queryName);
     }
 
     public DbEntity getDbEntity(String name) {
-        return dbEntityCache.get(name);
+        return dbEntities.get(name);
     }
 
     public ObjEntity getObjEntity(Class<?> entityClass) {
-        ObjEntity entity = objEntityClassCache.get(entityClass.getName());
+        ObjEntity entity = objEntitiesByClassName.get(entityClass.getName());
 
         if (entity == OBJ_DUPLICATE_MARKER) {
             throw new CayenneRuntimeException("Can't perform lookup. There is more than one ObjEntity mapped to "
@@ -195,7 +195,7 @@ class MappingCache implements MappingNam
     }
 
     public ObjEntity getObjEntity(String name) {
-        return objEntityCache.get(name);
+        return objEntities.get(name);
     }
 
     public Collection<DbEntity> getDbEntities() {
@@ -268,7 +268,7 @@ class MappingCache implements MappingNam
         return c;
     }
 
-    public Collection<SQLResult> getResultSets() {
+    public Collection<SQLResult> getResults() {
         // TODO: LEGACY SUPPORT:
         // some downstream code (like Modeler and merge framework) expect
         // always fresh list here, so instead of doing the right thing of
@@ -276,7 +276,7 @@ class MappingCache implements MappingNam
         // the list of DataMaps.
         CompositeCollection c = new CompositeCollection();
         for (DataMap map : maps) {
-            c.addComposited(map.getResultSets());
+            c.addComposited(map.getResults());
         }
 
         return c;

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/MappingNamespace.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/MappingNamespace.java?rev=1495772&r1=1495771&r2=1495772&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/MappingNamespace.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/MappingNamespace.java Sat Jun 22 19:05:17 2013
@@ -54,7 +54,7 @@ public interface MappingNamespace {
     /**
      * @since 3.2
      */
-    Collection<SQLResult> getResultSets();
+    Collection<SQLResult> getResults();
 
     /**
      * Returns DbEntity for a given name, or null if no such DbEntity is found

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ProxiedMappingNamespace.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ProxiedMappingNamespace.java?rev=1495772&r1=1495771&r2=1495772&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ProxiedMappingNamespace.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ProxiedMappingNamespace.java Sat Jun 22 19:05:17 2013
@@ -97,8 +97,8 @@ abstract class ProxiedMappingNamespace i
         return getDelegate().getEmbeddables();
     }
     
-    public Collection<SQLResult> getResultSets() {
-        return getDelegate().getResultSets();
+    public Collection<SQLResult> getResults() {
+        return getDelegate().getResults();
     }
 
 }

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/MockMappingNamespace.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/MockMappingNamespace.java?rev=1495772&r1=1495771&r2=1495772&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/MockMappingNamespace.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/MockMappingNamespace.java Sat Jun 22 19:05:17 2013
@@ -113,7 +113,7 @@ public class MockMappingNamespace implem
         return null;
     }
     
-    public Collection<SQLResult> getResultSets() {
+    public Collection<SQLResult> getResults() {
         // TODO Auto-generated method stub
         return null;
     }