Package org.alfresco.repo.node.archive
Class NodeArchiveServiceImpl
java.lang.Object
org.alfresco.repo.node.archive.NodeArchiveServiceImpl
- All Implemented Interfaces:
NodeArchiveService
Implementation of the node archive abstraction.
- Author:
- Derek Hulley, Jamal Kaabi-Mofrad
-
Field Summary
FieldsFields inherited from interface org.alfresco.repo.node.archive.NodeArchiveService
QNAME_ARCHIVED_ITEM -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetArchivedNode(NodeRef originalNodeRef) Get the likely node reference for the original node.getStoreArchiveNode(StoreRef originalStoreRef) Get the parent node that holds all nodes archived from the given store.getTypeAndAspectQNames(NodeRef nodeRef) Get all aspect and node type qualified namesprotected booleanhasAdminAccess(String userID) booleanhasFullAccess(NodeRef nodeRef) Check if the current user has authority to access the archived node.voidinit()protected voidinvokeBeforePurgeNode(NodeRef nodeRef) protected voidinvokeBeforeRestoreArchivedNode(NodeRef nodeRef) protected voidinvokeOnRestoreArchivedNode(NodeRef nodeRef) org.alfresco.query.PagingResults<NodeRef>listArchivedNodes(ArchivedNodesCannedQueryBuilder cannedQueryBuilder) Get the archived nodes deleted by the current user.voidpurgeAllArchivedNodes(StoreRef originalStoreRef) Uses batch processing and job locking to purge all archived nodesvoidpurgeArchivedNode(NodeRef archivedNodeRef) This is the primary purge methd that all purge methods fall back on.voidpurgeArchivedNodes(List<NodeRef> archivedNodes) Permanently delete the archived nodes.restoreArchivedNode(NodeRef archivedNodeRef) Attempt to restore the given archived node into its original location.restoreArchivedNode(NodeRef archivedNodeRef, NodeRef destinationNodeRef, QName assocTypeQName, QName assocQName) This is the primary restore method that allrestoremethods fall back on.restoreArchivedNodes(List<NodeRef> archivedNodeRefs) Attempt to restore a list of archived nodes into their original locations, using the original association types and names.restoreArchivedNodes(List<NodeRef> archivedNodeRefs, NodeRef destinationNodeRef, QName assocTypeQName, QName assocQName) Attempt to restore a list of archived nodes into a new location.voidsetAuthorityService(AuthorityService authorityService) voidsetCannedQueryRegistry(org.alfresco.util.registry.NamedObjectRegistry<org.alfresco.query.CannedQueryFactory<ArchivedNodeEntity>> cannedQueryRegistry) voidsetJobLockService(JobLockService jobLockService) voidsetNodeService(NodeService nodeService) voidsetPermissionService(PermissionService permissionService) voidsetPolicyComponent(PolicyComponent policyComponent) voidsetTenantService(TenantService tenantService) voidsetTransactionService(TransactionService transactionService) voidsetUserNamesAreCaseSensitive(boolean userNamesAreCaseSensitive)
-
Field Details
-
nodeService
-
-
Constructor Details
-
NodeArchiveServiceImpl
public NodeArchiveServiceImpl()
-
-
Method Details
-
setPolicyComponent
-
setNodeService
-
setPermissionService
-
setTransactionService
-
getStoreArchiveNode
Description copied from interface:NodeArchiveServiceGet the parent node that holds all nodes archived from the given store.- Specified by:
getStoreArchiveNodein interfaceNodeArchiveService- Parameters:
originalStoreRef- the original store of the archived nodes. This is the store where the currently archived nodes could originally be found.- Returns:
- Returns the parent of the archived nodes, or null if archiving is not configured for the store
-
setJobLockService
-
init
public void init() -
setAuthorityService
-
setCannedQueryRegistry
public void setCannedQueryRegistry(org.alfresco.util.registry.NamedObjectRegistry<org.alfresco.query.CannedQueryFactory<ArchivedNodeEntity>> cannedQueryRegistry) -
setTenantService
-
setUserNamesAreCaseSensitive
public void setUserNamesAreCaseSensitive(boolean userNamesAreCaseSensitive) -
getArchivedNode
Description copied from interface:NodeArchiveServiceGet the likely node reference for the original node. There is no guarantee that the node exists in the archive store.- Specified by:
getArchivedNodein interfaceNodeArchiveService- Parameters:
originalNodeRef- the original node reference- Returns:
- Returns the node ref of the node if it was archived.
-
restoreArchivedNode
public RestoreNodeReport restoreArchivedNode(NodeRef archivedNodeRef, NodeRef destinationNodeRef, QName assocTypeQName, QName assocQName) This is the primary restore method that allrestoremethods fall back on. It executes the restore for the node in a separate transaction and attempts to catch the known conditions that can be reported back to the client.- Specified by:
restoreArchivedNodein interfaceNodeArchiveService- Parameters:
archivedNodeRef- the node's reference in the archive. This must be valid.destinationNodeRef- the parent of the restored node, or null to use the original parent node referenceassocTypeQName- the type of the primary association to link the restored node to the destination parent, or null to use the orginal association typeassocQName- the name of the primary association to be created, or null to use the original association name- Returns:
- Returns the results of the restore operation
-
restoreArchivedNode
Description copied from interface:NodeArchiveServiceAttempt to restore the given archived node into its original location.TRANSACTIONS: This method will execute in a new transaction.
- Specified by:
restoreArchivedNodein interfaceNodeArchiveService- Parameters:
archivedNodeRef- the node's reference in the archive- Returns:
- Returns the results of the restore operation
- See Also:
-
restoreArchivedNodes
Description copied from interface:NodeArchiveServiceAttempt to restore a list of archived nodes into their original locations, using the original association types and names.TRANSACTIONS: This method will execute in a new transaction.
- Specified by:
restoreArchivedNodesin interfaceNodeArchiveService- Parameters:
archivedNodeRefs- the nodes' references in the archive. These must be valid.- Returns:
- Returns the results of the each attempted restore operation
- See Also:
-
restoreArchivedNodes
public List<RestoreNodeReport> restoreArchivedNodes(List<NodeRef> archivedNodeRefs, NodeRef destinationNodeRef, QName assocTypeQName, QName assocQName) Description copied from interface:NodeArchiveServiceAttempt to restore a list of archived nodes into a new location.TRANSACTIONS: This method will execute in a new transaction.
- Specified by:
restoreArchivedNodesin interfaceNodeArchiveService- Parameters:
archivedNodeRefs- the nodes' references in the archive. These must be valid.destinationNodeRef- the parent of the restored nodes, or null to use the original parent node referencesassocTypeQName- the type of the primary associations to link the restored node to the destination parent, or null to use the orginal association typesassocQName- the name of the primary associations to be created, or null to use the original association names- Returns:
- Returns the results of the each attempted restore operation
- See Also:
-
invokeBeforeRestoreArchivedNode
-
invokeOnRestoreArchivedNode
-
purgeArchivedNode
This is the primary purge methd that all purge methods fall back on. It isolates the delete work in a new transaction.- Specified by:
purgeArchivedNodein interfaceNodeArchiveService- Parameters:
archivedNodeRef- the archived node to delete.- See Also:
-
purgeArchivedNodes
Description copied from interface:NodeArchiveServicePermanently delete the archived nodes.- Specified by:
purgeArchivedNodesin interfaceNodeArchiveService- Parameters:
archivedNodes- the archived nodes to delete.- See Also:
-
purgeAllArchivedNodes
Uses batch processing and job locking to purge all archived nodes- Specified by:
purgeAllArchivedNodesin interfaceNodeArchiveService- Parameters:
originalStoreRef- the store that the items originally came from
-
listArchivedNodes
public org.alfresco.query.PagingResults<NodeRef> listArchivedNodes(ArchivedNodesCannedQueryBuilder cannedQueryBuilder) Get the archived nodes deleted by the current user. If the current user is an Administrator, then all the deleted nodes are fetched.- Specified by:
listArchivedNodesin interfaceNodeArchiveService- Parameters:
cannedQueryBuilder- the object that holds the required and optional parameters to perform the canned query- Returns:
- the results of the attempted search
-
hasFullAccess
Check if the current user has authority to access the archived node.- Specified by:
hasFullAccessin interfaceNodeArchiveService- Parameters:
nodeRef- NodeRef- Returns:
- true if the currently authenticated user has authority to access the archived node, otherwise false.
-
hasAdminAccess
-
invokeBeforePurgeNode
-
getTypeAndAspectQNames
Get all aspect and node type qualified names- Parameters:
nodeRef- the node we are interested in- Returns:
- Returns a set of qualified names containing the node type and all the node aspects, or null if the node no longer exists
-