diff --git a/source/java/org/alfresco/repo/node/archive/NodeArchiveService.java b/source/java/org/alfresco/repo/node/archive/NodeArchiveService.java index 72dd318b94..8ba5d9c02e 100644 --- a/source/java/org/alfresco/repo/node/archive/NodeArchiveService.java +++ b/source/java/org/alfresco/repo/node/archive/NodeArchiveService.java @@ -40,6 +40,15 @@ public interface NodeArchiveService */ public NodeRef getStoreArchiveNode(StoreRef originalStoreRef); + /** + * Get the likely node reference for the original node. There is no + * guarantee that the node exists in the archive store. + * + * @param originalNodeRef the original node reference + * @return Returns the node ref of the node if it was archived. + */ + public NodeRef getArchivedNode(NodeRef originalNodeRef); + /** * Attempt to restore the given archived node into its original location. *

diff --git a/source/java/org/alfresco/repo/node/archive/NodeArchiveServiceImpl.java b/source/java/org/alfresco/repo/node/archive/NodeArchiveServiceImpl.java index 0fc0f48441..82840572f5 100644 --- a/source/java/org/alfresco/repo/node/archive/NodeArchiveServiceImpl.java +++ b/source/java/org/alfresco/repo/node/archive/NodeArchiveServiceImpl.java @@ -72,6 +72,17 @@ public class NodeArchiveServiceImpl implements NodeArchiveService return nodeService.getStoreArchiveNode(originalStoreRef); } + public NodeRef getArchivedNode(NodeRef originalNodeRef) + { + StoreRef orginalStoreRef = originalNodeRef.getStoreRef(); + NodeRef archiveRootNodeRef = nodeService.getStoreArchiveNode(orginalStoreRef); + // create the likely location of the archived node + NodeRef archivedNodeRef = new NodeRef( + archiveRootNodeRef.getStoreRef(), + originalNodeRef.getId()); + return archivedNodeRef; + } + /** * Get all the nodes that were archived from the given store. */