/** * @see java.lang.Object#clone() */ @Override public Object clone() { CmsLockFilter filter = new CmsLockFilter(false); filter.m_includeChildren = m_includeChildren; filter.m_includeParents = m_includeParents; filter.m_types = new HashSet<CmsLockType>(m_types); filter.m_ownedByUserId = m_ownedByUserId; filter.m_notOwnedByUserId = m_notOwnedByUserId; filter.m_projectId = m_projectId; filter.m_notLockableByUser = m_notLockableByUser; filter.m_lockableByUser = m_lockableByUser; return filter; }
/** * Returns an extended filter that will extend the result to the given path and all its children.<p> * * @return an extended filter to search the subresources of the given path */ public CmsLockFilter filterIncludeChildren() { CmsLockFilter filter = (CmsLockFilter)clone(); filter.m_includeChildren = true; return filter; }
CmsLock lock = itLocks.next(); CmsResource lockedResource; boolean matchesFilter = filter.match(resource.getRootPath(), lock); if (!matchesFilter && !filter.isSharedExclusive()) { continue; if (filter.isSharedExclusive() && (lockedResource.getSiblingCount() > 1)) { Iterator<CmsResource> itSiblings = internalReadSiblings(dbc, lockedResource).iterator(); while (itSiblings.hasNext()) { CmsResource sibling = itSiblings.next(); CmsLock siblingLock = internalSiblingLock(lock, sibling.getRootPath()); if (filter.match(resource.getRootPath(), siblingLock)) { lockedResources.add(sibling);
/** * Returns the html code to build the lock dialog.<p> * * @return html code * * @throws CmsException if something goes wrong */ @Override public String buildLockDialog() throws CmsException { CmsLockFilter nonBlockingFilter = CmsLockFilter.FILTER_ALL; nonBlockingFilter = nonBlockingFilter.filterLockableByUser(getCms().getRequestContext().currentUser()); nonBlockingFilter = nonBlockingFilter.filterSharedExclusive(); if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(getParamProjectid())) { nonBlockingFilter = nonBlockingFilter.filterProject(new CmsUUID(getParamProjectid())); } return buildLockDialog(nonBlockingFilter, getBlockingFilter(), 0, true); }
/** * @see org.opencms.workflow.CmsDefaultPublishResourceFormatter.I_PublishResourceValidator#findInvalidResources(java.util.Set) */ @SuppressWarnings("synthetic-access") public Set<CmsResource> findInvalidResources(Set<CmsResource> resources) { CmsUser user = m_cms.getRequestContext().getCurrentUser(); CmsLockFilter blockingFilter = CmsLockFilter.FILTER_ALL; blockingFilter = blockingFilter.filterNotLockableByUser(user); Set<CmsResource> result = new HashSet<CmsResource>(); for (CmsResource resource : resources) { try { List<CmsResource> blockingLocked = m_cms.getLockedResourcesWithCache( resource, blockingFilter, m_lockedResourceCache); for (CmsResource res : blockingLocked) { result.add(res); } } catch (Exception e) { // error reading the resource list, should usually never happen if (LOG.isErrorEnabled()) { LOG.error(e.getLocalizedMessage(), e); } } } return result; }
/** * Returns the filter to identify blocking locks.<p> * * @return the filter to identify blocking locks */ private CmsLockFilter getBlockingFilter() { CmsLockFilter blockingFilter = CmsLockFilter.FILTER_ALL; blockingFilter = blockingFilter.filterNotLockableByUser(getCms().getRequestContext().getCurrentUser()); if (!isDirectPublish()) { blockingFilter = blockingFilter.filterProject(new CmsUUID(getParamProjectid())); } return blockingFilter; }
if (!lock.isUnlocked() && filter.match("/", lock)) {
/** * Returns the filter to get all non blocking locks.<p> * * @return the filter to get all non blocking locks */ public CmsLockFilter getNonBlockingFilter() { if (m_nonBlockingFilter == null) { m_nonBlockingFilter = CmsLockFilter.FILTER_ALL; m_nonBlockingFilter = m_nonBlockingFilter.filterLockableByUser(getCms().getRequestContext().currentUser()); m_nonBlockingFilter = m_nonBlockingFilter.filterSharedExclusive(); } return m_nonBlockingFilter; }
List<String> lockedResources = getCms().getLockedResources( resourceName, CmsLockFilter.FILTER_ALL.filterNotOwnedByUserId( getCms().getRequestContext().getCurrentUser().getId())); if (!lockedResources.isEmpty()) {
while (itLocks.hasNext()) { CmsLock lock = (CmsLock)itLocks.next(); if (filter.isSharedExclusive()) { CmsResource resource; try { CmsResource sibling = (CmsResource)itSiblings.next(); CmsLock siblingLock = internalSiblingLock(lock, sibling.getRootPath()); if (filter.match(resourceName, siblingLock)) { locks.add(siblingLock); if (filter.match(resourceName, lock)) { locks.add(lock);
/** * Returns the html code to build the lock dialog.<p> * * @return html code * * @throws CmsException if something goes wrong */ public String buildLockDialog() throws CmsException { CmsLockFilter nonBlockingFilter = CmsLockFilter.FILTER_ALL; nonBlockingFilter = nonBlockingFilter.filterLockableByUser(getCms().getRequestContext().getCurrentUser()); nonBlockingFilter = nonBlockingFilter.filterSharedExclusive(); if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(getParamProjectid())) { nonBlockingFilter = nonBlockingFilter.filterProject(new CmsUUID(getParamProjectid())); } return org.opencms.workplace.commons.CmsLock.buildLockDialog( this, nonBlockingFilter, getBlockingFilter(), 0, true); }
/** * Returns the filter to get all blocking locks.<p> * * @return the filter to get all blocking locks */ public CmsLockFilter getBlockingFilter() { if (m_blockingFilter == null) { m_blockingFilter = CmsLockFilter.FILTER_ALL; m_blockingFilter = m_blockingFilter.filterNotLockableByUser(getCms().getRequestContext().currentUser()); } return m_blockingFilter; }
/** * Returns the filter to identify blocking locks.<p> * * @return the filter to identify blocking locks */ private CmsLockFilter getBlockingFilter() { CmsLockFilter blockingFilter = CmsLockFilter.FILTER_ALL; blockingFilter = blockingFilter.filterNotLockableByUser(getCms().getRequestContext().currentUser()); if (!isDirectPublish()) { blockingFilter = blockingFilter.filterProject(new CmsUUID(getParamProjectid())); } return blockingFilter; }
if (!lock.isUnlocked() && filter.match("/", lock)) {
/** * Returns the filter to get all non blocking locks.<p> * * @return the filter to get all non blocking locks */ public CmsLockFilter getNonBlockingFilter() { if (m_nonBlockingFilter == null) { m_nonBlockingFilter = CmsLockFilter.FILTER_ALL; m_nonBlockingFilter = m_nonBlockingFilter.filterLockableByUser( getCms().getRequestContext().getCurrentUser()); m_nonBlockingFilter = m_nonBlockingFilter.filterSharedExclusive(); } return m_nonBlockingFilter; }
List lockedResources = getCms().getLockedResources( resourceName, CmsLockFilter.FILTER_ALL.filterNotOwnedByUserId(getCms().getRequestContext().currentUser().getId())); if (!lockedResources.isEmpty()) { m_isEditable = Boolean.FALSE;
while (itLocks.hasNext()) { CmsLock lock = itLocks.next(); if (filter.isSharedExclusive()) { CmsResource resource; try { CmsResource sibling = itSiblings.next(); CmsLock siblingLock = internalSiblingLock(lock, sibling.getRootPath()); if (filter.match(resourceName, siblingLock)) { locks.add(siblingLock); if (filter.match(resourceName, lock)) { locks.add(lock);
/** * Returns an extended filter with the given user restriction.<p> * * @param userId the user id to filter * * @return an extended filter with the given user restriction */ public CmsLockFilter filterOwnedByUserId(CmsUUID userId) { CmsLockFilter filter = (CmsLockFilter)clone(); filter.m_ownedByUserId = userId; return filter; }
/** * Returns the filter to get all blocking locks.<p> * * @return the filter to get all blocking locks */ public CmsLockFilter getBlockingFilter() { if (m_blockingFilter == null) { m_blockingFilter = CmsLockFilter.FILTER_ALL; m_blockingFilter = m_blockingFilter.filterNotLockableByUser(getCms().getRequestContext().getCurrentUser()); } return m_blockingFilter; }
match = match(rootPath, lock.getRelatedLock());