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 2012/02/19 16:09:16 UTC

svn commit: r1291011 - in /shindig/trunk/java: gadgets/src/main/java/org/apache/shindig/gadgets/templates/ContainerTagLibraryFactory.java social-api/src/main/java/org/apache/shindig/social/sample/oauth/SampleOAuthDataStore.java

Author: lindner
Date: Sun Feb 19 15:09:15 2012
New Revision: 1291011

URL: http://svn.apache.org/viewvc?rev=1291011&view=rev
Log:
more cacheloader conversions

Modified:
    shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/ContainerTagLibraryFactory.java
    shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/oauth/SampleOAuthDataStore.java

Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/ContainerTagLibraryFactory.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/ContainerTagLibraryFactory.java?rev=1291011&r1=1291010&r2=1291011&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/ContainerTagLibraryFactory.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/templates/ContainerTagLibraryFactory.java Sun Feb 19 15:09:15 2012
@@ -19,6 +19,9 @@
 package org.apache.shindig.gadgets.templates;
 
 import com.google.common.base.Strings;
+import com.google.common.cache.CacheBuilder;
+import com.google.common.cache.CacheLoader;
+import com.google.common.cache.LoadingCache;
 import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.common.util.ResourceLoader;
 import org.apache.shindig.common.xml.XmlException;
@@ -27,12 +30,9 @@ import org.apache.shindig.config.Contain
 import org.apache.shindig.gadgets.GadgetException;
 
 import java.io.IOException;
-import java.util.concurrent.ConcurrentMap;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import com.google.common.base.Function;
-import com.google.common.collect.MapMaker;
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
 
@@ -45,10 +45,10 @@ public class ContainerTagLibraryFactory 
       ContainerTagLibraryFactory.class.getName());
   
   private final ContainerConfig config;
-  private final ConcurrentMap<String, TemplateLibrary> osmlLibraryCache = 
-    new MapMaker().makeComputingMap(
-        new Function<String, TemplateLibrary>() {
-          public TemplateLibrary apply(String resourceName) {
+  private final LoadingCache<String, TemplateLibrary> osmlLibraryCache = CacheBuilder
+      .newBuilder()
+      .build(new CacheLoader<String, TemplateLibrary>() {
+          public TemplateLibrary load(String resourceName) {
             return loadTrustedLibrary(resourceName);
           }
         });
@@ -72,7 +72,7 @@ public class ContainerTagLibraryFactory 
       return NullTemplateLibrary.INSTANCE;
     }
     
-    return osmlLibraryCache.get(library);
+    return osmlLibraryCache.getUnchecked(library);
   }
   
   static private TemplateLibrary loadTrustedLibrary(String resource) {

Modified: shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/oauth/SampleOAuthDataStore.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/oauth/SampleOAuthDataStore.java?rev=1291011&r1=1291010&r2=1291011&view=diff
==============================================================================
--- shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/oauth/SampleOAuthDataStore.java (original)
+++ shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/oauth/SampleOAuthDataStore.java Sun Feb 19 15:09:15 2012
@@ -18,7 +18,9 @@
 package org.apache.shindig.social.sample.oauth;
 
 import com.google.common.base.Preconditions;
-import com.google.common.collect.MapMaker;
+import com.google.common.cache.Cache;
+import com.google.common.cache.CacheBuilder;
+import com.google.common.cache.CacheLoader;
 import com.google.common.collect.ImmutableList;
 import com.google.inject.Inject;
 import com.google.inject.name.Named;
@@ -35,7 +37,6 @@ import org.json.JSONObject;
 
 import java.util.Date;
 import java.util.UUID;
-import java.util.concurrent.ConcurrentMap;
 
 import net.oauth.OAuthConsumer;
 import net.oauth.OAuthServiceProvider;
@@ -63,12 +64,13 @@ public class SampleOAuthDataStore implem
   }
 
   // All valid OAuth tokens
-  private static ConcurrentMap<String,OAuthEntry> oauthEntries = new MapMaker().makeMap();
+  private static Cache<String, OAuthEntry> oauthEntries = CacheBuilder.newBuilder()
+      .build();
 
   // Get the OAuthEntry that corresponds to the oauthToken
   public OAuthEntry getEntry(String oauthToken) {
     Preconditions.checkNotNull(oauthToken);
-    return oauthEntries.get(oauthToken);
+    return oauthEntries.asMap().get(oauthToken);
   }
 
   public OAuthConsumer getConsumer(String consumerKey) {
@@ -132,7 +134,7 @@ public class SampleOAuthDataStore implem
     accessEntry.setType(OAuthEntry.Type.ACCESS);
     accessEntry.setIssueTime(new Date());
 
-    oauthEntries.remove(entry.getToken());
+    oauthEntries.invalidate(entry.getToken());
     oauthEntries.put(accessEntry.getToken(), accessEntry);
 
     return accessEntry;
@@ -161,7 +163,7 @@ public class SampleOAuthDataStore implem
   public void removeToken(OAuthEntry entry) {
     Preconditions.checkNotNull(entry);
 
-    oauthEntries.remove(entry.getToken());
+    oauthEntries.invalidate(entry.getToken());
   }
 
   // Return the proper security token for a 2 legged oauth request that has been validated