RM-1098: Refactor RM model behavior into a more maintainable structure

* added behaviour bean and method annotations .. allows the simple defintion of methods as behaviours, simplifies code and provides a way to report on the registered behaviours in the future
  * moved and consolidated some of the behaviours into classes based on the RM object model .. with behaviours in one logical place it should reduce issues with unpredictable behaviours and help maintenance
  * TODO more consolidate still needed



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@58120 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Roy Wetherall
2013-11-22 06:16:51 +00:00
parent 1abda8f161
commit 06bc92f0b6
23 changed files with 1217 additions and 305 deletions

View File

@@ -18,4 +18,7 @@ log4j.logger.org.alfresco.module.org_alfresco_module_rm.patch=info
#log4j.logger.org.alfresco.module.org_alfresco_module_rm.record.RecordServiceImpl=debug
#log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=on
#log4j.logger.org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService=debug
#log4j.logger.org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService=debug
log4j.logger.org.alfresco.repo.policy.annotation.AnnotatedBehaviourPostProcessor=debug
log4j.logger.org.alfresco.module.org_alfresco_module_rm.behaviour.BaseBehaviourBean=debug

View File

@@ -212,7 +212,10 @@
<!-- Import the RM webscript's -->
<import resource="classpath:alfresco/module/org_alfresco_module_rm/rm-webscript-context.xml"/>
<!-- Import of installed demos -->
<import resource="classpath*:alfresco/module/org_alfresco_module_rm/demo/*/demo-context.xml"/>
<!-- Annotated behaviour bean post processor -->
<bean id="annotatedBehaviourBeanPostProcessor" class="org.alfresco.repo.policy.annotation.AnnotatedBehaviourPostProcessor">
<property name="policyComponent" ref="policyComponent" />
<property name="namespaceService" ref="namespaceService" />
</bean>
</beans>

View File

@@ -50,14 +50,6 @@
<property name="dispositionService" ref="dispositionService"/>
</bean>
<!-- RM container type behaviour bean -->
<bean id="org_alfresco_module_rm_RecordContainerType"
class="org.alfresco.module.org_alfresco_module_rm.model.behaviour.RecordContainerType"
parent="org_alfresco_module_rm_BaseBehaviour">
<property name="dictionaryService" ref="DictionaryService"/>
<property name="recordsManagementIdentifierService" ref="recordsManagementIdentifierService"/>
</bean>
<bean id="org_alfresco_module_rm_RmSiteType"
class="org.alfresco.module.org_alfresco_module_rm.model.behaviour.RmSiteType"
parent="org_alfresco_module_rm_BaseBehaviour">
@@ -94,6 +86,37 @@
<property name="recordService" ref="recordService"/>
<property name="recordFolderService" ref="RecordFolderService"/>
</bean>
<!-- NEW BEHAVIOUR BEANS -->
<bean id="rm.baseBehaviour" abstract="true">
<property name="nodeService" ref="NodeService" />
<property name="dictionaryService" ref="DictionaryService" />
<property name="behaviourFilter" ref="policyBehaviourFilter" />
</bean>
<bean id="rma.recordsManagementContainer" class="org.alfresco.module.org_alfresco_module_rm.model.rma.RecordsManagementContainerType" parent="rm.baseBehaviour">
<property name="identifierService" ref="recordsManagementIdentifierService"/>
</bean>
<bean id="rma.filePlan" class="org.alfresco.module.org_alfresco_module_rm.model.rma.FilePlanType" parent="rm.baseBehaviour">
<property name="identifierService" ref="recordsManagementIdentifierService"/>
<property name="filePlanService" ref="FilePlanService" />
<property name="recordFolderService" ref="RecordFolderService" />
<property name="filePlanRoleService" ref="FilePlanRoleService" />
</bean>
<bean id="rma.recordCategory" class="org.alfresco.module.org_alfresco_module_rm.model.rma.RecordCategoryType" parent="rm.baseBehaviour">
<property name="vitalRecordService" ref="VitalRecordService" />
<property name="filePlanPermissionService" ref="FilePlanPermissionService" />
</bean>
<bean id="rma.record" class="org.alfresco.module.org_alfresco_module_rm.model.rma.RecordAspect" parent="rm.baseBehaviour">
<property name="extendedSecurityService" ref="ExtendedSecurityService" />
</bean>
<!-- END -->
<!-- Base bean definition for customisable types bootstrap -->
<bean id="customisableTypesBootstrap"

View File

@@ -617,9 +617,10 @@
<property name="objectDefinitionSource">
<value>
<![CDATA[
org.alfresco.module.org_alfresco_module_rm.security.FilePlanPermissionService.setupRecordCategoryPermissions=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.security.FilePlanPermissionService.setPermission=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.security.FilePlanPermissionService.deletePermission=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.security.FilePlanPermissionService.*=RM_DENY
org.alfresco.module.org_alfresco_module_rm.security.FilePlanPermissionService.*=RM_DENY
]]>
</value>
</property>
@@ -629,12 +630,11 @@
<bean id="filePlanRoleService"
class="org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleServiceImpl"
init-method="init" depends-on="org_alfresco_module_rm_dictionaryBootstrap">
depends-on="org_alfresco_module_rm_dictionaryBootstrap">
<property name="capabilityService" ref="CapabilityService"/>
<property name="authorityService" ref="AuthorityService"/>
<property name="permissionService" ref="PermissionService"/>
<property name="nodeService" ref="NodeService"/>
<property name="policyComponent" ref="policyComponent"/>
<property name="filePlanService" ref="FilePlanService" />
<property name="filePlanAuthenticationService" ref="FilePlanAuthenticationService" />
<property name="authenticationService" ref="AuthenticationService" />
@@ -685,6 +685,8 @@
<property name="objectDefinitionSource">
<value>
<![CDATA[
org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService.setupFilePlanRoles=RM.Write.0
org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService.tearDownFilePlanRoles=RM.Write.0
org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService.getRoles=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService.getRolesByUser=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService.getRole=RM_ALLOW
@@ -699,7 +701,7 @@
org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService.assignRoleToAuthority=RM_CAP.0.rma:filePlanComponent.CreateModifyDestroyUsersAndGroups
org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService.unassignRoleFromAuthority=RM_CAP.0.rma:filePlanComponent.CreateModifyDestroyUsersAndGroups
org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService.getAllRolesContainerGroup=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService.*=RM_DENY
org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService.*=RM_DENY
]]>
</value>
</property>