From 5a0fe30366b1cd8dc8c47a989d091903d7643740 Mon Sep 17 00:00:00 2001 From: gojomo Date: Tue, 29 Sep 2009 19:22:23 +0000 Subject: [PATCH] Quiet JUnite test issues * BdbModuleTest.java, CachedBdbMapTest.java use putIfAbsent() in preference to put() (which logs warning) * BdbModule.java register big-cache DBs in implementation-specific methods, so always auto-closed on env close --- commons/src/main/java/org/archive/bdb/BdbModule.java | 3 ++- .../test/java/org/archive/settings/file/BdbModuleTest.java | 5 +++-- commons/src/test/java/org/archive/util/CachedBdbMapTest.java | 3 ++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/commons/src/main/java/org/archive/bdb/BdbModule.java b/commons/src/main/java/org/archive/bdb/BdbModule.java index a49eb7a5..cb47bc64 100644 --- a/commons/src/main/java/org/archive/bdb/BdbModule.java +++ b/commons/src/main/java/org/archive/bdb/BdbModule.java @@ -389,6 +389,7 @@ Serializable, Closeable { } CachedBdbMap r = new CachedBdbMap(dbName); r.initialize(bdbEnvironment, key, value, classCatalog); + oiCaches.put(dbName, r); return r; } @@ -417,6 +418,7 @@ Serializable, Closeable { } ObjectIdentityBdbCache oic = new ObjectIdentityBdbCache(); oic.initialize(bdbEnvironment, dbName, valueClass, classCatalog); + oiCaches.put(dbName, oic); return oic; } @@ -451,7 +453,6 @@ Serializable, Closeable { } else { oic = getCBMMap(dbName, recycle, String.class, valueClass); } - oiCaches.put(dbName, oic); return oic; } diff --git a/commons/src/test/java/org/archive/settings/file/BdbModuleTest.java b/commons/src/test/java/org/archive/settings/file/BdbModuleTest.java index 8589a65a..05596a6f 100644 --- a/commons/src/test/java/org/archive/settings/file/BdbModuleTest.java +++ b/commons/src/test/java/org/archive/settings/file/BdbModuleTest.java @@ -22,6 +22,7 @@ package org.archive.settings.file; import java.io.File; import java.util.HashMap; import java.util.Map; +import java.util.concurrent.ConcurrentMap; import org.apache.commons.io.FileUtils; import org.archive.bdb.BdbModule; @@ -77,10 +78,10 @@ public class BdbModuleTest extends TmpDirTestCase { config.setAllowCreate(true); bdb.openDatabase("testOpen", config, false); - Map testData = bdb.getCBMMap("testData", false, + ConcurrentMap testData = bdb.getCBMMap("testData", false, String.class, String.class); for (int i = 0; i < 1000; i++) { - testData.put(String.valueOf(i), String.valueOf(i * 2)); + assertNull("unexpected prior entry", testData.putIfAbsent(String.valueOf(i), String.valueOf(i * 2))); } File checkpointDir = new File(getTmpDir(), "checkpoint"); diff --git a/commons/src/test/java/org/archive/util/CachedBdbMapTest.java b/commons/src/test/java/org/archive/util/CachedBdbMapTest.java index ed0b6163..db2e5b9c 100644 --- a/commons/src/test/java/org/archive/util/CachedBdbMapTest.java +++ b/commons/src/test/java/org/archive/util/CachedBdbMapTest.java @@ -75,7 +75,8 @@ public class CachedBdbMapTest extends TmpDirTestCase { final int upperbound = 3; // First put in empty hashmap. for (int i = 0; i < upperbound; i++) { - this.cache.put(key + Integer.toString(i), new HashMap()); + assertNull("unexpected prior entry", + this.cache.putIfAbsent(key + Integer.toString(i), new HashMap())); } // Now add value to hash map. for (int i = 0; i < upperbound; i++) {