当前位置: 首页>>代码示例>>Java>>正文


Java LockStatus类代码示例

本文整理汇总了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());
    
    
    
}
 
开发者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


注:本文中的org.alfresco.service.cmr.lock.LockStatus类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。