diff --git a/source/java/org/alfresco/repo/avm/AVMServiceTest.java b/source/java/org/alfresco/repo/avm/AVMServiceTest.java index 58f5413496..48ee2ca862 100644 --- a/source/java/org/alfresco/repo/avm/AVMServiceTest.java +++ b/source/java/org/alfresco/repo/avm/AVMServiceTest.java @@ -187,6 +187,7 @@ public class AVMServiceTest extends AVMServiceTestBase finally { fService = oldService; + fLockingService.removeStoreLocks("main"); fLockingService.removeWebProject("main"); authService.authenticate("admin", "admin".toCharArray()); } diff --git a/source/java/org/alfresco/repo/avm/locking/AVMLockingServiceImpl.java b/source/java/org/alfresco/repo/avm/locking/AVMLockingServiceImpl.java index e142bc50a6..2f4f91afbc 100644 --- a/source/java/org/alfresco/repo/avm/locking/AVMLockingServiceImpl.java +++ b/source/java/org/alfresco/repo/avm/locking/AVMLockingServiceImpl.java @@ -546,16 +546,19 @@ public class AVMLockingServiceImpl implements AVMLockingService { return; } + List toDelete = new ArrayList(); for (Map.Entry entry: project.entrySet()) { AVMLock lock = new AVMLock(entry.getValue()); if (lock.getStore().equals(store)) { - project.remove(entry.getKey()); + toDelete.add(entry.getKey()); } } - keys.remove(2); - fAttributeService.setAttribute(keys, webProject, project); + for (String name : toDelete) + { + fAttributeService.removeAttribute(keys, name); + } } /* (non-Javadoc)