Class BecpgCopyServiceImpl
- All Implemented Interfaces:
org.alfresco.service.cmr.repository.CopyService
BecpgCopyServiceImpl class.
- Version:
- $Id: $Id
- Author:
- matthieu
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classcm:folder behaviourNested classes/interfaces inherited from class org.alfresco.repo.copy.AbstractBaseCopyService
org.alfresco.repo.copy.AbstractBaseCopyService.AssociationCopyInfoNested classes/interfaces inherited from interface org.alfresco.service.cmr.repository.CopyService
org.alfresco.service.cmr.repository.CopyService.CopyInfo -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate org.alfresco.repo.policy.ClassPolicyDelegate<org.alfresco.repo.copy.CopyServicePolicies.BeforeCopyPolicy>private org.alfresco.repo.policy.BehaviourFilterprivate org.alfresco.util.registry.NamedObjectRegistry<org.alfresco.query.CannedQueryFactory<org.alfresco.service.cmr.repository.CopyService.CopyInfo>>private org.alfresco.repo.node.ContentPropertyRestrictionInterceptorprivate static final Stringprivate EntityDictionaryServiceprivate org.alfresco.service.cmr.repository.NodeServiceprivate static final Stringprivate static org.apache.commons.logging.Logprivate org.alfresco.service.cmr.repository.NodeServiceprivate org.alfresco.repo.policy.ClassPolicyDelegate<org.alfresco.repo.copy.CopyServicePolicies.OnCopyCompletePolicy>private org.alfresco.repo.policy.ClassPolicyDelegate<org.alfresco.repo.copy.CopyServicePolicies.OnCopyNodePolicy>private org.alfresco.service.cmr.security.PermissionServiceprivate org.alfresco.repo.policy.PolicyComponentprivate org.alfresco.service.cmr.security.PublicServiceAccessServiceprivate static final Stringprivate org.alfresco.service.cmr.rule.RuleServiceprivate SystemConfigurationService -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbeforeDeleteOriginalAssociation(org.alfresco.service.cmr.repository.AssociationRef nodeAssocRef) Callback behaviour for the 'original' assoc ('copiedfrom' aspect).private Map<org.alfresco.service.namespace.QName,Serializable> buildCopyProperties(org.alfresco.repo.copy.CopyDetails copyDetails, Set<org.alfresco.service.namespace.QName> classQNames, Map<org.alfresco.service.namespace.QName, org.alfresco.repo.copy.CopyBehaviourCallback> callbacks) Constructs the properties to copy that apply to the type and default aspectsvoidcopy(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetNodeRef) Defer to the standard implementation with copyChildren set to falseorg.alfresco.service.cmr.repository.NodeRefcopy(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetParentNodeRef, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName) Defer to the standard implementation with copyChildren set to falseorg.alfresco.service.cmr.repository.NodeRefcopy(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetParentRef, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName, boolean copyChildren) org.alfresco.service.cmr.repository.NodeRefcopyAndRename(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef destinationParent, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName, boolean copyChildren) private voidcopyAspects(org.alfresco.repo.copy.CopyDetails copyDetails, org.alfresco.service.cmr.repository.NodeRef targetNodeRef, Set<org.alfresco.service.namespace.QName> aspectsToIgnore, Map<org.alfresco.service.namespace.QName, org.alfresco.repo.copy.CopyBehaviourCallback> callbacks) Copies aspects from the source to the target node.private voidcopyChildren(org.alfresco.repo.copy.CopyDetails copyDetails, org.alfresco.service.cmr.repository.NodeRef copyTarget, boolean copyTargetIsNew, boolean copyChildren, Map<org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.repository.NodeRef> copiesByOriginals, Set<org.alfresco.service.cmr.repository.NodeRef> copies, Map<org.alfresco.service.namespace.QName, org.alfresco.repo.copy.CopyBehaviourCallback> callbacks) private voidcopyChildren(org.alfresco.repo.copy.CopyDetails copyDetails, org.alfresco.service.namespace.QName classQName, org.alfresco.service.cmr.repository.NodeRef copyTarget, boolean copyTargetIsNew, boolean copyChildren, Map<org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.repository.NodeRef> copiesByOriginals, Set<org.alfresco.service.cmr.repository.NodeRef> copies, Map<org.alfresco.service.namespace.QName, org.alfresco.repo.copy.CopyBehaviourCallback> callbacks) private org.alfresco.service.cmr.repository.NodeRefcopyImpl(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetParentRef, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName, boolean copyChildren, boolean dropName, Map<org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.repository.NodeRef> copiesByOriginals, Set<org.alfresco.service.cmr.repository.NodeRef> copies) private voidcopyPendingAssociations(Map<org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.repository.NodeRef> copiedNodeRefs) Copy any remaining associations that could not be copied or ignored during the copy process.private voidcopyPermissions(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef destinationNodeRef) Copies the permissions of the source node reference onto the destination node referenceprivate voidcopyProperties(org.alfresco.repo.copy.CopyDetails copyDetails, org.alfresco.service.cmr.repository.NodeRef targetNodeRef, org.alfresco.service.namespace.QName classQName, Map<org.alfresco.service.namespace.QName, org.alfresco.repo.copy.CopyBehaviourCallback> callbacks) Copies the properties for the node type or aspect onto the destination node.private voidcopyResidualProperties(org.alfresco.repo.copy.CopyDetails copyDetails, org.alfresco.service.cmr.repository.NodeRef targetNodeRef) Copy properties that do not belong to the source node's type or any of the aspects.private org.alfresco.repo.copy.CopyBehaviourCallbackgetCallback(org.alfresco.service.namespace.QName sourceClassQName, org.alfresco.repo.copy.CopyDetails copyDetails) org.alfresco.repo.copy.CopyBehaviourCallbackgetCallbackForCopiedFromAspect(org.alfresco.service.namespace.QName classRef, org.alfresco.repo.copy.CopyDetails copyDetails) Callback behaviour retrieval for the 'copiedfrom' aspect.org.alfresco.repo.copy.CopyBehaviourCallbackgetCallbackForFolderType(org.alfresco.service.namespace.QName classRef, org.alfresco.repo.copy.CopyDetails copyDetails) Callback behaviour retrieval forContentModel.TYPE_FOLDERaspect.org.alfresco.repo.copy.CopyBehaviourCallbackgetCallbackForOwnableAspect(org.alfresco.service.namespace.QName classRef, org.alfresco.repo.copy.CopyDetails copyDetails) Callback behaviour retrieval for the 'ownable' aspect.private Map<org.alfresco.service.namespace.QName,org.alfresco.repo.copy.CopyBehaviourCallback> getCallbacks(org.alfresco.repo.copy.CopyDetails copyDetails) List<org.alfresco.service.cmr.repository.NodeRef>getCopies(org.alfresco.service.cmr.repository.NodeRef nodeRef) org.alfresco.query.PagingResults<org.alfresco.service.cmr.repository.CopyService.CopyInfo>getCopies(org.alfresco.service.cmr.repository.NodeRef originalNodeRef, org.alfresco.query.PagingRequest pagingRequest) org.alfresco.query.PagingResults<org.alfresco.service.cmr.repository.CopyService.CopyInfo>getCopies(org.alfresco.service.cmr.repository.NodeRef originalNodeRef, org.alfresco.service.cmr.repository.NodeRef copyParentNodeRef, org.alfresco.query.PagingRequest pagingRequest) private org.alfresco.repo.copy.CopyDetailsgetCopyDetails(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetParentNodeRef, org.alfresco.service.cmr.repository.NodeRef targetNodeRef, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName) Gets the copy details.private Set<org.alfresco.service.namespace.QName>getDefaultAspects(org.alfresco.service.namespace.QName sourceNodeTypeQName) org.alfresco.service.cmr.repository.NodeRefgetOriginal(org.alfresco.service.cmr.repository.NodeRef nodeRef) getTopLevelNodeNewName(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetParentRef, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName) Determines if top-level node name will be changed during copy according to policies.voidinit()Initialise methodprivate voidinvokeBeforeCopy(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetNodeRef) Invokes the before copy policy for the node reference providedprivate voidinvokeBeforeCopy(org.alfresco.service.namespace.QName typeQName, org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetNodeRef) private voidinvokeCopyComplete(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetNodeRef, boolean copyToNewNode, Map<org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.repository.NodeRef> copiedNodeRefs) Invokes the copy complete policy for the node reference providedprivate voidinvokeCopyComplete(org.alfresco.service.namespace.QName typeQName, org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetNodeRef, boolean copyToNewNode, Map<org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.repository.NodeRef> copiedNodeRefs) private booleanisExcludeTypes(org.alfresco.service.namespace.QName sourceClassQName) private org.alfresco.service.cmr.repository.NodeRefrecursiveCopy(org.alfresco.repo.copy.CopyDetails copyDetails, boolean copyChildren, boolean dropName, Map<org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.repository.NodeRef> copiesByOriginal, Set<org.alfresco.service.cmr.repository.NodeRef> copies, Map<org.alfresco.service.namespace.QName, org.alfresco.repo.copy.CopyBehaviourCallback> callbacks) Recursive copy algorithmvoidsetBehaviourFilter(org.alfresco.repo.policy.BehaviourFilter behaviourFilter) Setter for the fieldbehaviourFilter.voidsetCannedQueryRegistry(org.alfresco.util.registry.NamedObjectRegistry<org.alfresco.query.CannedQueryFactory<org.alfresco.service.cmr.repository.CopyService.CopyInfo>> cannedQueryRegistry) Setter for the fieldcannedQueryRegistry.voidsetContentPropertyRestrictionInterceptor(org.alfresco.repo.node.ContentPropertyRestrictionInterceptor contentPropertyRestrictionInterceptor) Setter for the fieldcontentPropertyRestrictionInterceptor.voidsetDictionaryService(EntityDictionaryService dictionaryService) Setter for the fielddictionaryService.voidsetInternalNodeService(org.alfresco.service.cmr.repository.NodeService internalNodeService) Setter for the fieldinternalNodeService.voidsetNodeService(org.alfresco.service.cmr.repository.NodeService nodeService) Setter for the fieldnodeService.voidsetPermissionService(org.alfresco.service.cmr.security.PermissionService permissionService) Setter for the fieldpermissionService.voidsetPolicyComponent(org.alfresco.repo.policy.PolicyComponent policyComponent) Setter for the fieldpolicyComponent.voidsetPublicServiceAccessService(org.alfresco.service.cmr.security.PublicServiceAccessService publicServiceAccessService) Setter for the fieldpublicServiceAccessService.voidsetRuleService(org.alfresco.service.cmr.rule.RuleService ruleService) Setter for the fieldruleService.voidsetSystemConfigurationService(SystemConfigurationService systemConfigurationService) Setter for the fieldsystemConfigurationService.private StringMethods inherited from class org.alfresco.repo.copy.AbstractBaseCopyService
getAssociationCopyInfo, getSystemNamespaces, setSystemNamespaces
-
Field Details
-
logger
private static org.apache.commons.logging.Log logger -
QUERY_FACTORY_GET_COPIES
- See Also:
-
COPY_OF_LABEL
- See Also:
-
nodeService
private org.alfresco.service.cmr.repository.NodeService nodeService -
internalNodeService
private org.alfresco.service.cmr.repository.NodeService internalNodeService -
cannedQueryRegistry
private org.alfresco.util.registry.NamedObjectRegistry<org.alfresco.query.CannedQueryFactory<org.alfresco.service.cmr.repository.CopyService.CopyInfo>> cannedQueryRegistry -
dictionaryService
-
policyComponent
private org.alfresco.repo.policy.PolicyComponent policyComponent -
behaviourFilter
private org.alfresco.repo.policy.BehaviourFilter behaviourFilter -
ruleService
private org.alfresco.service.cmr.rule.RuleService ruleService -
permissionService
private org.alfresco.service.cmr.security.PermissionService permissionService -
publicServiceAccessService
private org.alfresco.service.cmr.security.PublicServiceAccessService publicServiceAccessService -
contentPropertyRestrictionInterceptor
private org.alfresco.repo.node.ContentPropertyRestrictionInterceptor contentPropertyRestrictionInterceptor -
systemConfigurationService
-
onCopyNodeDelegate
private org.alfresco.repo.policy.ClassPolicyDelegate<org.alfresco.repo.copy.CopyServicePolicies.OnCopyNodePolicy> onCopyNodeDelegate -
onCopyCompleteDelegate
private org.alfresco.repo.policy.ClassPolicyDelegate<org.alfresco.repo.copy.CopyServicePolicies.OnCopyCompletePolicy> onCopyCompleteDelegate -
beforeCopyDelegate
private org.alfresco.repo.policy.ClassPolicyDelegate<org.alfresco.repo.copy.CopyServicePolicies.BeforeCopyPolicy> beforeCopyDelegate -
KEY_POST_COPY_ASSOCS
- See Also:
-
-
Constructor Details
-
BecpgCopyServiceImpl
public BecpgCopyServiceImpl()Constructor for BecpgCopyServiceImpl.
-
-
Method Details
-
typesToReset
-
setContentPropertyRestrictionInterceptor
public void setContentPropertyRestrictionInterceptor(org.alfresco.repo.node.ContentPropertyRestrictionInterceptor contentPropertyRestrictionInterceptor) Setter for the field
contentPropertyRestrictionInterceptor.- Parameters:
contentPropertyRestrictionInterceptor- aContentPropertyRestrictionInterceptorobject.
-
setSystemConfigurationService
Setter for the field
systemConfigurationService.- Parameters:
systemConfigurationService- aSystemConfigurationServiceobject
-
setNodeService
public void setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService) Setter for the field
nodeService.- Parameters:
nodeService- the node service
-
setInternalNodeService
public void setInternalNodeService(org.alfresco.service.cmr.repository.NodeService internalNodeService) Setter for the field
internalNodeService.- Parameters:
internalNodeService- the internal node service
-
setCannedQueryRegistry
public void setCannedQueryRegistry(org.alfresco.util.registry.NamedObjectRegistry<org.alfresco.query.CannedQueryFactory<org.alfresco.service.cmr.repository.CopyService.CopyInfo>> cannedQueryRegistry) Setter for the field
cannedQueryRegistry.- Parameters:
cannedQueryRegistry- aNamedObjectRegistryobject.
-
setDictionaryService
Setter for the field
dictionaryService.- Parameters:
dictionaryService- aEntityDictionaryServiceobject.
-
setPolicyComponent
public void setPolicyComponent(org.alfresco.repo.policy.PolicyComponent policyComponent) Setter for the field
policyComponent.- Parameters:
policyComponent- the policy component
-
setBehaviourFilter
public void setBehaviourFilter(org.alfresco.repo.policy.BehaviourFilter behaviourFilter) Setter for the field
behaviourFilter.- Parameters:
behaviourFilter- used to disable specific behaviours while doing background tasks
-
setRuleService
public void setRuleService(org.alfresco.service.cmr.rule.RuleService ruleService) Setter for the field
ruleService.- Parameters:
ruleService- the rule service
-
setPermissionService
public void setPermissionService(org.alfresco.service.cmr.security.PermissionService permissionService) Setter for the field
permissionService.- Parameters:
permissionService- the permissionService to set
-
setPublicServiceAccessService
public void setPublicServiceAccessService(org.alfresco.service.cmr.security.PublicServiceAccessService publicServiceAccessService) Setter for the field
publicServiceAccessService.- Parameters:
publicServiceAccessService- the publicServiceAccessService to set
-
init
public void init()Initialise method -
copy
public org.alfresco.service.cmr.repository.NodeRef copy(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetParentRef, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName, boolean copyChildren) - Specified by:
copyin interfaceorg.alfresco.service.cmr.repository.CopyService
-
copyAndRename
public org.alfresco.service.cmr.repository.NodeRef copyAndRename(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef destinationParent, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName, boolean copyChildren) - Specified by:
copyAndRenamein interfaceorg.alfresco.service.cmr.repository.CopyService
-
copy
public org.alfresco.service.cmr.repository.NodeRef copy(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetParentNodeRef, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName) Defer to the standard implementation with copyChildren set to false- Specified by:
copyin interfaceorg.alfresco.service.cmr.repository.CopyService
-
copy
public void copy(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetNodeRef) Defer to the standard implementation with copyChildren set to false- Specified by:
copyin interfaceorg.alfresco.service.cmr.repository.CopyService
-
getOriginal
public org.alfresco.service.cmr.repository.NodeRef getOriginal(org.alfresco.service.cmr.repository.NodeRef nodeRef) - Specified by:
getOriginalin interfaceorg.alfresco.service.cmr.repository.CopyService
-
getCopies
public List<org.alfresco.service.cmr.repository.NodeRef> getCopies(org.alfresco.service.cmr.repository.NodeRef nodeRef) - Specified by:
getCopiesin interfaceorg.alfresco.service.cmr.repository.CopyService
-
getCopies
public org.alfresco.query.PagingResults<org.alfresco.service.cmr.repository.CopyService.CopyInfo> getCopies(org.alfresco.service.cmr.repository.NodeRef originalNodeRef, org.alfresco.query.PagingRequest pagingRequest) - Specified by:
getCopiesin interfaceorg.alfresco.service.cmr.repository.CopyService
-
getCopies
public org.alfresco.query.PagingResults<org.alfresco.service.cmr.repository.CopyService.CopyInfo> getCopies(org.alfresco.service.cmr.repository.NodeRef originalNodeRef, org.alfresco.service.cmr.repository.NodeRef copyParentNodeRef, org.alfresco.query.PagingRequest pagingRequest) - Specified by:
getCopiesin interfaceorg.alfresco.service.cmr.repository.CopyService
-
copyImpl
private org.alfresco.service.cmr.repository.NodeRef copyImpl(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetParentRef, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName, boolean copyChildren, boolean dropName, Map<org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.repository.NodeRef> copiesByOriginals, Set<org.alfresco.service.cmr.repository.NodeRef> copies) - Returns:
- Returns null if the node was denied a copy
-
recursiveCopy
private org.alfresco.service.cmr.repository.NodeRef recursiveCopy(org.alfresco.repo.copy.CopyDetails copyDetails, boolean copyChildren, boolean dropName, Map<org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.repository.NodeRef> copiesByOriginal, Set<org.alfresco.service.cmr.repository.NodeRef> copies, Map<org.alfresco.service.namespace.QName, org.alfresco.repo.copy.CopyBehaviourCallback> callbacks) Recursive copy algorithm- Parameters:
dropName- drop the name property when associations don't allow duplicately named children
-
getDefaultAspects
private Set<org.alfresco.service.namespace.QName> getDefaultAspects(org.alfresco.service.namespace.QName sourceNodeTypeQName) -
buildCopyProperties
private Map<org.alfresco.service.namespace.QName,Serializable> buildCopyProperties(org.alfresco.repo.copy.CopyDetails copyDetails, Set<org.alfresco.service.namespace.QName> classQNames, Map<org.alfresco.service.namespace.QName, org.alfresco.repo.copy.CopyBehaviourCallback> callbacks) Constructs the properties to copy that apply to the type and default aspects -
invokeBeforeCopy
private void invokeBeforeCopy(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetNodeRef) Invokes the before copy policy for the node reference provided- Parameters:
sourceNodeRef- the source node referencetargetNodeRef- the destination node reference
-
invokeBeforeCopy
private void invokeBeforeCopy(org.alfresco.service.namespace.QName typeQName, org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetNodeRef) -
invokeCopyComplete
private void invokeCopyComplete(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetNodeRef, boolean copyToNewNode, Map<org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.repository.NodeRef> copiedNodeRefs) Invokes the copy complete policy for the node reference provided- Parameters:
sourceNodeRef- the source node referencetargetNodeRef- the destination node referencecopiedNodeRefs- the map of copied node references
-
invokeCopyComplete
private void invokeCopyComplete(org.alfresco.service.namespace.QName typeQName, org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetNodeRef, boolean copyToNewNode, Map<org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.repository.NodeRef> copiedNodeRefs) -
copyPendingAssociations
private void copyPendingAssociations(Map<org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.repository.NodeRef> copiedNodeRefs) Copy any remaining associations that could not be copied or ignored during the copy process. See ALF-958: Target associations aren't copied. -
copyPermissions
private void copyPermissions(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef destinationNodeRef) Copies the permissions of the source node reference onto the destination node reference- Parameters:
sourceNodeRef- the source node referencedestinationNodeRef- the destination node reference
-
getCopyDetails
private org.alfresco.repo.copy.CopyDetails getCopyDetails(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetParentNodeRef, org.alfresco.service.cmr.repository.NodeRef targetNodeRef, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName) Gets the copy details. This calls the appropriate policies that have been registered against the node and aspect types in order to pick-up any type specific copy behaviour.The full
NodeServiceis used for property retrieval. After this, read permission can be assumed to have passed on the source node - at least w.r.t. properties and aspects.NOTE: If a target node is not supplied, then one is created in the same store as the target parent node. This allows behavioural code always know which node will be copied to, even if the node does not exist.
-
getCallbacks
private Map<org.alfresco.service.namespace.QName,org.alfresco.repo.copy.CopyBehaviourCallback> getCallbacks(org.alfresco.repo.copy.CopyDetails copyDetails) - Returns:
- Returns a map of all the copy behaviours keyed by type and aspect qualified names
-
getCallback
private org.alfresco.repo.copy.CopyBehaviourCallback getCallback(org.alfresco.service.namespace.QName sourceClassQName, org.alfresco.repo.copy.CopyDetails copyDetails) - Returns:
- Returns the copy callback for the given criteria
-
copyProperties
private void copyProperties(org.alfresco.repo.copy.CopyDetails copyDetails, org.alfresco.service.cmr.repository.NodeRef targetNodeRef, org.alfresco.service.namespace.QName classQName, Map<org.alfresco.service.namespace.QName, org.alfresco.repo.copy.CopyBehaviourCallback> callbacks) Copies the properties for the node type or aspect onto the destination node. -
isExcludeTypes
private boolean isExcludeTypes(org.alfresco.service.namespace.QName sourceClassQName) -
copyResidualProperties
private void copyResidualProperties(org.alfresco.repo.copy.CopyDetails copyDetails, org.alfresco.service.cmr.repository.NodeRef targetNodeRef) Copy properties that do not belong to the source node's type or any of the aspects. -
copyAspects
private void copyAspects(org.alfresco.repo.copy.CopyDetails copyDetails, org.alfresco.service.cmr.repository.NodeRef targetNodeRef, Set<org.alfresco.service.namespace.QName> aspectsToIgnore, Map<org.alfresco.service.namespace.QName, org.alfresco.repo.copy.CopyBehaviourCallback> callbacks) Copies aspects from the source to the target node. -
copyChildren
private void copyChildren(org.alfresco.repo.copy.CopyDetails copyDetails, org.alfresco.service.cmr.repository.NodeRef copyTarget, boolean copyTargetIsNew, boolean copyChildren, Map<org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.repository.NodeRef> copiesByOriginals, Set<org.alfresco.service.cmr.repository.NodeRef> copies, Map<org.alfresco.service.namespace.QName, org.alfresco.repo.copy.CopyBehaviourCallback> callbacks) - Parameters:
copyChildren- false if the client selected not to recurse
-
copyChildren
private void copyChildren(org.alfresco.repo.copy.CopyDetails copyDetails, org.alfresco.service.namespace.QName classQName, org.alfresco.service.cmr.repository.NodeRef copyTarget, boolean copyTargetIsNew, boolean copyChildren, Map<org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.repository.NodeRef> copiesByOriginals, Set<org.alfresco.service.cmr.repository.NodeRef> copies, Map<org.alfresco.service.namespace.QName, org.alfresco.repo.copy.CopyBehaviourCallback> callbacks) - Parameters:
copyChildren- false if the client selected not to recurse
-
beforeDeleteOriginalAssociation
public void beforeDeleteOriginalAssociation(org.alfresco.service.cmr.repository.AssociationRef nodeAssocRef) Callback behaviour for the 'original' assoc ('copiedfrom' aspect).- Parameters:
nodeAssocRef- aAssociationRefobject.
-
getCallbackForCopiedFromAspect
public org.alfresco.repo.copy.CopyBehaviourCallback getCallbackForCopiedFromAspect(org.alfresco.service.namespace.QName classRef, org.alfresco.repo.copy.CopyDetails copyDetails) Callback behaviour retrieval for the 'copiedfrom' aspect.- Parameters:
classRef- aQNameobject.copyDetails- aCopyDetailsobject.- Returns:
- Returns
DoNothingCopyBehaviourCallbackalways
-
getCallbackForFolderType
public org.alfresco.repo.copy.CopyBehaviourCallback getCallbackForFolderType(org.alfresco.service.namespace.QName classRef, org.alfresco.repo.copy.CopyDetails copyDetails) Callback behaviour retrieval forContentModel.TYPE_FOLDERaspect.- Parameters:
classRef- aQNameobject.copyDetails- aCopyDetailsobject.- Returns:
- Returns FolderTypeCopyBehaviourCallback.INSTANCE
-
getCallbackForOwnableAspect
public org.alfresco.repo.copy.CopyBehaviourCallback getCallbackForOwnableAspect(org.alfresco.service.namespace.QName classRef, org.alfresco.repo.copy.CopyDetails copyDetails) Callback behaviour retrieval for the 'ownable' aspect.- Parameters:
classRef- aQNameobject.copyDetails- aCopyDetailsobject.- Returns:
- Returns
DoNothingCopyBehaviourCallbackalways
-
getTopLevelNodeNewName
public String getTopLevelNodeNewName(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetParentRef, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName) Determines if top-level node name will be changed during copy according to policies.- Specified by:
getTopLevelNodeNewNamein interfaceorg.alfresco.service.cmr.repository.CopyService
-