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 2006/10/11 23:30:30 UTC

svn commit: r462965 - in /incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src: main/java/org/apache/cayenne/ main/java/org/apache/cayenne/access/ main/java/org/apache/cayenne/cache/ main/java/org/apache/cayenne/util/ test/java/org/apache/cayenne/cache/

Author: aadamchik
Date: Wed Oct 11 14:30:29 2006
New Revision: 462965

URL: http://svn.apache.org/viewvc?view=rev&rev=462965
Log:
CAY-685 OSQueryCache concurrency improvements
renaming the new entry factory interface to QueryCacheEntryFactory

Added:
    incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/QueryCacheEntryFactory.java
      - copied, changed from r462961, incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/CacheObjectFactory.java
Removed:
    incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/CacheObjectFactory.java
Modified:
    incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/CayenneContextQueryAction.java
    incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java
    incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/MapQueryCache.java
    incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/OSQueryCache.java
    incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/QueryCache.java
    incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/util/ObjectContextQueryAction.java
    incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/test/java/org/apache/cayenne/cache/MockQueryCache.java

Modified: incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/CayenneContextQueryAction.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/CayenneContextQueryAction.java?view=diff&rev=462965&r1=462964&r2=462965
==============================================================================
--- incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/CayenneContextQueryAction.java (original)
+++ incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/CayenneContextQueryAction.java Wed Oct 11 14:30:29 2006
@@ -22,7 +22,7 @@
 import java.util.Collection;
 import java.util.Iterator;
 
-import org.apache.cayenne.cache.CacheObjectFactory;
+import org.apache.cayenne.cache.QueryCacheEntryFactory;
 import org.apache.cayenne.cache.QueryCache;
 import org.apache.cayenne.query.Query;
 import org.apache.cayenne.query.RefreshQuery;
@@ -74,8 +74,8 @@
         return ((CayenneContext) actingContext).getQueryCache();
     }
 
-    protected CacheObjectFactory getCacheObjectFactory() {
-        return new CacheObjectFactory() {
+    protected QueryCacheEntryFactory getCacheObjectFactory() {
+        return new QueryCacheEntryFactory() {
 
             public Object createObject() {
                 if (interceptPaginatedQuery() != DONE) {

Modified: incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java?view=diff&rev=462965&r1=462964&r2=462965
==============================================================================
--- incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java (original)
+++ incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java Wed Oct 11 14:30:29 2006
@@ -34,7 +34,7 @@
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.Persistent;
 import org.apache.cayenne.QueryResponse;
-import org.apache.cayenne.cache.CacheObjectFactory;
+import org.apache.cayenne.cache.QueryCacheEntryFactory;
 import org.apache.cayenne.cache.QueryCache;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.DbRelationship;
@@ -328,7 +328,7 @@
         }
 
         QueryCache queryCache = domain.getQueryCache();
-        CacheObjectFactory factory = getCacheObjectFactory();
+        QueryCacheEntryFactory factory = getCacheObjectFactory();
 
         if (cache) {
             List cachedResults = queryCache.get(metadata, factory);
@@ -352,8 +352,8 @@
         return DONE;
     }
     
-    private CacheObjectFactory getCacheObjectFactory() {
-        return new CacheObjectFactory() {
+    private QueryCacheEntryFactory getCacheObjectFactory() {
+        return new QueryCacheEntryFactory() {
 
             public Object createObject() {
                 runQueryInTransaction();

Modified: incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/MapQueryCache.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/MapQueryCache.java?view=diff&rev=462965&r1=462964&r2=462965
==============================================================================
--- incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/MapQueryCache.java (original)
+++ incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/MapQueryCache.java Wed Oct 11 14:30:29 2006
@@ -64,11 +64,11 @@
 
     /**
      * Returns a non-null cached value. If it is not present in the cache, it is obtained
-     * by calling {@link CacheObjectFactory#createObject()} without blocking the cache. As
+     * by calling {@link QueryCacheEntryFactory#createObject()} without blocking the cache. As
      * a result there is a potential of multiple threads to be updating cache in parallel -
      * this wouldn't lead to corruption of the cache, but can be suboptimal.
      */
-    public List get(QueryMetadata metadata, CacheObjectFactory factory) {
+    public List get(QueryMetadata metadata, QueryCacheEntryFactory factory) {
         List result = get(metadata);
         if (result == null) {
             Object newObject = factory.createObject();

Modified: incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/OSQueryCache.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/OSQueryCache.java?view=diff&rev=462965&r1=462964&r2=462965
==============================================================================
--- incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/OSQueryCache.java (original)
+++ incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/OSQueryCache.java Wed Oct 11 14:30:29 2006
@@ -261,11 +261,11 @@
 
     /**
      * Returns a non-null cached value. If it is not present in the cache, it is obtained
-     * by calling {@link CacheObjectFactory#createObject()}. Whether the cache provider
+     * by calling {@link QueryCacheEntryFactory#createObject()}. Whether the cache provider
      * will block on the entry update or not is controlled by "cache.blocking"
      * configuration property and is "false" by default.
      */
-    public List get(QueryMetadata metadata, CacheObjectFactory factory) {
+    public List get(QueryMetadata metadata, QueryCacheEntryFactory factory) {
         String key = metadata.getCacheKey();
         if (key == null) {
             return null;

Modified: incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/QueryCache.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/QueryCache.java?view=diff&rev=462965&r1=462964&r2=462965
==============================================================================
--- incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/QueryCache.java (original)
+++ incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/QueryCache.java Wed Oct 11 14:30:29 2006
@@ -45,7 +45,7 @@
      * from running the same query when a missing entry is requested by multiple threads
      * simultaneously.
      */
-    List get(QueryMetadata metadata, CacheObjectFactory factory);
+    List get(QueryMetadata metadata, QueryCacheEntryFactory factory);
 
     void put(QueryMetadata metadata, List results);
 

Copied: incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/QueryCacheEntryFactory.java (from r462961, incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/CacheObjectFactory.java)
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/QueryCacheEntryFactory.java?view=diff&rev=462965&p1=incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/CacheObjectFactory.java&r1=462961&p2=incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/QueryCacheEntryFactory.java&r2=462965
==============================================================================
--- incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/CacheObjectFactory.java (original)
+++ incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/cache/QueryCacheEntryFactory.java Wed Oct 11 14:30:29 2006
@@ -24,7 +24,7 @@
  * @since 3.0
  * @author Andrus Adamchik
  */
-public interface CacheObjectFactory {
+public interface QueryCacheEntryFactory {
 
     /**
      * Provides a fresh value of the cache entry. Normally this operation would perform a

Modified: incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/util/ObjectContextQueryAction.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/util/ObjectContextQueryAction.java?view=diff&rev=462965&r1=462964&r2=462965
==============================================================================
--- incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/util/ObjectContextQueryAction.java (original)
+++ incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/util/ObjectContextQueryAction.java Wed Oct 11 14:30:29 2006
@@ -27,7 +27,7 @@
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.Persistent;
 import org.apache.cayenne.QueryResponse;
-import org.apache.cayenne.cache.CacheObjectFactory;
+import org.apache.cayenne.cache.QueryCacheEntryFactory;
 import org.apache.cayenne.cache.QueryCache;
 import org.apache.cayenne.property.ArcProperty;
 import org.apache.cayenne.property.ClassDescriptor;
@@ -231,7 +231,7 @@
         }
 
         QueryCache queryCache = getQueryCache();
-        CacheObjectFactory factory = getCacheObjectFactory();
+        QueryCacheEntryFactory factory = getCacheObjectFactory();
 
         if (cache) {
             List cachedResults = queryCache.get(metadata, factory);
@@ -258,8 +258,8 @@
     /**
      * @since 3.0
      */
-    protected CacheObjectFactory getCacheObjectFactory() {
-        return new CacheObjectFactory() {
+    protected QueryCacheEntryFactory getCacheObjectFactory() {
+        return new QueryCacheEntryFactory() {
 
             public Object createObject() {
                 runQuery();

Modified: incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/test/java/org/apache/cayenne/cache/MockQueryCache.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/test/java/org/apache/cayenne/cache/MockQueryCache.java?view=diff&rev=462965&r1=462964&r2=462965
==============================================================================
--- incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/test/java/org/apache/cayenne/cache/MockQueryCache.java (original)
+++ incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/test/java/org/apache/cayenne/cache/MockQueryCache.java Wed Oct 11 14:30:29 2006
@@ -31,7 +31,7 @@
         return null;
     }
 
-    public List get(QueryMetadata metadata, CacheObjectFactory factory) {
+    public List get(QueryMetadata metadata, QueryCacheEntryFactory factory) {
         return null;
     }