/** * Return a lock info base on the VFS lock * * @param resource * @return */ public LockInfo getVFSLock(WebResource resource) { VFSItem item = extractItem(resource); MetaInfoFileImpl info = getMetaInfo(item); if (info != null && info.isLocked()) { File file = extractFile(item); LockInfo lock = null; if (fileLocks.containsKey(file)) { lock = fileLocks.get(file); if (lock != null) { lock.setVfsLock(true); } } if (lock == null) { lock = new LockInfo(info.getLockedBy(), false, true); lock.setWebResource(resource); lock.setCreationDate(info.getLockedDate()); lock.setOwner(Settings.getServerContextPathURI() + "/Identity/" + info.getLockedBy()); lock.setDepth(1); lock.addToken(generateLockToken(lock, info.getLockedBy())); fileLocks.put(file, lock); } return lock; } return null; }
private Long getMetaLockedBy(VFSItem item) { MetaInfoFileImpl info = getMetaInfo(item); Long lockedBy = null; if (info != null) { if (!info.isLocked()) { return null; } lockedBy = info.getLockedBy(); } return lockedBy; }
@Override public LockInfo getLock(VFSItem item) { File file = extractFile(item); if (file != null && fileLocks.containsKey(file)) { LockInfo lock = fileLocks.get(file); if (lock != null) { return lock; } } MetaInfoFileImpl info = getMetaInfo(item); if (info != null && info.isLocked()) { LockInfo lock = new LockInfo(info.getLockedBy(), false, true); lock.setCreationDate(info.getLockedDate()); lock.setOwner(Settings.getServerContextPathURI() + "/Identity/" + info.getLockedBy()); lock.setDepth(1); lock.addToken(generateLockToken(lock, info.getLockedBy())); fileLocks.put(file, lock); return lock; } return null; }