Class CheckOutCheckInServiceImpl
- java.lang.Object
-
- org.alfresco.repo.coci.CheckOutCheckInServiceImpl
-
- All Implemented Interfaces:
CheckOutCheckInService,Extensible
public class CheckOutCheckInServiceImpl extends java.lang.Object implements CheckOutCheckInService, Extensible
Check out check in service implementation- Author:
- Roy Wetherall
-
-
Constructor Summary
Constructors Constructor Description CheckOutCheckInServiceImpl()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description org.alfresco.service.cmr.repository.NodeRefcancelCheckout(org.alfresco.service.cmr.repository.NodeRef workingCopyNodeRef)Cancels the checkout for a given working copy.org.alfresco.service.cmr.repository.NodeRefcheckin(org.alfresco.service.cmr.repository.NodeRef workingCopyNodeRef, java.util.Map<java.lang.String,java.io.Serializable> versionProperties)If no content url is specified then current content set on the working copy is understood to be current.org.alfresco.service.cmr.repository.NodeRefcheckin(org.alfresco.service.cmr.repository.NodeRef workingCopyNodeRef, java.util.Map<java.lang.String,java.io.Serializable> versionProperties, java.lang.String contentUrl)By default the checked in node is not keep checked in.org.alfresco.service.cmr.repository.NodeRefcheckin(org.alfresco.service.cmr.repository.NodeRef workingCopyNodeRef, java.util.Map<java.lang.String,java.io.Serializable> versionProperties, java.lang.String contentUrl, boolean keepCheckedOut)Checks in the working node specified.org.alfresco.service.cmr.repository.NodeRefcheckout(org.alfresco.service.cmr.repository.NodeRef nodeRef)Checks out the working copy of the node into the same parent node with the same child associations details.org.alfresco.service.cmr.repository.NodeRefcheckout(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.cmr.repository.NodeRef destinationParentNodeRef, org.alfresco.service.namespace.QName destinationAssocTypeQName, org.alfresco.service.namespace.QName destinationAssocQName)Checks out the given node placing a working copy in the destination specified.static java.lang.StringcreateWorkingCopyName(java.lang.String name, java.lang.String workingCopyLabel)Create a working copy name using the given fileName and workingCopyLabel.org.alfresco.service.cmr.repository.NodeRefgetCheckedOut(org.alfresco.service.cmr.repository.NodeRef nodeRef)Helper method to retrieve the original node (check-out source) for a working copy.<T extends Trait>
ExtendedTrait<T>getTrait(java.lang.Class<? extends T> traitAPI)org.alfresco.service.cmr.repository.NodeRefgetWorkingCopy(org.alfresco.service.cmr.repository.NodeRef nodeRef)Helper method to retrieve the working copy node reference for a checked out node.static java.lang.StringgetWorkingCopyLabel()Get the working copy label.voidinit()Initialise methodbooleanisCheckedOut(org.alfresco.service.cmr.repository.NodeRef nodeRef)Determine if a node has been checked out or notbooleanisWorkingCopy(org.alfresco.service.cmr.repository.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(org.alfresco.service.cmr.repository.NodeService nodeService)Set the node servicevoidsetOwnableService(OwnableService ownableService)Set the ownable servicevoidsetPolicyComponent(PolicyComponent policyComponent)voidsetRuleService(RuleService ruleService)voidsetVersionService(VersionService versionService)Set the version service
-
-
-
Method Detail
-
setBehaviourFilter
public void setBehaviourFilter(BehaviourFilter behaviourFilter)
- Parameters:
behaviourFilter- the behaviourFilter to set
-
setNodeService
public void setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
Set the node service
-
setVersionService
public void setVersionService(VersionService versionService)
Set the version service
-
setOwnableService
public void setOwnableService(OwnableService ownableService)
Set the ownable service
-
setLockService
public void setLockService(LockService lockService)
Sets the lock service
-
setCopyService
public void setCopyService(CopyService copyService)
Sets the copy service
-
setAuthenticationService
public void setAuthenticationService(AuthenticationService authenticationService)
Sets the authentication service
-
setFileFolderService
public void setFileFolderService(FileFolderService fileFolderService)
Set the file folder service
-
setPolicyComponent
public void setPolicyComponent(PolicyComponent policyComponent)
- Parameters:
policyComponent- policy component
-
setRuleService
public void setRuleService(RuleService ruleService)
- Parameters:
ruleService- rule service
-
init
public void init()
Initialise method
-
checkout
public org.alfresco.service.cmr.repository.NodeRef checkout(org.alfresco.service.cmr.repository.NodeRef nodeRef)
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:
CheckOutCheckInService.checkout(NodeRef, NodeRef, QName, QName)
-
checkout
public org.alfresco.service.cmr.repository.NodeRef checkout(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.cmr.repository.NodeRef destinationParentNodeRef, org.alfresco.service.namespace.QName destinationAssocTypeQName, org.alfresco.service.namespace.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
public org.alfresco.service.cmr.repository.NodeRef checkin(org.alfresco.service.cmr.repository.NodeRef workingCopyNodeRef, java.util.Map<java.lang.String,java.io.Serializable> versionProperties)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 org.alfresco.service.cmr.repository.NodeRef checkin(org.alfresco.service.cmr.repository.NodeRef workingCopyNodeRef, java.util.Map<java.lang.String,java.io.Serializable> versionProperties, java.lang.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 org.alfresco.service.cmr.repository.NodeRef checkin(org.alfresco.service.cmr.repository.NodeRef workingCopyNodeRef, java.util.Map<java.lang.String,java.io.Serializable> versionProperties, java.lang.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
public org.alfresco.service.cmr.repository.NodeRef cancelCheckout(org.alfresco.service.cmr.repository.NodeRef workingCopyNodeRef)
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
public org.alfresco.service.cmr.repository.NodeRef getWorkingCopy(org.alfresco.service.cmr.repository.NodeRef nodeRef)
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
public org.alfresco.service.cmr.repository.NodeRef getCheckedOut(org.alfresco.service.cmr.repository.NodeRef nodeRef)
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
public boolean isWorkingCopy(org.alfresco.service.cmr.repository.NodeRef nodeRef)
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
public boolean isCheckedOut(org.alfresco.service.cmr.repository.NodeRef nodeRef)
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
public static java.lang.String createWorkingCopyName(java.lang.String name, java.lang.String workingCopyLabel)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
public static java.lang.String getWorkingCopyLabel()
Get the working copy label.- Returns:
- the working copy label
-
getTrait
public <T extends Trait> ExtendedTrait<T> getTrait(java.lang.Class<? extends T> traitAPI)
- Specified by:
getTraitin interfaceExtensible
-
-