From c57c0ed25fbf051631ee73d4698d35c6821f5bb1 Mon Sep 17 00:00:00 2001 From: Roy Wetherall Date: Thu, 10 Dec 2015 22:09:07 +0000 Subject: [PATCH] RM-2873: Browsing version history properties fails when version destroyed git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.3@120061 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../RecordableVersionNodeServiceImpl.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/version/RecordableVersionNodeServiceImpl.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/version/RecordableVersionNodeServiceImpl.java index 78759b8713..066f69ccb1 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/version/RecordableVersionNodeServiceImpl.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/version/RecordableVersionNodeServiceImpl.java @@ -62,6 +62,7 @@ public class RecordableVersionNodeServiceImpl extends Node2ServiceImpl /** * @see org.alfresco.repo.version.Node2ServiceImpl#getProperties(org.alfresco.service.cmr.repository.NodeRef) */ + @SuppressWarnings("unchecked") @Override public Map getProperties(NodeRef nodeRef) throws InvalidNodeRefException { @@ -71,8 +72,15 @@ public class RecordableVersionNodeServiceImpl extends Node2ServiceImpl if (dbNodeService.hasAspect(converted, ASPECT_RECORDED_VERSION)) { NodeRef record = (NodeRef)dbNodeService.getProperty(converted, PROP_RECORD_NODE_REF); - Map properties = dbNodeService.getProperties(record); - return processProperties(converted, properties); + if (record != null && dbNodeService.exists(record)) + { + Map properties = dbNodeService.getProperties(record); + return processProperties(converted, properties); + } + else + { + return (Map)Collections.EMPTY_MAP; + } } else { @@ -187,12 +195,12 @@ public class RecordableVersionNodeServiceImpl extends Node2ServiceImpl public Set getAspects(NodeRef nodeRef) throws InvalidNodeRefException { // TODO only supported for Version2 - + NodeRef converted = VersionUtil.convertNodeRef(nodeRef); if (dbNodeService.hasAspect(converted, ASPECT_RECORDED_VERSION)) { NodeRef record = (NodeRef)dbNodeService.getProperty(converted, PROP_RECORD_NODE_REF); - if (dbNodeService.exists(record)) + if (record != null && dbNodeService.exists(record)) { Set aspects = dbNodeService.getAspects(record); return processAspects(aspects);