[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