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

* moved all behaviours out of records management service
  * finally able to deprecate RecordsManagementService (relic of 1.0)
  * did a little repackaging to make things clear



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@58289 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Roy Wetherall
2013-11-26 03:59:43 +00:00
parent 4c167fc43b
commit d08ab6535c
15 changed files with 462 additions and 350 deletions

View File

@@ -10,15 +10,19 @@ log4j.logger.org.alfresco.module.org_alfresco_module_rm.security.RMMethodSecurit
log4j.logger.org.alfresco.module.org_alfresco_module_rm.patch=info
#
# RM Permission Debug Information
# RM permission debug
#
#log4j.logger.org.alfresco.module.org_alfresco_module_rm.capability.RMEntryVoter=debug
#log4j.logger.org.alfresco.module.org_alfresco_module_rm.capability.RMAfterInvocationProvider=debug
#log4j.logger.org.alfresco.module.org_alfresco_module_rm.capability.declarative=debug
#log4j.logger.org.alfresco.module.org_alfresco_module_rm.record.RecordServiceImpl=debug
#log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=on
#
# RM Audit service 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
#
# Behaviour debug
#
#log4j.logger.org.alfresco.repo.policy.annotation.AnnotatedBehaviourPostProcessor=debug
#log4j.logger.org.alfresco.module.org_alfresco_module_rm.behaviour.BaseBehaviourBean=debug

View File

@@ -59,4 +59,78 @@
</property>
</bean>
<!-- Records Management Service -->
<!-- @deprecated As of release 2.2 -->
<bean id="recordsManagementService" class="org.alfresco.module.org_alfresco_module_rm.RecordsManagementServiceImpl">
<property name="recordsManagementServiceRegistry" ref="RecordsManagementServiceRegistry"/>
<property name="nodeService" ref="nodeService"/>
</bean>
<bean id="RecordsManagementService" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>org.alfresco.module.org_alfresco_module_rm.RecordsManagementService</value>
</property>
<property name="target">
<ref bean="recordsManagementService"/>
</property>
<property name="interceptorNames">
<list>
<idref local="RecordsManagementService_transaction"/>
<idref bean="exceptionTranslator"/>
<idref local="RecordsManagementService_security"/>
</list>
</property>
</bean>
<bean id="RecordsManagementService_transaction" parent="baseTransaction"/>
<bean id="RecordsManagementService_security" class="org.alfresco.repo.security.permissions.impl.acegi.MethodSecurityInterceptor">
<property name="authenticationManager">
<ref bean="authenticationManager"/>
</property>
<property name="accessDecisionManager">
<ref bean="accessDecisionManager"/>
</property>
<property name="afterInvocationManager">
<ref bean="afterInvocationManager"/>
</property>
<property name="objectDefinitionSource">
<value>
<![CDATA[
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isFilePlanComponent=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getFilePlanComponentKind=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getFilePlanComponentKindFromType=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isRecordsManagementContainer=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isFilePlan=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isRecordCategory=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isRecordFolder=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isRecord=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isHold=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isTransfer=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isMetadataStub=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isFrozen=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.hasFrozenChildren=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isCutoff=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getNodeRefPath=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getFilePlan=RM.Read.0,AFTER_RM.FilterNode
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getFilePlans=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.createFilePlan=RM.WRITE.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getAllContained=RM.Read.0,AFTER_RM.FilterNode
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getContainedRecordCategories=RM.Read.0,AFTER_RM.FilterNode
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getContainedRecordFolders=RM.Read.0,AFTER_RM.FilterNode
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.createRecordCategory=RM.Write.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isRecordFolderDeclared=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isRecordFolderClosed=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.createRecordFolder=RM.Write.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getRecords=RM.Read.0,AFTER_RM.FilterNode
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getRecordFolders=RM.Read.0,AFTER_RM.FilterNode
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getRecordMetaDataAspects=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isRecordDeclared=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.*=RM_DENY
]]>
</value>
</property>
</bean>
</beans>

View File

@@ -95,26 +95,41 @@
<property name="behaviourFilter" ref="policyBehaviourFilter" />
</bean>
<bean id="rma.recordsManagementContainer" class="org.alfresco.module.org_alfresco_module_rm.model.rma.RecordsManagementContainerType" parent="rm.baseBehaviour">
<!-- rma model types -->
<bean id="rma.recordsManagementContainer" class="org.alfresco.module.org_alfresco_module_rm.model.rma.type.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">
<bean id="rma.filePlan" class="org.alfresco.module.org_alfresco_module_rm.model.rma.type.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">
<bean id="rma.recordCategory" class="org.alfresco.module.org_alfresco_module_rm.model.rma.type.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 id="rma.dispositionActionDefinition" class="org.alfresco.module.org_alfresco_module_rm.model.rma.type.DispositionActionDefinitionType" parent="rm.baseBehaviour">
</bean>
<!-- rma model aspects -->
<bean id="rma.filePlanComponent" class="org.alfresco.module.org_alfresco_module_rm.model.rma.aspect.FilePlanComponentAspect" parent="rm.baseBehaviour">
<property name="scriptService" ref="ScriptService" />
<property name="namespaceService" ref="NamespaceService" />
</bean>
<bean id="rma.record" class="org.alfresco.module.org_alfresco_module_rm.model.rma.aspect.RecordAspect" parent="rm.baseBehaviour">
<property name="scriptService" ref="ScriptService" />
<property name="extendedSecurityService" ref="ExtendedSecurityService" />
</bean>
<bean id="rma.recordComponentIdentifier" class="org.alfresco.module.org_alfresco_module_rm.model.rma.aspect.RecordComponentIdentifierAspect" parent="rm.baseBehaviour">
</bean>
<!-- END -->

View File

@@ -44,80 +44,7 @@
<property name="filePlanAuthenticationService" ref="FilePlanAuthenticationService"/>
</bean>
<!-- Records Management Service -->
<bean id="recordsManagementService" class="org.alfresco.module.org_alfresco_module_rm.RecordsManagementServiceImpl"
depends-on="org_alfresco_module_rm_dictionaryBootstrap" init-method="init">
<property name="recordsManagementServiceRegistry" ref="RecordsManagementServiceRegistry"/>
<property name="nodeService" ref="nodeService"/>
<property name="policyComponent" ref="policyComponent"/>
</bean>
<bean id="RecordsManagementService" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>org.alfresco.module.org_alfresco_module_rm.RecordsManagementService</value>
</property>
<property name="target">
<ref bean="recordsManagementService"/>
</property>
<property name="interceptorNames">
<list>
<idref local="RecordsManagementService_transaction"/>
<idref bean="exceptionTranslator"/>
<idref local="RecordsManagementService_security"/>
</list>
</property>
</bean>
<bean id="RecordsManagementService_transaction" parent="baseTransaction"/>
<bean id="RecordsManagementService_security" class="org.alfresco.repo.security.permissions.impl.acegi.MethodSecurityInterceptor">
<property name="authenticationManager">
<ref bean="authenticationManager"/>
</property>
<property name="accessDecisionManager">
<ref bean="accessDecisionManager"/>
</property>
<property name="afterInvocationManager">
<ref bean="afterInvocationManager"/>
</property>
<property name="objectDefinitionSource">
<value>
<![CDATA[
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isFilePlanComponent=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getFilePlanComponentKind=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getFilePlanComponentKindFromType=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isRecordsManagementContainer=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isFilePlan=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isRecordCategory=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isRecordFolder=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isRecord=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isHold=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isTransfer=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isMetadataStub=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isFrozen=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.hasFrozenChildren=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isCutoff=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getNodeRefPath=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getFilePlan=RM.Read.0,AFTER_RM.FilterNode
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getFilePlans=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.createFilePlan=RM.WRITE.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getAllContained=RM.Read.0,AFTER_RM.FilterNode
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getContainedRecordCategories=RM.Read.0,AFTER_RM.FilterNode
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getContainedRecordFolders=RM.Read.0,AFTER_RM.FilterNode
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.createRecordCategory=RM.Write.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isRecordFolderDeclared=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isRecordFolderClosed=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.createRecordFolder=RM.Write.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getRecords=RM.Read.0,AFTER_RM.FilterNode
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getRecordFolders=RM.Read.0,AFTER_RM.FilterNode
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.getRecordMetaDataAspects=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.isRecordDeclared=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.RecordsManagementService.*=RM_DENY
]]>
</value>
</property>
</bean>
<!-- Vital Record Service -->