diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/messages/audit-service.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/messages/audit-service.properties index 62c4177481..7604e39f3b 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/messages/audit-service.properties +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/messages/audit-service.properties @@ -13,4 +13,5 @@ rm.audit.audit-stop=Audit Stop rm.audit.audit-clear=Audit Clear rm.audit.audit-view=Audit View rm.audit.trail-file-fail=Can't generate audit report. -rm.audit.audit-report=Audit Report \ No newline at end of file +rm.audit.audit-report=Audit Report +recordable-version-config=Auto-Declare Options \ No newline at end of file diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-audit-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-audit-context.xml index 32530d7d69..8978b39c73 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-audit-context.xml +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-audit-context.xml @@ -85,4 +85,9 @@ + + + + + diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/dm/RecordableVersionConfigAction.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/dm/RecordableVersionConfigAction.java index 9acea4eb60..b9ce07b602 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/dm/RecordableVersionConfigAction.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/dm/RecordableVersionConfigAction.java @@ -27,9 +27,9 @@ import static org.apache.commons.logging.LogFactory.getLog; import java.util.List; -import org.alfresco.module.org_alfresco_module_rm.action.AuditableActionExecuterAbstractBase; import org.alfresco.module.org_alfresco_module_rm.version.RecordableVersionPolicy; import org.alfresco.repo.action.ParameterDefinitionImpl; +import org.alfresco.repo.action.executer.ActionExecuterAbstractBase; import org.alfresco.service.cmr.action.Action; import org.alfresco.service.cmr.action.ParameterDefinition; import org.alfresco.service.cmr.dictionary.DictionaryService; @@ -46,7 +46,7 @@ import org.apache.commons.logging.Log; * @author Tuna Aksoy * @since 2.3 */ -public class RecordableVersionConfigAction extends AuditableActionExecuterAbstractBase +public class RecordableVersionConfigAction extends ActionExecuterAbstractBase { /** Logger */ private static Log LOGGER = getLog(RecordableVersionConfigAction.class); diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/RecordableVersionPolicyAuditEvent.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/RecordableVersionPolicyAuditEvent.java new file mode 100644 index 0000000000..bcad9a0997 --- /dev/null +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/RecordableVersionPolicyAuditEvent.java @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2005-2014 Alfresco Software Limited. + * + * This file is part of Alfresco + * + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + */ +package org.alfresco.module.org_alfresco_module_rm.audit.event; + +import static org.alfresco.module.org_alfresco_module_rm.version.RecordableVersionModel.PROP_RECORDABLE_VERSION_POLICY; + +import java.io.Serializable; +import java.util.Map; + +import org.alfresco.repo.node.NodeServicePolicies.OnUpdatePropertiesPolicy; +import org.alfresco.repo.policy.annotation.Behaviour; +import org.alfresco.repo.policy.annotation.BehaviourBean; +import org.alfresco.repo.policy.annotation.BehaviourKind; +import org.alfresco.service.cmr.repository.NodeRef; +import org.alfresco.service.namespace.QName; + +/** + * Audits recordable version policy property updates + * + * @author Tuna Aksoy + * @since 2.3 + */ +@BehaviourBean +public class RecordableVersionPolicyAuditEvent extends AuditEvent implements OnUpdatePropertiesPolicy +{ + /** + * @see org.alfresco.repo.node.NodeServicePolicies.OnUpdatePropertiesPolicy#onUpdateProperties(org.alfresco.service.cmr.repository.NodeRef, java.util.Map, java.util.Map) + */ + @Override + @Behaviour + ( + kind = BehaviourKind.CLASS, + type = "cm:cmobject" + ) + public void onUpdateProperties(NodeRef nodeRef, Map before, Map after) + { + if (before.get(PROP_RECORDABLE_VERSION_POLICY) != after.get(PROP_RECORDABLE_VERSION_POLICY)) + { + recordsManagementAuditService.auditEvent(nodeRef, getName(), before, after, true, true); + } + } +}