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;
+ }
+ }
}
Show replies by date