You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by li...@apache.org on 2010/08/19 08:38:47 UTC

svn commit: r987033 - in /shindig/trunk: ./ java/common/ java/common/src/main/java/org/apache/shindig/common/cache/ java/common/src/main/java/org/apache/shindig/common/cache/ehcache/ java/common/src/test/java/org/apache/shindig/common/cache/ java/commo...

Author: lindner
Date: Thu Aug 19 06:38:46 2010
New Revision: 987033

URL: http://svn.apache.org/viewvc?rev=987033&view=rev
Log:
ehcache 1.6.2->2.20, remove anonymous cache usage

Modified:
    shindig/trunk/UPGRADING
    shindig/trunk/java/common/pom.xml
    shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/CacheProvider.java
    shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/LruCacheProvider.java
    shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProvider.java
    shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhConfiguredCache.java
    shindig/trunk/java/common/src/test/java/org/apache/shindig/common/cache/LruCacheProviderTest.java
    shindig/trunk/java/common/src/test/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProviderTest.java
    shindig/trunk/pom.xml

Modified: shindig/trunk/UPGRADING
URL: http://svn.apache.org/viewvc/shindig/trunk/UPGRADING?rev=987033&r1=987032&r2=987033&view=diff
==============================================================================
--- shindig/trunk/UPGRADING (original)
+++ shindig/trunk/UPGRADING Thu Aug 19 06:38:46 2010
@@ -22,6 +22,7 @@ The default RPC endpoints used for json-
 Too many to mention.  Check the top-level pom.xml for all the new versions.
 Here are some highlights:
 
+* slf4j dependencies are needed if you use the EhCache module See http://www.slf4j.org/manual.html
 * guava replaces google-collections
 * caja r3034 -> r4209
 * guice 1.0->2.0

Modified: shindig/trunk/java/common/pom.xml
URL: http://svn.apache.org/viewvc/shindig/trunk/java/common/pom.xml?rev=987033&r1=987032&r2=987033&view=diff
==============================================================================
--- shindig/trunk/java/common/pom.xml (original)
+++ shindig/trunk/java/common/pom.xml Thu Aug 19 06:38:46 2010
@@ -147,7 +147,7 @@
     </dependency>
     <dependency>
       <groupId>net.sf.ehcache</groupId>
-      <artifactId>ehcache</artifactId>
+      <artifactId>ehcache-core</artifactId>
     </dependency>
     <dependency>
       <groupId>de.odysseus.juel</groupId>
@@ -172,5 +172,11 @@
       <artifactId>xmlParserAPIs</artifactId>
       <scope>test</scope>
     </dependency>
+    <!-- needed for ehcache's use of slf4j -->
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-jdk14</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>

Modified: shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/CacheProvider.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/CacheProvider.java?rev=987033&r1=987032&r2=987033&view=diff
==============================================================================
--- shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/CacheProvider.java (original)
+++ shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/CacheProvider.java Thu Aug 19 06:38:46 2010
@@ -28,7 +28,7 @@ public interface CacheProvider {
    *
    * @param <K>  The Key type for the cache
    * @param <V>  The pay-load type
-   * @param name The name of the cache.
+   * @param name The non-null name of the cache.
    * @return A Cache configured to the required specification.
    */
   <K, V> Cache<K, V> createCache(String name);

Modified: shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/LruCacheProvider.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/LruCacheProvider.java?rev=987033&r1=987032&r2=987033&view=diff
==============================================================================
--- shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/LruCacheProvider.java (original)
+++ shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/LruCacheProvider.java Thu Aug 19 06:38:46 2010
@@ -18,6 +18,7 @@
  */
 package org.apache.shindig.common.cache;
 
+import com.google.common.base.Preconditions;
 import com.google.common.collect.MapMaker;
 import com.google.inject.ConfigurationException;
 import com.google.inject.Inject;
@@ -83,22 +84,15 @@ public class LruCacheProvider implements
 
   @SuppressWarnings("unchecked")
   public <K, V> Cache<K, V> createCache(String name) {
-    int capacity = getCapacity(name);
-    if (name == null) {
+    int capacity = getCapacity(Preconditions.checkNotNull(name));
+    Cache<K, V> cache = (Cache<K, V>) caches.get(name);
+    if (cache == null) {
       if (LOG.isLoggable(Level.FINE)) {
-        LOG.fine("Creating anonymous cache");
+        LOG.fine("Creating cache named " + name);
       }
-      return new LruCache<K, V>(capacity);
-    } else {
-      Cache<K, V> cache = (Cache<K, V>) caches.get(name);
-      if (cache == null) {
-        if (LOG.isLoggable(Level.FINE)) {
-          LOG.fine("Creating cache named " + name);
-        }
-        cache = new LruCache<K, V>(capacity);
-        caches.put(name, cache);
-      }
-      return cache;
+      cache = new LruCache<K, V>(capacity);
+      caches.put(name, cache);
     }
+    return cache;
   }
 }

Modified: shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProvider.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProvider.java?rev=987033&r1=987032&r2=987033&view=diff
==============================================================================
--- shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProvider.java (original)
+++ shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProvider.java Thu Aug 19 06:38:46 2010
@@ -18,6 +18,7 @@
  */
 package org.apache.shindig.common.cache.ehcache;
 
+import com.google.common.base.Preconditions;
 import org.apache.shindig.common.cache.Cache;
 import org.apache.shindig.common.cache.CacheProvider;
 import org.apache.shindig.common.util.ResourceLoader;
@@ -35,13 +36,14 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.lang.management.ManagementFactory;
 import java.util.Map;
+import java.util.concurrent.ConcurrentMap;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
 public class EhCacheCacheProvider implements CacheProvider {
   private static final Logger LOG = Logger.getLogger(EhCacheCacheProvider.class.getName());
   private final CacheManager cacheManager;
-  private final Map<String, Cache<?, ?>> caches = new MapMaker().makeMap();
+  private final ConcurrentMap<String, Cache<?, ?>> caches = new MapMaker().makeMap();
 
   @Inject
   public EhCacheCacheProvider(@Named("shindig.cache.ehcache.config") String configPath,
@@ -97,22 +99,12 @@ public class EhCacheCacheProvider implem
 
   @SuppressWarnings("unchecked")
   public <K, V> Cache<K, V> createCache(String name) {
-    if (name == null) {
+    if (!caches.containsKey(Preconditions.checkNotNull(name))) {
       if (LOG.isLoggable(Level.FINE)) {
-        LOG.fine("Creating anonymous cache");
+        LOG.fine("Creating cache named " + name);
       }
-      return new EhConfiguredCache<K, V>(name, cacheManager);
-    } else {
-      Cache<K, V> cache = (Cache<K, V>) caches.get(name);
-      if (cache == null) {
-        if (LOG.isLoggable(Level.FINE)) {
-          LOG.fine("Creating cache named " + name);
-        }
-        cache = new EhConfiguredCache<K, V>(name, cacheManager);
-        caches.put(name, cache);
-      }
-      return cache;
+      caches.putIfAbsent(name, new EhConfiguredCache<K, V>(name, cacheManager));
     }
+    return (Cache<K, V>) caches.get(Preconditions.checkNotNull(name));
   }
-
 }

Modified: shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhConfiguredCache.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhConfiguredCache.java?rev=987033&r1=987032&r2=987033&view=diff
==============================================================================
--- shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhConfiguredCache.java (original)
+++ shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhConfiguredCache.java Thu Aug 19 06:38:46 2010
@@ -18,6 +18,8 @@
  */
 package org.apache.shindig.common.cache.ehcache;
 
+import com.google.common.base.Preconditions;
+import net.sf.ehcache.ObjectExistsException;
 import org.apache.shindig.common.cache.Cache;
 
 import net.sf.ehcache.CacheManager;
@@ -32,11 +34,8 @@ public class EhConfiguredCache<K, V> imp
   private net.sf.ehcache.Cache cache;
 
   public EhConfiguredCache(String cacheName, CacheManager cacheManager) {
-    if (cacheName == null) {
-      cacheName = "default";
-    }
     synchronized (cacheManager) {
-      cache = cacheManager.getCache(cacheName);
+      cache = cacheManager.getCache(Preconditions.checkNotNull(cacheName));
       if (cache == null) {
         cacheManager.addCache(cacheName);
         cache = cacheManager.getCache(cacheName);

Modified: shindig/trunk/java/common/src/test/java/org/apache/shindig/common/cache/LruCacheProviderTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/common/src/test/java/org/apache/shindig/common/cache/LruCacheProviderTest.java?rev=987033&r1=987032&r2=987033&view=diff
==============================================================================
--- shindig/trunk/java/common/src/test/java/org/apache/shindig/common/cache/LruCacheProviderTest.java (original)
+++ shindig/trunk/java/common/src/test/java/org/apache/shindig/common/cache/LruCacheProviderTest.java Thu Aug 19 06:38:46 2010
@@ -42,12 +42,6 @@ public class LruCacheProviderTest {
     assertEquals(10, getCache(provider, "foo").capacity);
   }
 
-  @Test
-  public void defaultCapacityForAnonCache() throws Exception {
-    LruCacheProvider provider = new LruCacheProvider(10);
-    assertEquals(10, getCache(provider, null).capacity);
-  }
-
   LruCacheProvider createProvider(final String name, final String capacity, int defaultCapacity) {
     Module module = new AbstractModule() {
       @Override

Modified: shindig/trunk/java/common/src/test/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProviderTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/common/src/test/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProviderTest.java?rev=987033&r1=987032&r2=987033&view=diff
==============================================================================
--- shindig/trunk/java/common/src/test/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProviderTest.java (original)
+++ shindig/trunk/java/common/src/test/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProviderTest.java Thu Aug 19 06:38:46 2010
@@ -22,6 +22,7 @@ import org.apache.shindig.common.cache.C
 import org.apache.shindig.common.cache.CacheProvider;
 
 import org.junit.Assert;
+import org.junit.BeforeClass;
 import org.junit.Test;
 
 /**
@@ -29,24 +30,15 @@ import org.junit.Test;
  */
 public class EhCacheCacheProviderTest {
 
-  @Test
-  public void getAnonCache() throws Exception {
-    CacheProvider defaultProvider = new EhCacheCacheProvider(
+  static CacheProvider defaultProvider;
+  @BeforeClass
+  public static void setup() throws Exception {
+    defaultProvider = new EhCacheCacheProvider(
         "res://org/apache/shindig/common/cache/ehcache/ehcacheConfig.xml", true, true);
-    Cache<String, String> cache = defaultProvider.createCache(null);
-    Assert.assertNotNull(cache);
-    Assert.assertNull(cache.getElement("test"));
-    cache.addElement("test", "value1");
-    Assert.assertEquals("value1", cache.getElement("test"));
-    cache.removeElement("test");
-    Assert.assertNull(cache.getElement("test"));
-
-  }
+  }  	
 
   @Test
   public void getNamedCache() throws Exception {
-    CacheProvider defaultProvider = new EhCacheCacheProvider(
-        "res://org/apache/shindig/common/cache/ehcache/ehcacheConfig.xml", true, true);
     Cache<String, String> cache = defaultProvider.createCache("testcache");
     Cache<String, String> cache2 = defaultProvider.createCache("testcache");
     Assert.assertNotNull(cache);

Modified: shindig/trunk/pom.xml
URL: http://svn.apache.org/viewvc/shindig/trunk/pom.xml?rev=987033&r1=987032&r2=987033&view=diff
==============================================================================
--- shindig/trunk/pom.xml (original)
+++ shindig/trunk/pom.xml Thu Aug 19 06:38:46 2010
@@ -1524,8 +1524,8 @@
       </dependency>
       <dependency>
         <groupId>net.sf.ehcache</groupId>
-        <artifactId>ehcache</artifactId>
-        <version>1.6.2</version>
+        <artifactId>ehcache-core</artifactId>
+        <version>2.2.0</version>
       </dependency>
       <dependency>
         <groupId>com.thoughtworks.xstream</groupId>