diff --git a/source/java/org/alfresco/repo/avm/AVMNodeService.java b/source/java/org/alfresco/repo/avm/AVMNodeService.java index 99dbda883f..1e2e9b7d88 100644 --- a/source/java/org/alfresco/repo/avm/AVMNodeService.java +++ b/source/java/org/alfresco/repo/avm/AVMNodeService.java @@ -548,8 +548,8 @@ public class AVMNodeService extends AbstractNodeServiceImpl implements NodeServi throw new InvalidNodeRefException("Read Only node.", nodeRef); } String avmPath = avmVersionPath.getSecond(); - // Get the current node properties. - Map properties = getProperties(nodeRef); + // Accumulate properties. + Map properties = new HashMap(); // Add the supplied properties. if (aspectProperties != null) { @@ -560,7 +560,21 @@ public class AVMNodeService extends AbstractNodeServiceImpl implements NodeServi // Now add any cascading aspects. addDefaultAspects(aspectDef, avmPath, properties); // Set the property values on the AVM Node. - setProperties(nodeRef, properties); + if (properties.size() != 0) + { + Map props = new HashMap(); + for (Map.Entry entry : properties.entrySet()) + { + if (!isBuiltInProperty(entry.getKey())) + { + props.put(entry.getKey(), new PropertyValue(null, entry.getValue())); + } + } + if (props.size() != 0) + { + fAVMService.setNodeProperties(avmPath, props); + } + } if (isBuiltinAspect(aspectTypeQName)) { // No more work to do in this case.