diff --git a/commons/src/main/java/org/archive/util/ObjectIdentityBdbManualCache.java b/commons/src/main/java/org/archive/util/ObjectIdentityBdbManualCache.java index 7ebefe77..f0d43dc8 100644 --- a/commons/src/main/java/org/archive/util/ObjectIdentityBdbManualCache.java +++ b/commons/src/main/java/org/archive/util/ObjectIdentityBdbManualCache.java @@ -33,7 +33,6 @@ import java.util.logging.Logger; import org.archive.bdb.KryoBinding; -import com.google.common.collect.MapMaker; import com.google.common.cache.CacheBuilder; import com.google.common.cache.RemovalListener; import com.google.common.cache.RemovalNotification; @@ -135,8 +134,13 @@ implements ObjectIdentityCache, Closeable, Serializable, RemovalListenerbuild() + .asMap(); this.db = openDatabase(env, dbName); this.diskMap = createDiskMap(this.db, classCatalog, valueClass); // keep a record of items that must be persisted; auto-persist if diff --git a/engine/src/main/java/org/archive/crawler/util/TopNSet.java b/engine/src/main/java/org/archive/crawler/util/TopNSet.java index 4a8b2599..0c1d90ed 100644 --- a/engine/src/main/java/org/archive/crawler/util/TopNSet.java +++ b/engine/src/main/java/org/archive/crawler/util/TopNSet.java @@ -25,10 +25,9 @@ import java.util.SortedSet; import java.util.TreeSet; import java.util.concurrent.ConcurrentMap; +import com.google.common.cache.CacheBuilder; import org.archive.util.Histotable; -import com.google.common.collect.MapMaker; - /** * Counting Set which only remembers the 'top N' of all String values * reported (with counts) to it. Precise if counts reported for a @@ -56,7 +55,7 @@ public class TopNSet implements Serializable { public TopNSet(int size){ maxsize = size; - set = new MapMaker().concurrencyLevel(64).makeMap(); + set = CacheBuilder.newBuilder().concurrencyLevel(64).build().asMap(); } /** diff --git a/modules/src/main/java/org/archive/modules/forms/FormLoginProcessor.java b/modules/src/main/java/org/archive/modules/forms/FormLoginProcessor.java index 94716960..47d06cec 100644 --- a/modules/src/main/java/org/archive/modules/forms/FormLoginProcessor.java +++ b/modules/src/main/java/org/archive/modules/forms/FormLoginProcessor.java @@ -26,6 +26,9 @@ import java.util.concurrent.atomic.AtomicLong; import java.util.logging.Level; import java.util.logging.Logger; +import com.google.common.cache.CacheBuilder; +import com.google.common.cache.CacheLoader; +import com.google.common.cache.LoadingCache; import org.apache.commons.httpclient.URIException; import org.apache.commons.lang.StringUtils; import org.archive.checkpointing.Checkpointable; @@ -42,9 +45,6 @@ import org.json.JSONException; import org.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; -import com.google.common.base.Function; -import com.google.common.collect.MapMaker; - /** * A step, post-ExtractorHTMLForms, where a followup CrawlURI to * attempt a form submission may be synthesized. @@ -119,22 +119,24 @@ public class FormLoginProcessor extends Processor implements Checkpointable { Logger.getLogger(FormLoginProcessor.class.getName()); // formProvince (String) -> count - ConcurrentMap eligibleFormsSeenCount = - new MapMaker().makeComputingMap(new Function() { - @Override - public AtomicLong apply(String arg0) { - return new AtomicLong(0L); - } - }); + ConcurrentMap eligibleFormsSeenCount = + CacheBuilder.newBuilder() + .build( + new CacheLoader() { + public AtomicLong load(String arg0) { + return new AtomicLong(0L); + } + }).asMap(); // formProvince (String) -> count - ConcurrentMap eligibleFormsAttemptsCount = - new MapMaker().makeComputingMap(new Function() { - @Override - public AtomicLong apply(String arg0) { - return new AtomicLong(0L); - } - }); + ConcurrentMap eligibleFormsAttemptsCount = + CacheBuilder.newBuilder() + .build( + new CacheLoader() { + public AtomicLong load(String arg0) { + return new AtomicLong(0L); + } + }).asMap(); /** * SURT prefix against which configured username/password is