[jbosscache-commits] JBoss Cache SVN: r5630 - in core/trunk/src: main/java/org/jboss/cache/commands/remote and 1 other directories.

jbosscache-commits at lists.jboss.org jbosscache-commits at lists.jboss.org
Tue Apr 22 13:35:55 EDT 2008


Author: manik.surtani at jboss.com
Date: 2008-04-22 13:35:55 -0400 (Tue, 22 Apr 2008)
New Revision: 5630

Modified:
   core/trunk/src/main/java/org/jboss/cache/Fqn.java
   core/trunk/src/main/java/org/jboss/cache/StringFqn.java
   core/trunk/src/main/java/org/jboss/cache/commands/remote/ClusteredGetCommand.java
   core/trunk/src/test/java/org/jboss/cache/loader/ClusteredCacheLoaderTest.java
Log:
Cache loader fixes

Modified: core/trunk/src/main/java/org/jboss/cache/Fqn.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/Fqn.java	2008-04-22 17:08:48 UTC (rev 5629)
+++ core/trunk/src/main/java/org/jboss/cache/Fqn.java	2008-04-22 17:35:55 UTC (rev 5630)
@@ -125,6 +125,8 @@
       {
          // if not safe make a defensive copy
          elements = safe ? names : new ArrayList(names);
+         if (elements.get(0).equals(SEPARATOR)) elements.remove(0);
+         if (elements.get(0).equals("")) elements.remove(0);
          size = elements.size();
       }
       else

Modified: core/trunk/src/main/java/org/jboss/cache/StringFqn.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/StringFqn.java	2008-04-22 17:08:48 UTC (rev 5629)
+++ core/trunk/src/main/java/org/jboss/cache/StringFqn.java	2008-04-22 17:35:55 UTC (rev 5630)
@@ -39,9 +39,9 @@
       stringRepresentation = base.isRoot() ? relative.stringRepresentation : base.stringRepresentation + relative.stringRepresentation;
    }
 
-   protected StringFqn(List<String> elements)
+   protected StringFqn(List<String> stringElements)
    {
-      super(true, elements, false);
+      super(true, stringElements, false);
       stringRepresentation = getStringRepresentation(elements);
    }
 
@@ -55,9 +55,12 @@
       StringBuilder builder = new StringBuilder();
       for (String e : elements)
       {
-         builder.append(SEPARATOR);
-         // escape special chars.
-         builder.append(e);
+         if (!e.equals(SEPARATOR) && !e.equals(""))
+         {
+            builder.append(SEPARATOR);
+            // escape special chars.
+            builder.append(e);
+         }
       }
       return builder.toString();
    }

Modified: core/trunk/src/main/java/org/jboss/cache/commands/remote/ClusteredGetCommand.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/commands/remote/ClusteredGetCommand.java	2008-04-22 17:08:48 UTC (rev 5629)
+++ core/trunk/src/main/java/org/jboss/cache/commands/remote/ClusteredGetCommand.java	2008-04-22 17:35:55 UTC (rev 5630)
@@ -65,7 +65,10 @@
       try
       {
          if (trace) log.trace("Clustered get: invoking call with Fqn " + cacheDataComand.getFqn());
-         callResults = interceptorChain.invokeRemote(cacheDataComand);
+         InvocationContext ctx = interceptorChain.getInvocationContext();
+         ctx.setOriginLocal(false);
+         // very hacky to be calling this command directly.
+         callResults = cacheDataComand.perform(ctx);
          boolean found = validResult(callResults);
          if (trace) log.trace("Got result " + callResults + ", found=" + found);
          if (found && callResults == null) callResults = createEmptyResults();
@@ -89,6 +92,7 @@
       return results;
    }
 
+
    public Object accept(InvocationContext ctx, CommandsVisitor handler) throws Throwable
    {
       return handler.handleClusteredGetCommand(ctx, this);
@@ -106,7 +110,7 @@
    {
       if (cacheDataComand instanceof GetDataMapCommand || cacheDataComand instanceof GetChildrenNamesCommand)
       {
-         return callResults != null || cacheData.exists(cacheDataComand.getFqn());
+         return callResults != null && cacheData.exists(cacheDataComand.getFqn());
       }
       return cacheDataComand instanceof RemoteExistsNodeCommand && (Boolean) callResults;
    }

Modified: core/trunk/src/test/java/org/jboss/cache/loader/ClusteredCacheLoaderTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/loader/ClusteredCacheLoaderTest.java	2008-04-22 17:08:48 UTC (rev 5629)
+++ core/trunk/src/test/java/org/jboss/cache/loader/ClusteredCacheLoaderTest.java	2008-04-22 17:35:55 UTC (rev 5630)
@@ -59,8 +59,8 @@
       cache1.getConfiguration().setCacheMode(Configuration.CacheMode.REPL_SYNC);
       cache2.getConfiguration().setCacheMode(Configuration.CacheMode.REPL_SYNC);
 
-      cache1.getConfiguration().setCacheLoaderConfig(getSingleCacheLoaderConfig("", "org.jboss.cache.loader.ClusteredCacheLoader", "timeout=500", false, false, false));
-      cache2.getConfiguration().setCacheLoaderConfig(getSingleCacheLoaderConfig("", "org.jboss.cache.loader.ClusteredCacheLoader", "timeout=500", false, false, false));
+      cache1.getConfiguration().setCacheLoaderConfig(getSingleCacheLoaderConfig("", "org.jboss.cache.loader.ClusteredCacheLoader", "timeout=5000", false, false, false));
+      cache2.getConfiguration().setCacheLoaderConfig(getSingleCacheLoaderConfig("", "org.jboss.cache.loader.ClusteredCacheLoader", "timeout=5000", false, false, false));
 
       cache1.getConfiguration().setUseRegionBasedMarshalling(useRegionBasedMarshalling);
       cache2.getConfiguration().setUseRegionBasedMarshalling(useRegionBasedMarshalling);
@@ -178,7 +178,9 @@
 
       // now cache 1 should not have this but cache 2 should.
       // loader1 looks at cache2 while loader2 looks at cache1
+      assert cache1.peek(fqn, false) == null;
       childNames = loader1.getChildrenNames(fqn);
+      assert cache1.peek(fqn, false) == null;
       assertEquals(3, childNames.size());
 
       childNames = loader2.getChildrenNames(fqn);




More information about the jbosscache-commits mailing list