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);