Author: tolusha
Date: 2009-11-10 05:14:41 -0500 (Tue, 10 Nov 2009)
New Revision: 541
Modified:
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/LockCacheLoader.java
Log:
EXOJCR-205: fix test
Modified:
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/LockCacheLoader.java
===================================================================
---
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/LockCacheLoader.java 2009-11-10
10:01:36 UTC (rev 540)
+++
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/LockCacheLoader.java 2009-11-10
10:14:41 UTC (rev 541)
@@ -107,11 +107,11 @@
{
performLock(lockChanges, sessionId);
}
- else if (lockChanges.get(0).getType() ==
ModificationType.REMOVE_KEY_VALUE
- && lockChanges.get(1).getType() ==
ModificationType.REMOVE_KEY_VALUE)
+ else if (lockChanges.get(0).getType() ==
ModificationType.REMOVE_NODE
+ && lockChanges.get(1).getType() ==
ModificationType.REMOVE_NODE)
{
PropertyData propertyData =
(PropertyData)lockChanges.get(0).getOldValue();
- performUnLock(lockChanges, sessionId,
propertyData.getParentIdentifier());
+ performUnLock(lockChanges, propertyData.getParentIdentifier(),
sessionId);
}
else
{
@@ -161,6 +161,8 @@
case REMOVE_DATA :
break;
case REMOVE_KEY_VALUE :
+ break;
+ case REMOVE_NODE :
if (m.getKey().equals(JBossCacheStorage.ITEM_DATA))
{
PropertyData propertyData = (PropertyData)m.getValue();
@@ -172,8 +174,6 @@
}
}
break;
- case REMOVE_NODE :
- break;
case MOVE :
break;
default :
@@ -183,34 +183,41 @@
else if (m.getFqn().hasElement(JBossCacheStorage.NODES))
{
int nodesPos = getElementPosition(m.getFqn(), JBossCacheStorage.NODES);
- if (m.getFqn().size() == nodesPos + 1)
+ if (m.getFqn().size() == nodesPos + 2)
{
// this is a node and node is locked
String nodeIdentifier = (String)m.getFqn().get(nodesPos + 1);
- if (lockManager.hasLockNode(nodeIdentifier))
+
+ switch (m.getType())
{
- switch (m.getType())
- {
- case PUT_DATA_ERASE :
- break;
- case PUT_DATA :
+ case PUT_DATA_ERASE :
+ break;
+ case PUT_DATA :
+ if (lockManager.hasLockNode(nodeIdentifier))
+ {
removedLock.remove(nodeIdentifier);
- break;
- case PUT_KEY_VALUE :
- break;
- case REMOVE_DATA :
- break;
- case REMOVE_KEY_VALUE :
- break;
- case REMOVE_NODE :
+ }
+ break;
+ case PUT_KEY_VALUE :
+ break;
+ case REMOVE_DATA :
+ break;
+ case REMOVE_KEY_VALUE :
+ break;
+ case REMOVE_NODE :
+ if (lockManager.hasLockNode(nodeIdentifier))
+ {
removedLock.add(nodeIdentifier);
- break;
- case MOVE :
+ }
+ break;
+ case MOVE :
+ if (lockManager.hasLockNode(nodeIdentifier))
+ {
removedLock.remove(nodeIdentifier);
- break;
- default :
- throw new CacheException("Unknown modification " +
m.getType());
- }
+ }
+ break;
+ default :
+ throw new CacheException("Unknown modification " +
m.getType());
}
}
}
@@ -231,6 +238,7 @@
{
if (lockManager.hasPendingLocks(nodeIdentifier))
{
+ log.info("Perform lock operation nodeIdentifier=" +
nodeIdentifier);
lockManager.internalLock(nodeIdentifier);
}
else
@@ -276,11 +284,12 @@
}
}
- private void performUnLock(List<Modification> lockChanges, String sessionId,
String nodeIdentifier)
+ private void performUnLock(List<Modification> lockChanges, String
nodeIdentifier, String sessionId)
{
try
{
- lockManager.internalUnLock(sessionId, nodeIdentifier);
+ log.info("Perform lock operation nodeIdentifier=" + nodeIdentifier +
" sessionId=" + sessionId);
+ lockManager.internalUnLock(nodeIdentifier, sessionId);
}
catch (LockException e)
{
Show replies by date