Fixed LockDAO to use correct, new lock token during bulk update

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13954 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2009-04-15 12:07:57 +00:00
parent a97ff34f03
commit 2ec7305fd9
3 changed files with 9 additions and 7 deletions

View File

@@ -26,7 +26,6 @@ package org.alfresco.repo.domain.locks;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.ReentrantLock;
import java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock;
import junit.framework.TestCase;

View File

@@ -145,9 +145,9 @@ public class LockDAOImpl extends AbstractLockDAOImpl
updateLockEntity.setExclusiveResourceId(lockEntity.getExclusiveResourceId());
updateLockEntity.setLockToken(lockToken);
long now = System.currentTimeMillis();
Long exp = now + timeToLive;
updateLockEntity.setStartTime(lockEntity.getStartTime()); // Keep original start time
updateLockEntity.setExpiryTime(exp); // Don't update the start time
long exp = now + timeToLive;
updateLockEntity.setStartTime(new Long(now));
updateLockEntity.setExpiryTime(new Long(exp));
template.update(UPDATE_LOCK, updateLockEntity, 1);
// Done
return updateLockEntity;
@@ -163,10 +163,11 @@ public class LockDAOImpl extends AbstractLockDAOImpl
Map<String, Object> params = new HashMap<String, Object>(11);
params.put("exclusiveLockResourceId", exclusiveLockResourceId);
params.put("oldLockToken", oldLockToken);
params.put("newLockToken", oldLockToken);
params.put("newLockToken", newLockToken);
long now = System.currentTimeMillis();
Long exp = new Long(now + timeToLive);
params.put("newExpiryTime", exp);
long exp = now + timeToLive;
params.put("newStartTime", new Long(now));
params.put("newExpiryTime", new Long(exp));
int updateCount = template.update(UPDATE_EXCLUSIVE_LOCK, params);
// Done
return updateCount;