diff --git a/source/java/org/alfresco/repo/node/archive/NodeArchiveServiceImpl.java b/source/java/org/alfresco/repo/node/archive/NodeArchiveServiceImpl.java index fd2493a165..0fc0f48441 100644 --- a/source/java/org/alfresco/repo/node/archive/NodeArchiveServiceImpl.java +++ b/source/java/org/alfresco/repo/node/archive/NodeArchiveServiceImpl.java @@ -21,6 +21,7 @@ import java.util.List; import org.alfresco.model.ContentModel; import org.alfresco.repo.node.archive.RestoreNodeReport.RestoreStatus; +import org.alfresco.repo.security.permissions.AccessDeniedException; import org.alfresco.repo.transaction.TransactionUtil; import org.alfresco.repo.transaction.TransactionUtil.TransactionWork; import org.alfresco.service.cmr.repository.ChildAssociationRef; @@ -157,7 +158,11 @@ public class NodeArchiveServiceImpl implements NodeArchiveService report.setStatus(RestoreStatus.FAILURE_OTHER); } } - // TODO: Catch permission exceptions + catch (AccessDeniedException e) + { + report.setCause(e); + report.setStatus(RestoreStatus.FAILURE_PERMISSION); + } catch (Throwable e) { report.setCause(e);