Class VirtualCheckOutCheckInServiceExtension

All Implemented Interfaces:
CheckOutCheckInServiceExtension, CheckOutCheckInService

public class VirtualCheckOutCheckInServiceExtension extends SpringBeanExtension<CheckOutCheckInServiceExtension,CheckOutCheckInServiceTrait> implements CheckOutCheckInServiceExtension
  • Constructor Details

    • VirtualCheckOutCheckInServiceExtension

      public VirtualCheckOutCheckInServiceExtension()
  • Method Details

    • setSmartStore

      public void setSmartStore(VirtualStore smartStore)
    • checkout

      public NodeRef checkout(NodeRef nodeRef, NodeRef destinationParentNodeRef, QName destinationAssocTypeQName, QName destinationAssocQName)
      Description copied from interface: CheckOutCheckInService
      Checks out the given node placing a working copy in the destination specified.

      When a node is checked out a read-only lock is placed on the original node and a working copy is placed in the destination specified.

      The copy aspect is applied to the working copy so that the original node can be identified.

      The working copy aspect is applied to the working copy so that it can be identified as the working copy of a checked out node.

      The working copy node reference is returned to the caller.

      Specified by:
      checkout in interface CheckOutCheckInService
      Parameters:
      nodeRef - a reference to the node to checkout
      destinationParentNodeRef - the destination node reference for the working copy
      destinationAssocTypeQName - the destination child assoc type for the working copy
      destinationAssocQName - the destination child assoc qualified name for the working copy
      Returns:
      node reference to the created working copy
    • checkout

      public NodeRef checkout(NodeRef nodeRef)
      Description copied from interface: CheckOutCheckInService
      Checks out the working copy of the node into the same parent node with the same child associations details.
      Specified by:
      checkout in interface CheckOutCheckInService
      Parameters:
      nodeRef - a reference to the node to checkout
      Returns:
      a node reference to the created working copy
      See Also:
    • checkin

      public NodeRef checkin(NodeRef workingCopyNodeRef, Map<String,Serializable> versionProperties, String contentUrl, boolean keepCheckedOut)
      Description copied from interface: CheckOutCheckInService
      Checks in the working node specified.

      When a working copy is checked in the current state of the working copy is copied to the original node. This will include any content updated in the working node.

      If versioning is not enabled on a node (the versionable aspect is not present on the node), the check in overwrites the existing node and releases the lock unless the keepCheckedOut flag is used. With versioning enabled on the node, a new version is always created.

      If a content Url is provided it will be used to update the content of the working node before the checkin operation takes place.

      Once the operation has completed the read lock applied to the original node during checkout will be removed and the working copy of the node deleted from the repository, unless the operation is instructed to keep the original node checked out. In which case the lock and the working copy will remain.

      The node reference to the original node is returned.

      Specified by:
      checkin in interface CheckOutCheckInService
      Parameters:
      workingCopyNodeRef - the working copy node reference
      versionProperties - the version properties. If null is passed then the original node is NOT versioned during the checkin operation.
      contentUrl - a content url that should be set on the working copy before the checkin operation takes place. If null then the current working copy content is copied back to the original node.
      keepCheckedOut - indicates whether the node should remain checked out after the checkin has taken place. When the node remains checked out the working node reference remains the same.
      Returns:
      the node reference to the original node, updated with the checked in state
    • checkin

      public NodeRef checkin(NodeRef workingCopyNodeRef, Map<String,Serializable> versionProperties, String contentUrl)
      Description copied from interface: CheckOutCheckInService
      By default the checked in node is not keep checked in.
      Specified by:
      checkin in interface CheckOutCheckInService
      Parameters:
      workingCopyNodeRef - the working copy node reference
      versionProperties - the version properties. If null is passed then the original node is NOT versioned during the checkin operation.
      contentUrl - a content url that should be set on the working copy before the checkin operation takes place. If null then the current working copy content is copied back to the original node.
      Returns:
      the node reference to the original node, updated with the checked in state
    • checkin

      public NodeRef checkin(NodeRef workingCopyNodeRef, Map<String,Serializable> versionProperties)
      Description copied from interface: CheckOutCheckInService
      If no content url is specified then current content set on the working copy is understood to be current.
      Specified by:
      checkin in interface CheckOutCheckInService
      Parameters:
      workingCopyNodeRef - the working copy node reference
      versionProperties - the version properties. If null is passed then the original node is NOT versioned during the checkin operation.
      Returns:
      the node reference to the original node, updated with the checked in state
    • cancelCheckout

      public NodeRef cancelCheckout(NodeRef workingCopyNodeRef)
      Description copied from interface: CheckOutCheckInService
      Cancels the checkout for a given working copy.

      The read-only lock on the original node is removed and the working copy is removed.

      Note that all modification made to the working copy will be lost and the original node will remain unchanged.

      A reference to the original node reference is returned.

      Specified by:
      cancelCheckout in interface CheckOutCheckInService
      Parameters:
      workingCopyNodeRef - the working copy node reference
      Returns:
      the original node reference
    • getWorkingCopy

      public NodeRef getWorkingCopy(NodeRef nodeRef)
      Description copied from interface: CheckOutCheckInService
      Helper method to retrieve the working copy node reference for a checked out node.

      A null node reference is returned if the node is not checked out.

      Specified by:
      getWorkingCopy in interface CheckOutCheckInService
      Parameters:
      nodeRef - a node reference
      Returns:
      the working copy node reference or null if none.
    • getCheckedOut

      public NodeRef getCheckedOut(NodeRef nodeRef)
      Description copied from interface: CheckOutCheckInService
      Helper method to retrieve the original node (check-out source) for a working copy.

      A null node reference is returned if the node is not a working copy.

      Specified by:
      getCheckedOut in interface CheckOutCheckInService
      Parameters:
      nodeRef - the (potential) working copy
      Returns:
      the original (source) node or null if it is not a working copy
    • isWorkingCopy

      public boolean isWorkingCopy(NodeRef nodeRef)
      Description copied from interface: CheckOutCheckInService
      Determine if a node is a working copy or not
      Specified by:
      isWorkingCopy in interface CheckOutCheckInService
      Parameters:
      nodeRef - the (potential) working copy
      Returns:
      true if the node is a working copy otherwise false
    • isCheckedOut

      public boolean isCheckedOut(NodeRef nodeRef)
      Description copied from interface: CheckOutCheckInService
      Determine if a node has been checked out or not
      Specified by:
      isCheckedOut in interface CheckOutCheckInService
      Parameters:
      nodeRef - the (potentially) checked out node
      Returns:
      true if the node has been checked out otherwise false