本文整理汇总了Java中org.alfresco.service.cmr.lock.LockStatus类的典型用法代码示例。如果您正苦于以下问题:Java LockStatus类的具体用法?Java LockStatus怎么用?Java LockStatus使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
LockStatus类属于org.alfresco.service.cmr.lock包,在下文中一共展示了LockStatus类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: hasAuthority
import org.alfresco.service.cmr.lock.LockStatus; //导入依赖的package包/类
public boolean hasAuthority(final NodeRef nodeRef, final String userName)
{
return AuthenticationUtil.runAs(new RunAsWork<Boolean>(){
public Boolean doWork() throws Exception
{
if (lockService.getLockStatus(nodeRef, userName) == LockStatus.LOCK_OWNER)
{
return true;
}
NodeRef original = checkOutCheckInService.getCheckedOut(nodeRef);
if (original != null)
{
return (lockService.getLockStatus(original, userName) == LockStatus.LOCK_OWNER);
}
else
{
return false;
}
}}, AuthenticationUtil.getSystemUserName());
}
示例2: onContentUpdate
import org.alfresco.service.cmr.lock.LockStatus; //导入依赖的package包/类
@Override
public void onContentUpdate(final NodeRef nodeRef, boolean newContent)
{
AuthenticationUtil.runAsSystem(new RunAsWork<Object>()
{
@Override
public Object doWork()
{
if (nodeService.exists(nodeRef) && lockService.getLockStatus(nodeRef) != LockStatus.LOCKED)
{
deleteFailedThumbnailChildren(nodeRef);
}
return null;
}
});
}
示例3: isWorkingCopyOrLocked
import org.alfresco.service.cmr.lock.LockStatus; //导入依赖的package包/类
private boolean isWorkingCopyOrLocked(NodeRef nodeRef)
{
boolean isWorkingCopy = false;
boolean isLocked = false;
if (nodeRef != null)
{
Set<QName> aspects = nodeService.getAspects(nodeRef);
isWorkingCopy = aspects.contains(ContentModel.ASPECT_WORKING_COPY);
if (!isWorkingCopy)
{
if (aspects.contains(ContentModel.ASPECT_LOCKABLE))
{
LockStatus lockStatus = lockService.getLockStatus(nodeRef);
if (lockStatus == LockStatus.LOCKED || lockStatus == LockStatus.LOCK_OWNER)
{
isLocked = true;
}
}
}
}
return (isWorkingCopy || isLocked);
}
示例4: lockStatus
import org.alfresco.service.cmr.lock.LockStatus; //导入依赖的package包/类
/**
* Given the lock owner and expiry date of a lock calculates the lock status with respect
* to the user name supplied, e.g. the current user.
*
* @param userName User name to evaluate the lock against.
* @param lockOwner Owner of the lock.
* @param expiryDate Expiry date of the lock.
* @return LockStatus
* @deprecated eventually move into LockService
*/
public static LockStatus lockStatus(String userName, String lockOwner, Date expiryDate)
{
LockStatus result = LockStatus.NO_LOCK;
if (lockOwner != null)
{
if (expiryDate != null && expiryDate.before(new Date()) == true)
{
// Indicate that the lock has expired
result = LockStatus.LOCK_EXPIRED;
}
else
{
if (lockOwner.equals(userName) == true)
{
result = LockStatus.LOCK_OWNER;
}
else
{
result = LockStatus.LOCKED;
}
}
}
return result;
}
示例5: getLockState
import org.alfresco.service.cmr.lock.LockStatus; //导入依赖的package包/类
@Extend(traitAPI=LockableAspectInterceptorTrait.class,extensionAPI=LockableAspectInterceptorExtension.class)
private LockState getLockState(NodeRef nodeRef)
{
LockState lockState = lockStore.get(nodeRef);
// Disregard in-memory lock if expired
if (lockState != null)
{
String lockOwner = lockState.getOwner();
Date expiryDate = lockState.getExpires();
LockStatus status = LockUtils.lockStatus(lockOwner, lockOwner, expiryDate);
if (status.equals(LockStatus.LOCK_EXPIRED))
{
lockState = null;
}
}
return lockState;
}
示例6: isLockedAndReadOnly
import org.alfresco.service.cmr.lock.LockStatus; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Extend(traitAPI=LockServiceTrait.class,extensionAPI=LockServiceExtension.class)
public boolean isLockedAndReadOnly(NodeRef nodeRef)
{
LockStatus lockStatus = getLockStatus(nodeRef);
switch (lockStatus)
{
case NO_LOCK:
case LOCK_EXPIRED:
return false;
case LOCK_OWNER:
return getLockType(nodeRef) != LockType.WRITE_LOCK;
default:
return true;
}
}
示例7: isNodeLocked
import org.alfresco.service.cmr.lock.LockStatus; //导入依赖的package包/类
/**
* Return whether a Node is currently locked
*
* @param node The Node wrapper to test against
* @param lockService The LockService to use
*
* @return whether a Node is currently locked
*/
public static Boolean isNodeLocked(Node node, LockService lockService)
{
Boolean locked = Boolean.FALSE;
if (node.hasAspect(ContentModel.ASPECT_LOCKABLE))
{
LockStatus lockStatus = lockService.getLockStatus(node.getNodeRef());
if (lockStatus == LockStatus.LOCKED || lockStatus == LockStatus.LOCK_OWNER)
{
locked = Boolean.TRUE;
}
}
return locked;
}
示例8: nodeLocked
import org.alfresco.service.cmr.lock.LockStatus; //导入依赖的package包/类
/**
* given that the node is locked
* when the type set behaviour is executed
* then a new version is not created
*/
@SuppressWarnings("unchecked")
@Test
public void nodeLocked()
{
// auto version on
extendedVersionableAspect.setAutoVersionOnTypeChange(true);
// node does exists
when(mockedNodeService.exists(nodeRef))
.thenReturn(true);
// node is locked
when(mockedLockService.getLockStatus(nodeRef))
.thenReturn(LockStatus.LOCKED);
// execute behaviour
extendedVersionableAspect.onSetNodeType(nodeRef, oldType, newType);
// verify other
verify(mockedNodeService).exists(nodeRef);
// assert the version was not created
verify(mockedVersionService, never()).createVersion(eq(nodeRef), any(Map.class));
}
示例9: isLockedByGoogleDocs
import org.alfresco.service.cmr.lock.LockStatus; //导入依赖的package包/类
/**
* Is the node locked by Googledocs? If the document is marked locked in the model, but not locked in the repository, the locked
* property is set to false
*
* @param nodeRef
* @return
*/
public boolean isLockedByGoogleDocs(NodeRef nodeRef)
{
boolean locked = false;
if ((Boolean)nodeService.getProperty(nodeRef, GoogleDocsModel.PROP_LOCKED))
{
LockStatus lockStatus = lockservice.getLockStatus(nodeRef);
if (lockStatus.equals(LockStatus.NO_LOCK))
{
// fix broken lock
nodeService.setProperty(nodeRef, GoogleDocsModel.PROP_LOCKED, false);
}
else
{
locked = true;
}
}
log.debug("Node " + nodeRef + " locked by Google Docs");
return locked;
}
示例10: isGoogleDocsLockOwner
import org.alfresco.service.cmr.lock.LockStatus; //导入依赖的package包/类
/**
* @param nodeRef
* @return Will return false is the document is not locked
*/
public boolean isGoogleDocsLockOwner(NodeRef nodeRef)
{
boolean isOwner = false;
if (isLockedByGoogleDocs(nodeRef))
{
LockStatus lockStatus = lockservice.getLockStatus(nodeRef);
if (lockStatus.equals(LockStatus.LOCK_OWNER))
{
isOwner = true;
}
}
return isOwner;
}
示例11: checkout
import org.alfresco.service.cmr.lock.LockStatus; //导入依赖的package包/类
@Override
@Extend(traitAPI=CheckOutCheckInServiceTrait.class,extensionAPI=CheckOutCheckInServiceExtension.class)
public NodeRef checkout(
final NodeRef nodeRef,
final NodeRef destinationParentNodeRef,
final QName destinationAssocTypeQName,
QName destinationAssocQName)
{
if (nodeService.hasAspect(nodeRef, ContentModel.ASPECT_CHECKED_OUT))
{
throw new CheckOutCheckInServiceException(MSG_ALREADY_CHECKEDOUT);
}
// Make sure we are not checking out a working copy node
if (nodeService.hasAspect(nodeRef, ContentModel.ASPECT_WORKING_COPY))
{
throw new CheckOutCheckInServiceException(MSG_ERR_ALREADY_WORKING_COPY);
}
// It is not enough to check LockUtils.isLockedOrReadOnly in case when the same user does offline and online edit (for instance in two open browsers). In this case we get
// set ContentModel.ASPECT_LOCKABLE and LockType.WRITE_LOCK. So, here we have to check following
LockStatus lockStatus = lockService.getLockStatus(nodeRef);
if (lockStatus != LockStatus.NO_LOCK && lockStatus != LockStatus.LOCK_EXPIRED)
{
throw new NodeLockedException(nodeRef);
}
behaviourFilter.disableBehaviour(nodeRef, ContentModel.ASPECT_AUDITABLE);
behaviourFilter.disableBehaviour(destinationParentNodeRef, ContentModel.ASPECT_AUDITABLE);
try
{
return doCheckout(nodeRef, destinationParentNodeRef, destinationAssocTypeQName, destinationAssocQName);
}
finally
{
behaviourFilter.enableBehaviour(nodeRef, ContentModel.ASPECT_AUDITABLE);
behaviourFilter.enableBehaviour(destinationParentNodeRef, ContentModel.ASPECT_AUDITABLE);
}
}
示例12: getLockStatus
import org.alfresco.service.cmr.lock.LockStatus; //导入依赖的package包/类
/**
* @see org.alfresco.service.cmr.lock.LockService#getLockStatus(NodeRef)
*/
@Extend(traitAPI=LockServiceTrait.class,extensionAPI=LockServiceExtension.class)
public LockStatus getLockStatus(NodeRef nodeRef)
{
nodeRef = tenantService.getName(nodeRef);
return getLockStatus(nodeRef, getUserName());
}
示例13: getLockStateAndStatus
import org.alfresco.service.cmr.lock.LockStatus; //导入依赖的package包/类
private Pair<LockState, LockStatus> getLockStateAndStatus(NodeRef nodeRef, String userName)
{
final LockState lockState = getLockState(nodeRef);
String lockOwner = lockState.getOwner();
Date expiryDate = lockState.getExpires();
LockStatus status = LockUtils.lockStatus(userName, lockOwner, expiryDate);
return new Pair<LockState, LockStatus>(lockState, status);
}
示例14: isLocked
import org.alfresco.service.cmr.lock.LockStatus; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Extend(traitAPI=LockServiceTrait.class,extensionAPI=LockServiceExtension.class)
public boolean isLocked(NodeRef nodeRef)
{
LockStatus lockStatus = getLockStatus(nodeRef);
switch (lockStatus)
{
case LOCKED:
case LOCK_OWNER:
return true;
default:
return false;
}
}
示例15: testUnSet
import org.alfresco.service.cmr.lock.LockStatus; //导入依赖的package包/类
/**
*
*/
public void testUnSet()
{
permissionService.setPermission(rootNodeRef, "andy", PermissionService.ALL_PERMISSIONS, true);
authenticationService.authenticate("andy", "andy".toCharArray());
assertEquals(LockStatus.NO_LOCK, lockService.getLockStatus(rootNodeRef));
authenticationService.clearCurrentSecurityContext();
}