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 2011/08/28 14:57:17 UTC

svn commit: r1162509 - in /cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src: main/java/org/apache/cayenne/ main/java/org/apache/cayenne/configuration/rop/client/ main/java/org/apache/cayenne/configuration/server/ test/java/org/apache/cayenne...

Author: aadamchik
Date: Sun Aug 28 12:57:16 2011
New Revision: 1162509

URL: http://svn.apache.org/viewvc?rev=1162509&view=rev
Log:
CAY-1537 Implement ObjectContext local caches as NestedQueryCache over the shared cache

removing unneeded binding key for "local" QueryCache

Modified:
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/BaseContext.java
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/rop/client/ClientModule.java
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/BaseContextTest.java
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/configuration/server/DataContextFactoryTest.java

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/BaseContext.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/BaseContext.java?rev=1162509&r1=1162508&r2=1162509&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/BaseContext.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/BaseContext.java Sun Aug 28 12:57:16 2011
@@ -55,8 +55,6 @@ import org.apache.cayenne.util.ObjectCon
  */
 public abstract class BaseContext implements ObjectContext, DataChannel {
 
-    public static final String QUERY_CACHE_INJECTION_KEY = "local";
-
     /**
      * A holder of a ObjectContext bound to the current thread.
      * 
@@ -154,8 +152,7 @@ public abstract class BaseContext implem
     protected void attachToRuntime(Injector injector) {
         attachToChannel(injector.getInstance(DataChannel.class));
 
-        setQueryCache(
-                new NestedQueryCache(injector.getInstance(QueryCache.class)));                
+        setQueryCache(new NestedQueryCache(injector.getInstance(QueryCache.class)));
     }
 
     /**

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/rop/client/ClientModule.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/rop/client/ClientModule.java?rev=1162509&r1=1162508&r2=1162509&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/rop/client/ClientModule.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/rop/client/ClientModule.java Sun Aug 28 12:57:16 2011
@@ -20,7 +20,6 @@ package org.apache.cayenne.configuration
 
 import java.util.Map;
 
-import org.apache.cayenne.BaseContext;
 import org.apache.cayenne.DataChannel;
 import org.apache.cayenne.cache.MapQueryCacheProvider;
 import org.apache.cayenne.cache.QueryCache;
@@ -28,7 +27,6 @@ import org.apache.cayenne.configuration.
 import org.apache.cayenne.configuration.ObjectContextFactory;
 import org.apache.cayenne.configuration.RuntimeProperties;
 import org.apache.cayenne.di.Binder;
-import org.apache.cayenne.di.Key;
 import org.apache.cayenne.di.Module;
 import org.apache.cayenne.event.DefaultEventManager;
 import org.apache.cayenne.event.EventManager;
@@ -74,10 +72,6 @@ public class ClientModule implements Mod
         binder.bind(RuntimeProperties.class).to(DefaultRuntimeProperties.class);
         binder.bind(DataChannel.class).toProvider(ClientChannelProvider.class);
         binder.bind(QueryCache.class).toProvider(MapQueryCacheProvider.class);
-        binder
-                .bind(Key.get(QueryCache.class, BaseContext.QUERY_CACHE_INJECTION_KEY))
-                .toProvider(MapQueryCacheProvider.class)
-                .withoutScope();
     }
 
 }

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java?rev=1162509&r1=1162508&r2=1162509&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java Sun Aug 28 12:57:16 2011
@@ -18,12 +18,10 @@
  ****************************************************************/
 package org.apache.cayenne.configuration.server;
 
-import org.apache.cayenne.BaseContext;
 import org.apache.cayenne.DataChannel;
 import org.apache.cayenne.access.DataDomain;
 import org.apache.cayenne.access.DefaultObjectMapRetainStrategy;
 import org.apache.cayenne.access.ObjectMapRetainStrategy;
-import org.apache.cayenne.access.QueryLogger;
 import org.apache.cayenne.access.dbsync.SchemaUpdateStrategy;
 import org.apache.cayenne.access.dbsync.SkipSchemaUpdateStrategy;
 import org.apache.cayenne.access.jdbc.BatchQueryBuilderFactory;
@@ -60,7 +58,6 @@ import org.apache.cayenne.dba.sqlite.SQL
 import org.apache.cayenne.dba.sqlserver.SQLServerSniffer;
 import org.apache.cayenne.dba.sybase.SybaseSniffer;
 import org.apache.cayenne.di.Binder;
-import org.apache.cayenne.di.Key;
 import org.apache.cayenne.di.ListBuilder;
 import org.apache.cayenne.di.Module;
 import org.apache.cayenne.event.DefaultEventManager;
@@ -139,10 +136,6 @@ public class ServerModule implements Mod
         binder.bind(EventManager.class).to(DefaultEventManager.class);
 
         binder.bind(QueryCache.class).toProvider(MapQueryCacheProvider.class);
-        binder
-                .bind(Key.get(QueryCache.class, BaseContext.QUERY_CACHE_INJECTION_KEY))
-                .toProvider(MapQueryCacheProvider.class)
-                .withoutScope();
 
         // a service to provide the main stack DataDomain
         binder.bind(DataDomain.class).toProvider(DataDomainProvider.class);
@@ -185,10 +178,11 @@ public class ServerModule implements Mod
 
         binder.bind(BatchQueryBuilderFactory.class).to(
                 DefaultBatchQueryBuilderFactory.class);
-        
+
         // a default ObjectMapRetainStrategy used to create objects map for ObjectStore
-        binder.bind(ObjectMapRetainStrategy.class).to(DefaultObjectMapRetainStrategy.class);
-        
+        binder.bind(ObjectMapRetainStrategy.class).to(
+                DefaultObjectMapRetainStrategy.class);
+
         // a default ObjectStoreFactory used to create ObjectStores for contexts
         binder.bind(ObjectStoreFactory.class).to(DefaultObjectStoreFactory.class);
     }

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/BaseContextTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/BaseContextTest.java?rev=1162509&r1=1162508&r2=1162509&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/BaseContextTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/BaseContextTest.java Sun Aug 28 12:57:16 2011
@@ -29,7 +29,6 @@ import org.apache.cayenne.configuration.
 import org.apache.cayenne.di.Binder;
 import org.apache.cayenne.di.DIBootstrap;
 import org.apache.cayenne.di.Injector;
-import org.apache.cayenne.di.Key;
 import org.apache.cayenne.di.Module;
 
 public class BaseContextTest extends TestCase {
@@ -52,10 +51,6 @@ public class BaseContextTest extends Tes
 
             public void configure(Binder binder) {
                 binder.bind(DataChannel.class).toInstance(channel);
-                Key<QueryCache> cacheKey = Key.get(
-                        QueryCache.class,
-                        BaseContext.QUERY_CACHE_INJECTION_KEY);
-                binder.bind(cacheKey).toInstance(cache);
                 binder.bind(QueryCache.class).toInstance(cache);
             }
         };

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/configuration/server/DataContextFactoryTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/configuration/server/DataContextFactoryTest.java?rev=1162509&r1=1162508&r2=1162509&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/configuration/server/DataContextFactoryTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/configuration/server/DataContextFactoryTest.java Sun Aug 28 12:57:16 2011
@@ -22,7 +22,6 @@ import java.util.Collections;
 
 import junit.framework.TestCase;
 
-import org.apache.cayenne.BaseContext;
 import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.access.DataDomain;
 import org.apache.cayenne.access.DefaultObjectMapRetainStrategy;
@@ -36,7 +35,6 @@ import org.apache.cayenne.configuration.
 import org.apache.cayenne.di.Binder;
 import org.apache.cayenne.di.DIBootstrap;
 import org.apache.cayenne.di.Injector;
-import org.apache.cayenne.di.Key;
 import org.apache.cayenne.di.Module;
 import org.apache.cayenne.event.EventManager;
 import org.apache.cayenne.event.MockEventManager;
@@ -61,14 +59,9 @@ public class DataContextFactoryTest exte
                 binder.bind(QueryCache.class).toInstance(new MapQueryCache(5));
                 binder.bind(RuntimeProperties.class).toInstance(
                         new DefaultRuntimeProperties(Collections.EMPTY_MAP));
-                binder.bind(ObjectMapRetainStrategy.class).to(DefaultObjectMapRetainStrategy.class);
+                binder.bind(ObjectMapRetainStrategy.class).to(
+                        DefaultObjectMapRetainStrategy.class);
                 binder.bind(ObjectStoreFactory.class).to(DefaultObjectStoreFactory.class);
-                binder
-                        .bind(
-                                Key.get(
-                                        QueryCache.class,
-                                        BaseContext.QUERY_CACHE_INJECTION_KEY))
-                        .toInstance(new MapQueryCache(5));
             }
         };
 
@@ -80,8 +73,9 @@ public class DataContextFactoryTest exte
         DataContext c3 = (DataContext) factory.createContext();
         assertNotNull(c3.getObjectStore().getDataRowCache());
         assertNull(domain.getSharedSnapshotCache());
-        assertNotSame(c3.getObjectStore().getDataRowCache(), domain
-                .getSharedSnapshotCache());
+        assertNotSame(
+                c3.getObjectStore().getDataRowCache(),
+                domain.getSharedSnapshotCache());
     }
 
     public void testCreateDataContextValidation() throws Exception {
@@ -99,14 +93,9 @@ public class DataContextFactoryTest exte
                 binder.bind(QueryCache.class).toInstance(new MapQueryCache(5));
                 binder.bind(RuntimeProperties.class).toInstance(
                         new DefaultRuntimeProperties(Collections.EMPTY_MAP));
-                binder.bind(ObjectMapRetainStrategy.class).to(DefaultObjectMapRetainStrategy.class);
+                binder.bind(ObjectMapRetainStrategy.class).to(
+                        DefaultObjectMapRetainStrategy.class);
                 binder.bind(ObjectStoreFactory.class).to(DefaultObjectStoreFactory.class);
-                binder
-                        .bind(
-                                Key.get(
-                                        QueryCache.class,
-                                        BaseContext.QUERY_CACHE_INJECTION_KEY))
-                        .toInstance(new MapQueryCache(5));
             }
         };