[exo-jcr-commits] exo-jcr SVN: r1404 - jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/cache.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Jan 15 07:06:44 EST 2010


Author: sergiykarpenko
Date: 2010-01-15 07:06:43 -0500 (Fri, 15 Jan 2010)
New Revision: 1404

Modified:
   jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/cache/CacheLockImpl.java
   jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/cache/CacheableLockManager.java
Log:
EXOJCR-332: CacheableLockManager remove and get lock token fixed


Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/cache/CacheLockImpl.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/cache/CacheLockImpl.java	2010-01-15 10:55:25 UTC (rev 1403)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/cache/CacheLockImpl.java	2010-01-15 12:06:43 UTC (rev 1404)
@@ -56,8 +56,7 @@
 
    public String getLockToken()
    {
-      // TODO
-      return lockData.getToken();
+      return lockManager.getLockToken(session.getId(), lockData);
    }
 
    public boolean isLive()

Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/cache/CacheableLockManager.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/cache/CacheableLockManager.java	2010-01-15 10:55:25 UTC (rev 1403)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/cache/CacheableLockManager.java	2010-01-15 12:06:43 UTC (rev 1404)
@@ -289,6 +289,17 @@
       }
    }
 
+   /**
+    * Returns real token, if session has it
+    * 
+    * @param lockData
+    * @return
+    */
+   //   public String getLockToken(LockData lockData)
+   //   {
+   //      return tokenHash.get(lockData.getTokenHash());
+   //   }
+
    @Managed
    @ManagedDescription("The number of active locks")
    public int getNumLocks()
@@ -564,6 +575,10 @@
       if (lockTokenHolders.containsKey(sessionId) && lockTokenHolders.get(sessionId).contains(lt))
       {
          lockTokenHolders.get(sessionId).remove(lt);
+         if (lockTokenHolders.get(sessionId).size() == 0)
+         {
+            lockTokenHolders.remove(sessionId);
+         }
       }
    }
 
@@ -899,4 +914,15 @@
       }
    }
 
+   public String getLockToken(String sessionId, LockData lockData)
+   {
+      if (lockTokenHolders.containsKey(sessionId) && lockTokenHolders.get(sessionId).contains(lockData.getToken()))
+      {
+         return lockData.getToken();
+      }
+      else
+      {
+         return null;
+      }
+   }
 }



More information about the exo-jcr-commits mailing list