diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/module-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/module-context.xml
index 68db35dc44..ef3ba4d3ca 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/module-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/module-context.xml
@@ -121,14 +121,12 @@
-
-
@@ -138,7 +136,6 @@
-
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-model-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-model-context.xml
index fda6e8263b..afc16a7923 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-model-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-model-context.xml
@@ -133,6 +133,10 @@
+
+
+
+
-
@@ -673,12 +671,10 @@
+ parent = "rm.baseBehaviour">
-
-
-
-
+
+
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/event/OnReferenceCreateEventType.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/event/OnReferenceCreateEventType.java
index c46837f325..3e67c5439a 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/event/OnReferenceCreateEventType.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/event/OnReferenceCreateEventType.java
@@ -24,7 +24,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.alfresco.module.org_alfresco_module_rm.RecordsManagementPolicies;
import org.alfresco.module.org_alfresco_module_rm.RecordsManagementPolicies.OnCreateReference;
import org.alfresco.module.org_alfresco_module_rm.action.RecordsManagementActionService;
import org.alfresco.module.org_alfresco_module_rm.action.impl.CompleteEventAction;
@@ -32,8 +31,9 @@ import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionAction;
import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService;
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
import org.alfresco.repo.policy.Behaviour.NotificationFrequency;
-import org.alfresco.repo.policy.JavaBehaviour;
-import org.alfresco.repo.policy.PolicyComponent;
+import org.alfresco.repo.policy.annotation.Behaviour;
+import org.alfresco.repo.policy.annotation.BehaviourBean;
+import org.alfresco.repo.policy.annotation.BehaviourKind;
import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.namespace.QName;
@@ -43,6 +43,7 @@ import org.alfresco.service.namespace.QName;
*
* @author Roy Wetherall
*/
+@BehaviourBean
public class OnReferenceCreateEventType extends SimpleRecordsManagementEventTypeImpl
implements RecordsManagementModel,
OnCreateReference
@@ -53,9 +54,6 @@ public class OnReferenceCreateEventType extends SimpleRecordsManagementEventType
/** Disposition service */
private DispositionService dispositionService;
- /** Policy component */
- private PolicyComponent policyComponent;
-
/** Reference */
private QName reference;
@@ -75,16 +73,6 @@ public class OnReferenceCreateEventType extends SimpleRecordsManagementEventType
this.recordsManagementActionService = recordsManagementActionService;
}
- /**
- * Set policy components
- *
- * @param policyComponent policy component
- */
- public void setPolicyComponent(PolicyComponent policyComponent)
- {
- this.policyComponent = policyComponent;
- }
-
/**
* Set the reference
*
@@ -95,19 +83,6 @@ public class OnReferenceCreateEventType extends SimpleRecordsManagementEventType
this.reference = QName.createQName(reference);
}
- /**
- * @see org.alfresco.module.org_alfresco_module_rm.event.SimpleRecordsManagementEventTypeImpl#init()
- */
- public void init()
- {
- super.init();
-
- // Register interest in the on create reference policy
- policyComponent.bindClassBehaviour(RecordsManagementPolicies.ON_CREATE_REFERENCE,
- ASPECT_RECORD,
- new JavaBehaviour(this, "onCreateReference", NotificationFrequency.TRANSACTION_COMMIT));
- }
-
/**
* @see org.alfresco.module.org_alfresco_module_rm.event.SimpleRecordsManagementEventTypeImpl#isAutomaticEvent()
*/
@@ -120,6 +95,13 @@ public class OnReferenceCreateEventType extends SimpleRecordsManagementEventType
/**
* @see org.alfresco.module.org_alfresco_module_rm.RecordsManagementPolicies.OnCreateReference#onCreateReference(org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.namespace.QName)
*/
+ @Override
+ @Behaviour
+ (
+ kind = BehaviourKind.CLASS,
+ type = "rma:record",
+ notificationFrequency = NotificationFrequency.TRANSACTION_COMMIT
+ )
public void onCreateReference(final NodeRef fromNodeRef, final NodeRef toNodeRef, final QName reference)
{
AuthenticationUtil.RunAsWork