Package org.alfresco.repo.transfer
Class AlienProcessorImpl
- java.lang.Object
-
- org.alfresco.repo.transfer.AlienProcessorImpl
-
- All Implemented Interfaces:
AlienProcessor
public class AlienProcessorImpl extends java.lang.Object implements AlienProcessor
Class to encapsulate the behaviour of "Alien" nodes.
-
-
Constructor Summary
Constructors Constructor Description AlienProcessorImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterMoveAlien(org.alfresco.service.cmr.repository.ChildAssociationRef newAssocRef)Called when an alien node has been moved from one parent to another.voidbeforeDeleteAlien(org.alfresco.service.cmr.repository.NodeRef deletedNodeRef, org.alfresco.service.cmr.repository.ChildAssociationRef oldAssoc)Called before deleting an alien node.BehaviourFiltergetBehaviourFilter()DescriptorServicegetDescriptorService()org.alfresco.service.cmr.dictionary.DictionaryServicegetDictionaryService()org.alfresco.service.cmr.repository.NodeServicegetNodeService()voidinit()booleanisAlien(org.alfresco.service.cmr.repository.NodeRef nodeRef)Has the node been invaded by aliens ?protected voidlogInvasionHierarchy(org.alfresco.service.cmr.repository.NodeRef parentRef, org.alfresco.service.cmr.repository.NodeRef childRef)Puts information about currentchildRefand itsparentRefinto log in TRACE level.voidonCreateChild(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef, java.lang.String repositoryId, boolean isNewNode)Called before creating a child of a transferred node.voidpruneNode(org.alfresco.service.cmr.repository.NodeRef nodeToPrune, java.lang.String fromRepositoryId)Prune the given node of aliens from the specified repositoryId.voidsetBehaviourFilter(BehaviourFilter behaviourFilter)voidsetDescriptorService(DescriptorService descriptorService)voidsetDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)voidsetNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
-
-
-
Method Detail
-
init
public void init()
-
onCreateChild
public void onCreateChild(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef, java.lang.String repositoryId, boolean isNewNode)Description copied from interface:AlienProcessorCalled before creating a child of a transferred node.When a new node is created as a child of a Transferred or Alien node then the new node needs to be marked as an alien.
Then the tree needs to be walked upwards to mark all parent transferred nodes as alien.
- Specified by:
onCreateChildin interfaceAlienProcessor- Parameters:
childAssocRef- the association ref to the new noderepositoryId- - the repositoryId of the system who owns the new node.isNewNode- - is this a new nide
-
logInvasionHierarchy
protected void logInvasionHierarchy(org.alfresco.service.cmr.repository.NodeRef parentRef, org.alfresco.service.cmr.repository.NodeRef childRef)Puts information about currentchildRefand itsparentRefinto log in TRACE level. Information includes 'name', 'fromRepositoryId', 'aliened' and 'invadedBy' properties. Additionally, collects the same information for children ofchildRef- Parameters:
parentRef- -NodeRefinstance of child nodechildRef- -NodeRefinstance of parent of thechildRef
-
beforeDeleteAlien
public void beforeDeleteAlien(org.alfresco.service.cmr.repository.NodeRef deletedNodeRef, org.alfresco.service.cmr.repository.ChildAssociationRef oldAssoc)Description copied from interface:AlienProcessorCalled before deleting an alien node.The tree needs to be walked upwards to take account of the removed alien node.
- Specified by:
beforeDeleteAlienin interfaceAlienProcessor- Parameters:
deletedNodeRef- node about to be deletedoldAssoc- null if the deleted node is still "in place" and readable else the old ref prior to the node being moved.
-
afterMoveAlien
public void afterMoveAlien(org.alfresco.service.cmr.repository.ChildAssociationRef newAssocRef)
Description copied from interface:AlienProcessorCalled when an alien node has been moved from one parent to another.If the new parent is transferred or alien may make the new parent an alien.
The alien node may also stop being an alien node.
- Specified by:
afterMoveAlienin interfaceAlienProcessor
-
isAlien
public boolean isAlien(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Description copied from interface:AlienProcessorHas the node been invaded by aliens ?- Specified by:
isAlienin interfaceAlienProcessor- Parameters:
nodeRef- the node to check- Returns:
- true the node has been invaded by aliens.
-
pruneNode
public void pruneNode(org.alfresco.service.cmr.repository.NodeRef nodeToPrune, java.lang.String fromRepositoryId)Description copied from interface:AlienProcessorPrune the given node of aliens from the specified repositoryId.So any children that are only invaded by the specified repository are deleted.
Folders which are invaded by more than one repository will remain.
- Specified by:
pruneNodein interfaceAlienProcessor- Parameters:
nodeToPrune- the root to prunefromRepositoryId- the repositoryId to prune.
-
setNodeService
public void setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
-
getNodeService
public org.alfresco.service.cmr.repository.NodeService getNodeService()
-
setBehaviourFilter
public void setBehaviourFilter(BehaviourFilter behaviourFilter)
-
getBehaviourFilter
public BehaviourFilter getBehaviourFilter()
-
setDictionaryService
public void setDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
-
getDictionaryService
public org.alfresco.service.cmr.dictionary.DictionaryService getDictionaryService()
-
setDescriptorService
public void setDescriptorService(DescriptorService descriptorService)
-
getDescriptorService
public DescriptorService getDescriptorService()
-
-