AccessAuditor implements InitializingBean, 

        BeforeDeleteNodePolicy, OnAddAspectPolicy, OnCreateNodePolicy, OnMoveNodePolicy,
        OnRemoveAspectPolicy, OnUpdatePropertiesPolicy,
        
        OnContentReadPolicy, OnContentUpdatePolicy,
        
        OnCreateVersionPolicy,
        
        OnCopyCompletePolicy,
        
        OnCheckOut, OnCheckIn, OnCancelCheckOut { @Override public void onContentUpdate(NodeRef nodeRef, boolean newContent) { if (auditEnabled()) { getNodeChange(nodeRef).onContentUpdate(nodeRef, newContent); } }  void setProperties(Properties properties); void setPolicyComponent(PolicyComponent policyComponent); void setAuditComponent(AuditComponent auditComponent); void setTransactionService(TransactionService transactionService); void setNamespaceService(NamespaceService namespaceService); void setNodeInfoFactory(NodeInfoFactory nodeInfoFactory); void afterPropertiesSet(); @Override void beforeDeleteNode(NodeRef nodeRef); @Override void onCreateNode(ChildAssociationRef childAssocRef); @Override void onMoveNode(ChildAssociationRef fromChildAssocRef,
            ChildAssociationRef toChildAssocRef); @Override void onUpdateProperties(NodeRef nodeRef,
            Map<QName, Serializable> fromProperties, Map<QName, Serializable> toProperties); @Override void onRemoveAspect(NodeRef nodeRef, QName aspect); @Override void onAddAspect(NodeRef nodeRef, QName aspect); @Override void onContentUpdate(NodeRef nodeRef, boolean newContent); @Override void onContentRead(NodeRef nodeRef); @Override void onCreateVersion(QName classRef, NodeRef nodeRef,
            Map<String, Serializable> versionProperties, PolicyScope nodeDetails); void onCopyComplete(QName classRef, NodeRef sourceNodeRef, NodeRef targetNodeRef,
            boolean copyToNewNode, Map<NodeRef, NodeRef> copyMap); void onCheckOut(NodeRef workingCopy); void onCheckIn(NodeRef nodeRef); void onCancelCheckOut(NodeRef nodeRef);  }
@Test public final void testOnContentUpdate() throws Exception { ContentWriter writer = serviceRegistry.getContentService().getWriter(content1, ContentModel.TYPE_CONTENT, true); writer.putContent("The cow jumped over the moon."); txn.commit(); txn = null; assertEquals(1, auditMapList.size()); Map<String, Serializable> auditMap = auditMapList.get(0); assertEquals("UPDATE CONTENT", auditMap.get("action")); assertContains("updateContent", auditMap.get("sub-actions")); assertContains("updateNodeProperties", auditMap.get("sub-actions")); assertEquals("/cm:homeFolder/cm:folder1/cm:content1", auditMap.get("path")); assertEquals("cm:content", auditMap.get("type")); }