本文整理汇总了Java中org.alfresco.service.cmr.lock.LockStatus类的典型用法代码示例。如果您正苦于以下问题:Java LockStatus类的具体用法?Java LockStatus怎么用?Java LockStatus使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
LockStatus类属于org.alfresco.service.cmr.lock包,在下文中一共展示了LockStatus类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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());
}
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:25,代码来源:LockOwnerDynamicAuthority.java
示例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;
}
});
}
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:17,代码来源:FailedThumbnailSourceAspect.java
示例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);
}
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:25,代码来源:CommentServiceImpl.java
示例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;
}
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:36,代码来源:LockUtils.java
示例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;
}
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:18,代码来源:LockableAspectInterceptor.java
示例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;
}
}
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:19,代码来源:LockServiceImpl.java
示例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;
}
开发者ID:Alfresco,项目名称:community-edition-old,代码行数:24,代码来源:Repository.java
示例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));
}
开发者ID:Alfresco,项目名称:records-management-old,代码行数:30,代码来源:ExtendedVersionableAspectUnitTest.java
示例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;
}
开发者ID:Pluies,项目名称:Alfresco-Google-docs-plugin,代码行数:31,代码来源:GoogleDocsServiceImpl.java
示例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;
}
开发者ID:Pluies,项目名称:Alfresco-Google-docs-plugin,代码行数:20,代码来源:GoogleDocsServiceImpl.java
示例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);
}
}
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:40,代码来源:CheckOutCheckInServiceImpl.java
示例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());
}
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:11,代码来源:LockServiceImpl.java
示例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);
}
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:10,代码来源:LockServiceImpl.java
示例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;
}
}
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:17,代码来源:LockServiceImpl.java
示例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();
}
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:11,代码来源:LockOwnerDynamicAuthorityTest.java
示例16: testAutoVersionIncrementOnPropertiesUpdateByLockOwnerAlf14584
import org.alfresco.service.cmr.lock.LockStatus; //导入依赖的package包/类
public void testAutoVersionIncrementOnPropertiesUpdateByLockOwnerAlf14584() throws Exception
{
final String name = generateDocumentName(DOCUMENT_NAME, "0.2");
transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<Void>()
{
@Override
public Void execute() throws Throwable
{
Map<QName, Serializable> properties = getAndAssertProperties(document, "0.1");
Serializable autoVersionProps = properties.get(ContentModel.PROP_AUTO_VERSION_PROPS);
assertNotNull(("Autoversion property is NULL! NodeRef = '" + document.toString() + "'"), autoVersionProps);
assertTrue(("Autoversion must be TRUE! NodeRef = '" + document.toString() + "'"), (Boolean) autoVersionProps);
lockService.lock(document, LockType.WRITE_LOCK);
LockStatus lockStatus = lockService.getLockStatus(document);
assertTrue(
("Node with NodeRef = '" + document.toString() + "' should be locked for " + AuthenticationUtil.getFullyAuthenticatedUser() + " user! The user is lock owner"),
lockService.isLocked(document));
assertEquals(LockStatus.LOCK_OWNER, lockService.getLockStatus(document));
nodeService.setProperty(document, ContentModel.PROP_NAME, name);
return null;
}
});
assertDocumentVersionAndName("0.2", name);
}
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:32,代码来源:VersionableAspectTest.java
示例17: testLockRevertedOnRollback
import org.alfresco.service.cmr.lock.LockStatus; //导入依赖的package包/类
public void testLockRevertedOnRollback() throws NotSupportedException, SystemException
{
// Preconditions of test
assertEquals(LockStatus.NO_LOCK, lockService.getLockStatus(noAspectNode));
assertFalse(lockService.isLocked(noAspectNode));
assertEquals(LockStatus.NO_LOCK, lockService.getLockStatus(rootNodeRef));
assertFalse(lockService.isLocked(rootNodeRef));
// Lock noAspectNode
lockService.lock(noAspectNode, LockType.WRITE_LOCK, 0, Lifetime.EPHEMERAL);
// Lock rootNodeRef
lockService.lock(rootNodeRef, LockType.NODE_LOCK, 0, Lifetime.EPHEMERAL);
// Sometime later, a refresh occurs (so this should not be reverted to unlocked, but to this state)
lockService.lock(rootNodeRef, LockType.NODE_LOCK, 3600, Lifetime.EPHEMERAL);
// Rollback
endTransaction();
// This lock should not be present.
assertEquals(LockStatus.NO_LOCK, lockService.getLockStatus(noAspectNode));
assertFalse(lockService.isLocked(noAspectNode));
// This lock should still be present.
assertEquals(LockStatus.LOCK_OWNER, lockService.getLockStatus(rootNodeRef));
assertTrue(lockService.isLocked(rootNodeRef));
}
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:29,代码来源:LockServiceImplTest.java
示例18: testIsLockedAndReadOnly_ForLockOwnerWithNullLockType
import org.alfresco.service.cmr.lock.LockStatus; //导入依赖的package包/类
@Test
public void testIsLockedAndReadOnly_ForLockOwnerWithNullLockType()
{
when(lockService.getLockStatus(nodeRef)).thenReturn(LockStatus.LOCK_OWNER);
when(lockService.getLockType(nodeRef)).thenReturn(null);
when(lockService.isLockedAndReadOnly(nodeRef)).thenReturn(true);
boolean returnedVal = LockUtils.isLockedAndReadOnly(nodeRef, lockService);
assertEquals(true, returnedVal);
}
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:11,代码来源:LockUtilsTest.java
示例19: testIsLockedAndReadOnly_ForLockOwnerWithWriteLockType
import org.alfresco.service.cmr.lock.LockStatus; //导入依赖的package包/类
@Test
public void testIsLockedAndReadOnly_ForLockOwnerWithWriteLockType()
{
when(lockService.getLockStatus(nodeRef)).thenReturn(LockStatus.LOCK_OWNER);
when(lockService.getLockType(nodeRef)).thenReturn(LockType.WRITE_LOCK);
when(lockService.isLockedAndReadOnly(nodeRef)).thenReturn(false);
boolean returnedVal = LockUtils.isLockedAndReadOnly(nodeRef, lockService);
assertEquals(false, returnedVal);
}
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:11,代码来源:LockUtilsTest.java
示例20: testIsLockedAndReadOnly_ForLockOwnerWithNodeLockType
import org.alfresco.service.cmr.lock.LockStatus; //导入依赖的package包/类
@Test
public void testIsLockedAndReadOnly_ForLockOwnerWithNodeLockType()
{
when(lockService.getLockStatus(nodeRef)).thenReturn(LockStatus.LOCK_OWNER);
when(lockService.getLockType(nodeRef)).thenReturn(LockType.NODE_LOCK);
when(lockService.isLockedAndReadOnly(nodeRef)).thenReturn(true);
boolean returnedVal = LockUtils.isLockedAndReadOnly(nodeRef, lockService);
assertEquals(true, returnedVal);
}
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:11,代码来源:LockUtilsTest.java
注:本文中的org.alfresco.service.cmr.lock.LockStatus类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论