Author: lindner
Date: Fri Feb 17 07:33:31 2012
New Revision: 1245335
URL: http://svn.apache.org/viewvc?rev=1245335&view=rev
Log:
SHINDIG-1687 | upgrade to guava 11.0.1
Modified:
shindig/trunk/UPGRADING
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/DefaultRpcServiceLookup.java
shindig/trunk/pom.xml
Modified: shindig/trunk/UPGRADING
URL:
http://svn.apache.org/viewvc/shindig/trunk/UPGRADING?rev=1245335&r1=1245334&r2=1245335&view=diff
==============================================================================
--- shindig/trunk/UPGRADING (original)
+++ shindig/trunk/UPGRADING Fri Feb 17 07:33:31 2012
@@ -1,4 +1,4 @@
-FROM 2.0.x TO 3.0.x
+FROM 2.0.x TO 2.5.x
===================
== container.js config changes ==
@@ -14,7 +14,7 @@ details.
* commons-codec 1.5 -> 1.6
* commons-lang to commons-lang3 3.1
* ehcache 2.3.2 -> 2.5.0
-* guava r09->10.0.1
+* guava r09->11.0.1
* guice 2.0->3.0
* htmlunit 2.8->2.9
* nekohtml 1.9.14->1.9.15
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/DefaultRpcServiceLookup.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/DefaultRpcServiceLookup.java?rev=1245335&r1=1245334&r2=1245335&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/DefaultRpcServiceLookup.java
(original)
+++
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/DefaultRpcServiceLookup.java
Fri Feb 17 07:33:31 2012
@@ -18,11 +18,14 @@
*/
package org.apache.shindig.gadgets.render;
-import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
+import com.google.common.base.Objects;
+import com.google.common.cache.Cache;
+import com.google.common.cache.CacheBuilder;
import com.google.common.collect.ImmutableMultimap;
-import com.google.common.collect.MapMaker;
import com.google.common.collect.Multimap;
import com.google.inject.Inject;
import com.google.inject.Singleton;
@@ -43,7 +46,7 @@ import com.google.inject.name.Named;
@Singleton
public class DefaultRpcServiceLookup implements RpcServiceLookup {
- private final ConcurrentMap<String, Multimap<String, String>>
containerServices;
+ private final Cache<String, Multimap<String, String>> containerServices;
private final DefaultServiceFetcher fetcher;
@@ -54,8 +57,10 @@ public class DefaultRpcServiceLookup imp
@Inject
public DefaultRpcServiceLookup(DefaultServiceFetcher fetcher,
@Named("org.apache.shindig.serviceExpirationDurationMinutes")Long
duration) {
- containerServices = new MapMaker().expireAfterWrite(duration * 60,
TimeUnit.SECONDS).makeMap();
- this.fetcher = fetcher;
+ containerServices = CacheBuilder.newBuilder()
+ .expireAfterWrite(duration * 60, TimeUnit.SECONDS)
+ .build();
+ this.fetcher = fetcher;
}
/**
@@ -63,23 +68,24 @@ public class DefaultRpcServiceLookup imp
* @param host Host for which gadget is being rendered, used to do
substitution in endpoints
* @return Map of Services, by endpoint for the given container.
*/
- public Multimap<String, String> getServicesFor(String container, String
host) {
+ public Multimap<String, String> getServicesFor(final String container, final
String host) {
// Support empty container or host by providing empty services:
if (container == null || container.length() == 0 || host == null) {
- return ImmutableMultimap.<String, String>builder().build();
+ return ImmutableMultimap.of();
}
-
- Multimap<String, String> foundServices = containerServices.get(container);
- if (foundServices == null) {
- foundServices = fetcher.getServicesForContainer(container, host);
- if (foundServices != null) {
- setServicesFor(container, foundServices);
- }
- }
- if (foundServices == null) {
- foundServices = ImmutableMultimap.<String, String>builder().build();
+ try {
+ return containerServices.get(container,
+ new Callable<Multimap<String, String>>() {
+ @Override
+ public Multimap<String, String> call() {
+ return
Objects.firstNonNull(fetcher.getServicesForContainer(container, host),
+ ImmutableMultimap.<String,String>of());
+ }
+ }
+ );
+ } catch (ExecutionException e) {
+ return ImmutableMultimap.of();
}
- return foundServices;
}
/**
@@ -89,7 +95,6 @@ public class DefaultRpcServiceLookup imp
* @param foundServices Map of services, keyed by endpoint.
*/
void setServicesFor(String container, Multimap<String, String>
foundServices) {
- containerServices.put(container, foundServices);
+ containerServices.asMap().put(container, foundServices);
}
-
}
Modified: shindig/trunk/pom.xml
URL:
http://svn.apache.org/viewvc/shindig/trunk/pom.xml?rev=1245335&r1=1245334&r2=1245335&view=diff
==============================================================================
--- shindig/trunk/pom.xml (original)
+++ shindig/trunk/pom.xml Fri Feb 17 07:33:31 2012
@@ -1577,7 +1577,7 @@
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
- <version>10.0.1</version>
+ <version>11.0.1</version>
</dependency>
<dependency>