Class CheckOutCheckInServiceImpl
- All Implemented Interfaces:
CheckOutCheckInService,Extensible
- Author:
- Roy Wetherall
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncancelCheckout(NodeRef workingCopyNodeRef) Cancels the checkout for a given working copy.checkin(NodeRef workingCopyNodeRef, Map<String, Serializable> versionProperties) If no content url is specified then current content set on the working copy is understood to be current.By default the checked in node is not keep checked in.checkin(NodeRef workingCopyNodeRef, Map<String, Serializable> versionProperties, String contentUrl, boolean keepCheckedOut) Checks in the working node specified.Checks out the working copy of the node into the same parent node with the same child associations details.checkout(NodeRef nodeRef, NodeRef destinationParentNodeRef, QName destinationAssocTypeQName, QName destinationAssocQName) Checks out the given node placing a working copy in the destination specified.static StringcreateWorkingCopyName(String name, String workingCopyLabel) Create a working copy name using the given fileName and workingCopyLabel.getCheckedOut(NodeRef nodeRef) Helper method to retrieve the original node (check-out source) for a working copy.<T extends Trait>
ExtendedTrait<T>getWorkingCopy(NodeRef nodeRef) Helper method to retrieve the working copy node reference for a checked out node.static StringGet the working copy label.voidinit()Initialise methodbooleanisCheckedOut(NodeRef nodeRef) Determine if a node has been checked out or notbooleanisWorkingCopy(NodeRef nodeRef) Determine if a node is a working copy or notvoidsetAuthenticationService(AuthenticationService authenticationService) Sets the authentication servicevoidsetBehaviourFilter(BehaviourFilter behaviourFilter) voidsetCopyService(CopyService copyService) Sets the copy servicevoidsetFileFolderService(FileFolderService fileFolderService) Set the file folder servicevoidsetLockService(LockService lockService) Sets the lock servicevoidsetNodeService(NodeService nodeService) Set the node servicevoidsetOwnableService(OwnableService ownableService) Set the ownable servicevoidsetPolicyComponent(PolicyComponent policyComponent) voidsetRuleService(RuleService ruleService) voidsetVersionService(VersionService versionService) Set the version service
-
Constructor Details
-
CheckOutCheckInServiceImpl
public CheckOutCheckInServiceImpl()
-
-
Method Details
-
setBehaviourFilter
- Parameters:
behaviourFilter- the behaviourFilter to set
-
setNodeService
Set the node service -
setVersionService
Set the version service -
setOwnableService
Set the ownable service -
setLockService
Sets the lock service -
setCopyService
Sets the copy service -
setAuthenticationService
Sets the authentication service -
setFileFolderService
Set the file folder service -
setPolicyComponent
- Parameters:
policyComponent- policy component
-
setRuleService
- Parameters:
ruleService- rule service
-
init
public void init()Initialise method -
checkout
Description copied from interface:CheckOutCheckInServiceChecks out the working copy of the node into the same parent node with the same child associations details.- Specified by:
checkoutin interfaceCheckOutCheckInService- Parameters:
nodeRef- a reference to the node to checkout- Returns:
- a node reference to the created working copy
- See Also:
-
checkout
public NodeRef checkout(NodeRef nodeRef, NodeRef destinationParentNodeRef, QName destinationAssocTypeQName, QName destinationAssocQName) Description copied from interface:CheckOutCheckInServiceChecks 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:
checkoutin interfaceCheckOutCheckInService- Parameters:
nodeRef- a reference to the node to checkoutdestinationParentNodeRef- the destination node reference for the working copydestinationAssocTypeQName- the destination child assoc type for the working copydestinationAssocQName- the destination child assoc qualified name for the working copy- Returns:
- node reference to the created working copy
-
checkin
Description copied from interface:CheckOutCheckInServiceIf no content url is specified then current content set on the working copy is understood to be current.- Specified by:
checkinin interfaceCheckOutCheckInService- Parameters:
workingCopyNodeRef- the working copy node referenceversionProperties- 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
-
checkin
public NodeRef checkin(NodeRef workingCopyNodeRef, Map<String, Serializable> versionProperties, String contentUrl) Description copied from interface:CheckOutCheckInServiceBy default the checked in node is not keep checked in.- Specified by:
checkinin interfaceCheckOutCheckInService- Parameters:
workingCopyNodeRef- the working copy node referenceversionProperties- 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, String contentUrl, boolean keepCheckedOut) Description copied from interface:CheckOutCheckInServiceChecks 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:
checkinin interfaceCheckOutCheckInService- Parameters:
workingCopyNodeRef- the working copy node referenceversionProperties- 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
-
cancelCheckout
Description copied from interface:CheckOutCheckInServiceCancels 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:
cancelCheckoutin interfaceCheckOutCheckInService- Parameters:
workingCopyNodeRef- the working copy node reference- Returns:
- the original node reference
-
getWorkingCopy
Description copied from interface:CheckOutCheckInServiceHelper 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:
getWorkingCopyin interfaceCheckOutCheckInService- Parameters:
nodeRef- a node reference- Returns:
- the working copy node reference or null if none.
-
getCheckedOut
Description copied from interface:CheckOutCheckInServiceHelper 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:
getCheckedOutin interfaceCheckOutCheckInService- Parameters:
nodeRef- the (potential) working copy- Returns:
- the original (source) node or null if it is not a working copy
-
isWorkingCopy
Description copied from interface:CheckOutCheckInServiceDetermine if a node is a working copy or not- Specified by:
isWorkingCopyin interfaceCheckOutCheckInService- Parameters:
nodeRef- the (potential) working copy- Returns:
- true if the node is a working copy otherwise false
-
isCheckedOut
Description copied from interface:CheckOutCheckInServiceDetermine if a node has been checked out or not- Specified by:
isCheckedOutin interfaceCheckOutCheckInService- Parameters:
nodeRef- the (potentially) checked out node- Returns:
- true if the node has been checked out otherwise false
-
createWorkingCopyName
Create a working copy name using the given fileName and workingCopyLabel. The label will be inserted before the file extension (if present), or else appended to the name (in either case a space is prepended to the workingCopyLabel).Examples, where workingCopyLabel is "wc":
"Myfile.txt" becomes "Myfile wc.txt", "Myfile" becomes "Myfile wc".
In the event that fileName is empty or null, the workingCopyLabel is used for the new working copy name
Example: "" becomes "wc".
- Parameters:
name- StringworkingCopyLabel- String- Returns:
- String
-
getWorkingCopyLabel
Get the working copy label.- Returns:
- the working copy label
-
getTrait
- Specified by:
getTraitin interfaceExtensible
-