Class RmSiteType

  • All Implemented Interfaces:
    RecordsManagementCustomModel, RecordsManagementModel, org.alfresco.repo.node.NodeServicePolicies.BeforeDeleteNodePolicy, org.alfresco.repo.node.NodeServicePolicies.OnCreateChildAssociationPolicy, org.alfresco.repo.node.NodeServicePolicies.OnCreateNodePolicy, org.alfresco.repo.node.NodeServicePolicies.OnDeleteChildAssociationPolicy, org.alfresco.repo.node.NodeServicePolicies.OnUpdatePropertiesPolicy, org.alfresco.repo.policy.annotation.BehaviourRegistry, org.alfresco.repo.policy.AssociationPolicy, org.alfresco.repo.policy.ClassPolicy, org.alfresco.repo.policy.Policy, org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware

    public class RmSiteType
    extends BaseBehaviourBean
    implements org.alfresco.repo.node.NodeServicePolicies.OnCreateNodePolicy, org.alfresco.repo.node.NodeServicePolicies.OnUpdatePropertiesPolicy, org.alfresco.repo.node.NodeServicePolicies.BeforeDeleteNodePolicy, org.alfresco.repo.node.NodeServicePolicies.OnCreateChildAssociationPolicy, org.alfresco.repo.node.NodeServicePolicies.OnDeleteChildAssociationPolicy
    Behaviour associated with the RM Site type
    Since:
    2.2
    Author:
    Roy Wetherall, Silviu Dinuta
    • Field Detail

      • DEFAULT_FILE_PLAN_TYPE

        public static final org.alfresco.service.namespace.QName DEFAULT_FILE_PLAN_TYPE
      • siteService

        protected org.alfresco.service.cmr.site.SiteService siteService
        Site service
      • capabilityService

        protected CapabilityService capabilityService
        Capability service
      • mapFilePlanType

        protected Map<org.alfresco.service.namespace.QName,​org.alfresco.service.namespace.QName> mapFilePlanType
        Map of file plan type's key'ed by corresponding site types
    • Constructor Detail

      • RmSiteType

        public RmSiteType()
    • Method Detail

      • setSiteService

        public void setSiteService​(org.alfresco.service.cmr.site.SiteService siteService)
        Set the site service
        Parameters:
        siteService - site service
      • setRecordsManagementSearchService

        public void setRecordsManagementSearchService​(RecordsManagementSearchService recordsManagementSearchService)
        Parameters:
        recordsManagementSearchService - records management search service
      • setCapabilityService

        public void setCapabilityService​(CapabilityService capabilityService)
        Parameters:
        capabilityService - capability service
      • setAuthorityService

        public void setAuthorityService​(org.alfresco.service.cmr.security.AuthorityService authorityService)
        Parameters:
        authorityService - authority service
      • setFilePlanType

        public void setFilePlanType​(FilePlanType filePlanType)
      • setRmContainerCacheManager

        public void setRmContainerCacheManager​(RMContainerCacheManager rmContainerCacheManager)
        Parameters:
        rmContainerCacheManager - RM container cache manager
      • registerFilePlanType

        public void registerFilePlanType​(org.alfresco.service.namespace.QName siteType,
                                         org.alfresco.service.namespace.QName filePlanType)
        Registers a file plan type for a specific site type.
        Parameters:
        siteType - siteType sub-type of rma:rmsite
        filePlanType - filePlanType sub-type of rma:filePlan
        Since:
        2.2
      • onCreateNode

        public void onCreateNode​(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)
        Specified by:
        onCreateNode in interface org.alfresco.repo.node.NodeServicePolicies.OnCreateNodePolicy
        See Also:
        NodeServicePolicies.OnCreateNodePolicy.onCreateNode(org.alfresco.service.cmr.repository.ChildAssociationRef)
      • onUpdateProperties

        public void onUpdateProperties​(org.alfresco.service.cmr.repository.NodeRef nodeRef,
                                       Map<org.alfresco.service.namespace.QName,​Serializable> before,
                                       Map<org.alfresco.service.namespace.QName,​Serializable> after)
        Ensure that the visibility of a RM site can not be changed to anything but public. TODO support other site visibilities
        Specified by:
        onUpdateProperties in interface org.alfresco.repo.node.NodeServicePolicies.OnUpdatePropertiesPolicy
        See Also:
        NodeServicePolicies.OnUpdatePropertiesPolicy.onUpdateProperties(org.alfresco.service.cmr.repository.NodeRef, java.util.Map, java.util.Map)
      • beforeDeleteNode

        public void beforeDeleteNode​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
        Specified by:
        beforeDeleteNode in interface org.alfresco.repo.node.NodeServicePolicies.BeforeDeleteNodePolicy
        See Also:
        NodeServicePolicies.BeforeDeleteNodePolicy.beforeDeleteNode(org.alfresco.service.cmr.repository.NodeRef)
      • onDeleteChildAssociation

        public void onDeleteChildAssociation​(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)
        Handles site deletion in order to reset the records management root cache
        Specified by:
        onDeleteChildAssociation in interface org.alfresco.repo.node.NodeServicePolicies.OnDeleteChildAssociationPolicy
        Parameters:
        childAssocRef -
        See Also:
        NodeServicePolicies.OnDeleteAssociationPolicy.onDeleteAssociation(org.alfresco.service.cmr.repository.AssociationRef)
      • onCreateChildAssociation

        public void onCreateChildAssociation​(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef,
                                             boolean isNewNode)
        Add the limitation of creating only one rma:filePlan or one dod:filePlan depending on the type of rm site. Let multiple cm:folder type be created under rm site. Other than this nothing can be created under rm site nodeRef
        Specified by:
        onCreateChildAssociation in interface org.alfresco.repo.node.NodeServicePolicies.OnCreateChildAssociationPolicy
        Since:
        2.6
      • onDeleteNodeOnCommit

        public void onDeleteNodeOnCommit​(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef,
                                         boolean isNodeArchived)
        Handles the deletion node policy (alf:onDeleteNode), resetting the records management root cache and enabling file plan behavior as well
        Parameters:
        childAssocRef -
        isNodeArchived -