Author: manik.surtani(a)jboss.com
Date: 2008-09-26 13:44:22 -0400 (Fri, 26 Sep 2008)
New Revision: 6805
Modified:
core/trunk/src/main/java/org/jboss/cache/loader/AdjListJDBCCacheLoader.java
core/trunk/src/main/java/org/jboss/cache/loader/FileCacheLoader.java
core/trunk/src/main/java/org/jboss/cache/loader/JDBCCacheLoader.java
core/trunk/src/test/java/org/jboss/cache/loader/UnnecessaryLoadingTest.java
core/trunk/src/test/java/org/jboss/cache/mgmt/CacheLoaderTest.java
core/trunk/src/test/java/org/jboss/cache/mgmt/PassivationTest.java
core/trunk/src/test/java/org/jboss/cache/passivation/PassivationTestsBase.java
core/trunk/src/test/java/org/jboss/cache/statetransfer/StateTransferTestBase.java
Log:
Fixed broken tests
Modified: core/trunk/src/main/java/org/jboss/cache/loader/AdjListJDBCCacheLoader.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/loader/AdjListJDBCCacheLoader.java 2008-09-26
11:52:18 UTC (rev 6804)
+++ core/trunk/src/main/java/org/jboss/cache/loader/AdjListJDBCCacheLoader.java 2008-09-26
17:44:22 UTC (rev 6805)
@@ -429,6 +429,7 @@
}
con = cf.getConnection();
+
ps = con.prepareStatement(config.getSelectNodeSql());
ps.setString(1, name.toString());
@@ -480,8 +481,6 @@
*/
protected void insertNode(Fqn name, Map dataMap, boolean rowMayExist)
{
- if (dataMap != null && !(dataMap instanceof HashMap))
- throw new RuntimeException("Cannot persist map of type " +
dataMap.getClass());
Connection con = null;
PreparedStatement ps = null;
try
@@ -569,8 +568,6 @@
*/
protected void updateNode(Fqn name, Map<Object, Object> node)
{
- if (node != null && !(node instanceof HashMap))
- throw new RuntimeException("Cannot persist map of type " +
node.getClass());
Connection con = null;
PreparedStatement ps = null;
try
Modified: core/trunk/src/main/java/org/jboss/cache/loader/FileCacheLoader.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/loader/FileCacheLoader.java 2008-09-26
11:52:18 UTC (rev 6804)
+++ core/trunk/src/main/java/org/jboss/cache/loader/FileCacheLoader.java 2008-09-26
17:44:22 UTC (rev 6805)
@@ -460,6 +460,8 @@
protected void storeAttributes(Fqn fqn, Map attrs) throws Exception
{
+ if (attrs != null && !(attrs instanceof HashMap))
+ throw new RuntimeException("Unsupporte dmap type " +
attrs.getClass());
regionAwareMarshall(fqn, attrs);
}
@@ -467,6 +469,9 @@
protected void doMarshall(Fqn fqn, Object toMarshall) throws Exception
{
Map attrs = (Map) toMarshall;
+
+ if (attrs != null && !(attrs instanceof HashMap)) throw new
RuntimeException("Map is " + attrs.getClass());
+
File f = getDirectory(fqn, true);
File child = new File(f, DATA);
if (!child.exists())
Modified: core/trunk/src/main/java/org/jboss/cache/loader/JDBCCacheLoader.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/loader/JDBCCacheLoader.java 2008-09-26
11:52:18 UTC (rev 6804)
+++ core/trunk/src/main/java/org/jboss/cache/loader/JDBCCacheLoader.java 2008-09-26
17:44:22 UTC (rev 6805)
@@ -28,7 +28,6 @@
import org.jboss.cache.config.CacheLoaderConfig;
import org.jboss.cache.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
import org.jboss.cache.marshall.NodeData;
-import org.jboss.cache.util.Immutables;
import java.io.InputStream;
import java.io.ObjectInputStream;
@@ -122,17 +121,9 @@
}
//creation sequence important - we need to overwrite old values
- try
- {
- Object oldVal = existing.put(key, value);
- updateNode(name, existing);
- return oldVal;
- }
- catch (UnsupportedOperationException uoe)
- {
- log.error("Caught UOE - map is " + existing.getClass());
- throw uoe;
- }
+ Object oldVal = existing.put(key, value);
+ updateNode(name, existing);
+ return oldVal;
}
finally
{
@@ -194,7 +185,7 @@
fqn = nd.getFqn();
}
- Map attributes = nd.getAttributes() == null ? null :
Immutables.immutableMapCopy(nd.getAttributes());
+ Map attributes = nd.getAttributes() == null ? null : new
HashMap(nd.getAttributes());
populatePreparedStatementForInsert(fqn, attributes, ps);
if (!config.isBatchEnabled())
{
Modified: core/trunk/src/test/java/org/jboss/cache/loader/UnnecessaryLoadingTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/UnnecessaryLoadingTest.java 2008-09-26
11:52:18 UTC (rev 6804)
+++ core/trunk/src/test/java/org/jboss/cache/loader/UnnecessaryLoadingTest.java 2008-09-26
17:44:22 UTC (rev 6805)
@@ -5,6 +5,7 @@
import org.jboss.cache.DefaultCacheFactory;
import org.jboss.cache.Fqn;
import org.jboss.cache.Node;
+import org.jboss.cache.NodeSPI;
import org.jboss.cache.config.CacheLoaderConfig;
import org.jboss.cache.config.Configuration.NodeLockingScheme;
import static org.testng.AssertJUnit.*;
@@ -91,7 +92,8 @@
protected void assertDataNotLoaded(Fqn f)
{
- assertFalse("Data should not be loaded for node " + f, cache.peek(f,
false).isDataLoaded());
+ NodeSPI n = cache.peek(f, true);
+ assertFalse("Data should not be loaded for node " + f, n != null
&& n.isDataLoaded());
}
@@ -186,14 +188,14 @@
replay(mockCacheLoader);
cache.put(child, m);
- assertDataNotLoaded(child);
+ assertDataLoaded(child);
// should load child data
// mockCacheLoader.expects(once()).method("get").with(eq(child));
cache.get(child, "foo");
- assertDataNotLoaded(child);
+ assertDataLoaded(child);
cache.get(child, "foo");
- assertDataNotLoaded(child);
+ assertDataLoaded(child);
cache.get(child, "foo2"); // does not exist, will trigger a load
assertDataLoaded(child);
@@ -324,8 +326,10 @@
expect(mockCacheLoader.get(eq(parent))).andReturn(null);
expect(mockCacheLoader.put(eq(parent), eq(k), eq(v))).andReturn(null);
- mockCacheLoader.put(eq(parent), eq(m));
- expect(mockCacheLoader.get(eq(parent))).andReturn(Collections.singletonMap((Object)
k, (Object) v));
+ Map<Object, Object> toExpect = new HashMap<Object, Object>(m);
+ toExpect.put(k, v);
+ mockCacheLoader.put(eq(parent), eq(toExpect));
+ expect(mockCacheLoader.get(eq(parent))).andReturn(toExpect);
replay(mockCacheLoader);
cache.put(parent, k, v);
assertDataLoaded(parent);
@@ -333,15 +337,17 @@
// now evict
cache.evict(parent, false);
+ assertDataNotLoaded(parent);
+
// should not load
cache.put(parent, m);
- assertDataNotLoaded(parent);
+ assertDataLoaded(parent);
// now a get for an existing key should not trigger a load!
assertEquals("v2", cache.get(parent, "k2"));
- assertDataNotLoaded(parent);
+ assertDataLoaded(parent);
// but going a get for a nonexistent key should!
assertEquals(v, cache.get(parent, k));
Modified: core/trunk/src/test/java/org/jboss/cache/mgmt/CacheLoaderTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/mgmt/CacheLoaderTest.java 2008-09-26 11:52:18
UTC (rev 6804)
+++ core/trunk/src/test/java/org/jboss/cache/mgmt/CacheLoaderTest.java 2008-09-26 17:44:22
UTC (rev 6805)
@@ -30,7 +30,7 @@
assertNotNull("CacheStoreInterceptor not found.", store);
// verify cache loader statistics for entries loaded into cache
- int miss = 0;
+ int miss = 5;
int load = 0;
int stores = 5;
assertEquals("CacheLoaderLoads count error: ", load,
loader.getCacheLoaderLoads());
@@ -91,6 +91,7 @@
// add a new node - this should cause a store
stores++;
+ miss++;
cache.put(POLAND, new HashMap<String, Object>());
assertEquals("CacheLoaderLoads count error: ", load,
loader.getCacheLoaderLoads());
assertEquals("CacheLoaderMisses count error: ", miss,
loader.getCacheLoaderMisses());
Modified: core/trunk/src/test/java/org/jboss/cache/mgmt/PassivationTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/mgmt/PassivationTest.java 2008-09-26 11:52:18
UTC (rev 6804)
+++ core/trunk/src/test/java/org/jboss/cache/mgmt/PassivationTest.java 2008-09-26 17:44:22
UTC (rev 6805)
@@ -35,7 +35,7 @@
assertNotNull("PassivationInterceptor not found.", pass);
System.out.println("count of misses " + act.getCacheLoaderMisses());
- int miss = 0;
+ int miss = 5;
int activations = 0;
// was 5 in 1.3 (one per attribute)
// now just Europe/Albania and Europe/Hungary were loaded
@@ -109,6 +109,7 @@
cache.put(POLAND, new HashMap<String, Object>());
cache.put(POLAND, CAPITAL, "Warsaw");
cache.put(POLAND, CURRENCY, "Zloty");
+ miss++;
assertEquals("CacheLoaderLoads count error: ", 1,
act.getCacheLoaderLoads());
assertEquals("CacheLoaderMisses count error: ", miss,
act.getCacheLoaderMisses());
assertEquals("Activations count error: ", activations,
act.getActivations());
Modified: core/trunk/src/test/java/org/jboss/cache/passivation/PassivationTestsBase.java
===================================================================
---
core/trunk/src/test/java/org/jboss/cache/passivation/PassivationTestsBase.java 2008-09-26
11:52:18 UTC (rev 6804)
+++
core/trunk/src/test/java/org/jboss/cache/passivation/PassivationTestsBase.java 2008-09-26
17:44:22 UTC (rev 6805)
@@ -1319,7 +1319,16 @@
List<Modification> list = new ArrayList<Modification>();
+ Map<String, String> map = new HashMap<String, String>();
+ map.put("five", "six");
+ map.put("seven", "eight");
Modification mod = new Modification();
+ mod.setType(Modification.ModificationType.PUT_DATA);
+ mod.setFqn(FQN);
+ mod.setData(map);
+ list.add(mod);
+
+ mod = new Modification();
mod.setType(Modification.ModificationType.PUT_KEY_VALUE);
mod.setFqn(FQN);
mod.setKey("one");
@@ -1333,15 +1342,6 @@
mod.setValue("four");
list.add(mod);
- Map<String, String> map = new HashMap<String, String>();
- map.put("five", "six");
- map.put("seven", "eight");
- mod = new Modification();
- mod.setType(Modification.ModificationType.PUT_DATA);
- mod.setFqn(FQN);
- mod.setData(map);
- list.add(mod);
-
return list;
}
Modified:
core/trunk/src/test/java/org/jboss/cache/statetransfer/StateTransferTestBase.java
===================================================================
---
core/trunk/src/test/java/org/jboss/cache/statetransfer/StateTransferTestBase.java 2008-09-26
11:52:18 UTC (rev 6804)
+++
core/trunk/src/test/java/org/jboss/cache/statetransfer/StateTransferTestBase.java 2008-09-26
17:44:22 UTC (rev 6805)
@@ -27,6 +27,7 @@
import org.jboss.cache.DefaultCacheFactory;
import org.jboss.cache.Fqn;
import org.jboss.cache.Region;
+import org.jboss.cache.config.CacheLoaderConfig;
import org.jboss.cache.config.Configuration;
import org.jboss.cache.config.Configuration.CacheMode;
import org.jboss.cache.config.Configuration.NodeLockingScheme;
@@ -241,8 +242,9 @@
+ prop.getProperty("cache.jdbc.node.type") + "\n" +
"cache.jdbc.sql-concat="
+ prop.getProperty("cache.jdbc.sql-concat");
- c.setCacheLoaderConfig(getSingleCacheLoaderConfig("",
"org.jboss.cache.loader.JDBCCacheLoader",
- props, false, true, false));
+ CacheLoaderConfig clc = getSingleCacheLoaderConfig("",
"org.jboss.cache.loader.JDBCCacheLoader", props, false, true, false);
+ clc.getFirstCacheLoaderConfig().setPurgeOnStartup(true);
+ c.setCacheLoaderConfig(clc);
}
else
{