Author: shashank
Date: Wed Feb  3 10:38:15 2016
New Revision: 1728295

URL: http://svn.apache.org/viewvc?rev=1728295&view=rev
Log:
OAK-3253 Support caching in FileDataStoreService

Added support. if "cacheSize > 0" is configured, CachingFDS is used. Otherwise 
OakFileDataStore() is used. 
2 test cases added.

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreService.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreService.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreService.java?rev=1728295&r1=1728294&r2=1728295&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreService.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreService.java
 Wed Feb  3 10:38:15 2016
@@ -25,6 +25,7 @@ import java.util.Map;
 
 import javax.jcr.RepositoryException;
 
+import com.google.common.collect.Maps;
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Reference;
 import org.apache.jackrabbit.core.data.DataStore;
@@ -70,6 +71,8 @@ public abstract class AbstractDataStoreS
     private DataStoreBlobStore dataStore;
 
     protected void activate(ComponentContext context, Map<String, Object> 
config) throws RepositoryException {
+        // change to mutable map. may be modified in createDSCall
+        config = Maps.newHashMap(config);
         DataStore ds = createDataStore(context, config);
         boolean encodeLengthInId = 
PropertiesUtil.toBoolean(config.get(PROP_ENCODE_LENGTH), true);
         int cacheSizeInMB = 
PropertiesUtil.toInteger(config.get(PROP_CACHE_SIZE), 
DataStoreBlobStore.DEFAULT_CACHE_SIZE);
@@ -111,7 +114,7 @@ public abstract class AbstractDataStoreS
         dataStore.close();
     }
 
-    protected abstract DataStore createDataStore(ComponentContext context, 
Map<String, Object> config);
+    protected abstract DataStore createDataStore(ComponentContext context, 
Map<String, Object> config) throws RepositoryException;
 
     protected StatisticsProvider getStatisticsProvider(){
         return statisticsProvider;


Reply via email to