Low-level archive and restore functionality

- Full tests of archive and restore against the contentModel.xml
 - TODO: Test permissions of archive store
 - Currently on a single, simple restoreNode method on NodeService
 - TODO: NodeRestoreService implementation to provide helpers around mass restoration, purging, etc


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2782 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2006-05-06 02:55:27 +00:00
parent 3d4d316bdd
commit 8c92948879
8 changed files with 902 additions and 243 deletions

View File

@@ -119,6 +119,10 @@ public interface NodeService
* <p>
* This involves changing the node's primary parent and possibly the name of the
* association referencing it.
* <p>
* If the new parent is in a different store from the original, then the entire
* node hierarchy is moved to the new store. Inter-store associations are not
* affected.
*
* @param nodeToMoveRef the node to move
* @param newParentRef the new parent of the moved node
@@ -475,4 +479,29 @@ public interface NodeService
* @throws InvalidNodeRefException if the node could not be found
*/
public List<Path> getPaths(NodeRef nodeRef, boolean primaryOnly) throws InvalidNodeRefException;
/**
* Get the node where archived items will have gone when deleted from the given store.
*
* @param storeRef the store that items were deleted from
* @return Returns the archive node parent
*/
public NodeRef getStoreArchiveNode(StoreRef storeRef);
/**
* Restore an individual node (along with its sub-tree nodes) to the target location.
* The archived node must have the {@link org.alfresco.model.ContentModel#ASPECT_ARCHIVED archived aspect}
* set against it.
*
* @param archivedNodeRef the archived node
* @param targetParentNodeRef
* @param assocTypeQName
* @param assocQName
* @return Returns the reference to the newly created node
*/
public NodeRef restoreNode(
NodeRef archivedNodeRef,
NodeRef targetParentNodeRef,
QName assocTypeQName,
QName assocQName);
}