RM: RecordsManagementService refactor

* move candiate methods into FilePlanService
  * deprecation of RMService methods
  * remove all deprecation warnings from code
  * update filePlanService unit tests
  * remove all other spurious warnings from RM code
  * a couple of performance enhancements in the bowls of the capability evaluation code
  * first pass at parametising RecordsManagementAuditService with file plan (so capability evaluation had a tangable reference)
  * fix up unit test failures and other fall out from refactors



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@52504 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Roy Wetherall
2013-07-12 06:12:46 +00:00
parent ba197612d1
commit 87bd9abe53
85 changed files with 2188 additions and 1000 deletions

View File

@@ -12,6 +12,7 @@
<property name="nodeService" ref="NodeService" />
<property name="freezeService" ref="FreezeService" />
<property name="recordService" ref="recordService" />
<property name="filePlanService" ref="FilePlanService" />
</bean>
<bean id="capabilityCondition.frozen"

View File

@@ -120,7 +120,7 @@
<!-- Action Service -->
<bean id="actionService" class="org.alfresco.repo.action.ExtendedActionServiceImpl" init-method="init">
<property name="recordsManagementService" ref="RecordsManagementService" />
<property name="filePlanService" ref="FilePlanService" />
<property name="policyComponent">
<ref bean="policyComponent" />
@@ -197,7 +197,7 @@
<!-- Since RM 2.1 -->
<property name="filePlanAuthenticationService" ref="FilePlanAuthenticationService"/>
<property name="recordsManagementService" ref="RecordsManagementService" />
<property name="filePlanService" ref="FilePlanService" />
<property name="runAsRmAdmin">
<value>${rm.rule.runasrmadmin}</value>
</property>

View File

@@ -1,3 +1,16 @@
#
# Warnings
#
log4j.logger.org.alfresco.module.org_alfresco_module_rm.caveat=warn
log4j.logger.org.alfresco.module.org_alfresco_module_rm.security.RMMethodSecurityPostProcessor=warn
log4j.logger.org.alfresco.module.org_alfresco_module_rm.patch=debug
#
# Module patch debug information
#
#log4j.logger.org.alfresco.module.org_alfresco_module_rm.patch=debug
#
# RM Permission Debug Information
#
#log4j.logger.org.alfresco.module.org_alfresco_module_rm.capability.RMEntryVoter=debug
#log4j.logger.org.alfresco.module.org_alfresco_module_rm.capability.declarative=debug

View File

@@ -55,13 +55,13 @@
<bean id="org_alfresco_module_rm_namePathExtractor" class="org.alfresco.module.org_alfresco_module_rm.audit.FilePlanNamePathDataExtractor">
<property name="registry" ref="auditModel.extractorRegistry" />
<property name="nodeService" ref="nodeService" />
<property name="rmService" ref="recordsManagementService" />
<property name="filePlanService" ref="filePlanService" />
</bean>
<bean id="org_alfresco_module_rm_nodeRefPathExtractor" class="org.alfresco.module.org_alfresco_module_rm.audit.FilePlanNodeRefPathDataExtractor">
<property name="registry" ref="auditModel.extractorRegistry" />
<property name="nodeService" ref="nodeService" />
<property name="rmService" ref="recordsManagementService" />
<property name="filePlanService" ref="filePlanService" />
</bean>
<bean id="org_alfresco_module_rm_identifierExtractor" class="org.alfresco.module.org_alfresco_module_rm.audit.FilePlanIdentifierDataExtractor">
@@ -208,6 +208,7 @@
<property name="filterRegistry" ref="nodeFilterRegistry" />
<property name="dictionaryService" ref="DictionaryService" />
<property name="dispositionService" ref="dispositionService"/>
<property name="filePlanService" ref="FilePlanService" />
</bean>
<bean id="rmTypeFormFilter"

View File

@@ -24,7 +24,7 @@
</bean>
<bean id="rm-ac-disposition-action-relative-positions" class="org.alfresco.repo.action.constraint.EnumParameterConstraint" parent="action-constraint">
<property name="enumClassName" value="org.alfresco.module.org_alfresco_module_rm.DispositionActionRelativePositions" />
<property name="enumClassName" value="org.alfresco.module.org_alfresco_module_rm.action.evaluator.DispositionActionRelativePositions" />
</bean>
<bean id="rm-ac-disposition-actions" class="org.alfresco.module.org_alfresco_module_rm.action.constraint.DispositionActionParameterConstraint" parent="action-constraint">
@@ -69,7 +69,7 @@
class="org.alfresco.module.org_alfresco_module_rm.action.evaluator.IsKindEvaluator">
<property name="recordsManagementActionService" ref="RecordsManagementActionService" />
<property name="retryingTransactionHelper" ref="retryingTransactionHelper" />
<property name="recordsManagementService" ref="RecordsManagementService" />
<property name="filePlanService" ref="FilePlanService" />
</bean>
<bean id="hasDispositionAction"
@@ -580,6 +580,7 @@
<bean id="broadcastVitalRecordDefinition"
class="org.alfresco.module.org_alfresco_module_rm.vital.BroadcastVitalRecordDefinitionAction"
parent="rmAction">
<property name="filePlanService" ref="FilePlanService"/>
<property name="filePlanAuthenticationService" ref="FilePlanAuthenticationService"/>
</bean>
@@ -787,7 +788,9 @@
<bean id="createDispositionSchedule"
class="org.alfresco.module.org_alfresco_module_rm.action.impl.CreateDispositionScheduleAction"
parent="rmAction" />
parent="rmAction">
<property name="filePlanService" ref="FilePlanService"/>
</bean>
<!-- Reject record -->

View File

@@ -56,7 +56,6 @@
parent="org_alfresco_module_rm_BaseBehaviour">
<property name="dictionaryService" ref="DictionaryService"/>
<property name="recordsManagementIdentifierService" ref="recordsManagementIdentifierService"/>
<property name="filePlanAuthenticationService" ref="FilePlanAuthenticationService"/>
</bean>
<bean id="org_alfresco_module_rm_RmSiteType"

View File

@@ -62,10 +62,10 @@
<property name="nodeDAO" ref="nodeDAO" />
<property name="qnameDAO" ref="qnameDAO"/>
<property name="nodeService" ref="NodeService"/>
<property name="recordsManagementService" ref="RecordsManagementService" />
<property name="behaviourFilter" ref="policyBehaviourFilter"/>
<property name="permissionService" ref="PermissionService"/>
<property name="recordsManagementSecurityService" ref="RecordsManagementSecurityService" />
<property name="filePlanService" ref="FilePlanService" />
<property name="filePlanRoleService" ref="filePlanRoleService" />
</bean>
<bean id="org_alfresco_module_rm_RMv2SavedSearchPatch"

View File

@@ -41,6 +41,7 @@
<bean id="org_alfresco_module_rm_dispositionSelectionStrategy"
class="org.alfresco.module.org_alfresco_module_rm.disposition.DispositionSelectionStrategy" >
<property name="dispositionService" ref="dispositionService"/>
<property name="filePlanAuthenticationService" ref="FilePlanAuthenticationService"/>
</bean>
<!-- Records Management Service -->
@@ -126,6 +127,7 @@
<property name="nodeService" ref="NodeService"/>
<property name="filePlanAuthenticationService" ref="FilePlanAuthenticationService" />
<property name="policyComponent" ref="policyComponent"/>
<property name="filePlanService" ref="FilePlanService" />
</bean>
<bean id="VitalRecordService" class="org.springframework.aop.framework.ProxyFactoryBean">
@@ -181,6 +183,7 @@
<property name="dictionaryService" ref="DictionaryService"/>
<property name="behaviourFilter" ref="policyBehaviourFilter" />
<property name="policyComponent" ref="policyComponent" />
<property name="filePlanService" ref="FilePlanService" />
<property name="dispositionSelectionStrategy">
<ref local="org_alfresco_module_rm_dispositionSelectionStrategy" />
</property>
@@ -467,6 +470,9 @@
<property name="objectDefinitionSource">
<value>
<![CDATA[
org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService.isFilePlanComponent=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService.getFilePlanComponentKind=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService.getFilePlanComponentKindFromType=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService.isFilePlan=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService.getFilePlans=RM_ALLOW,AFTER_RM.FilterNode
org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService.getFilePlan=RM_ALLOW,AFTER_RM.FilterNode
@@ -474,6 +480,14 @@
org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService.existsUnfiledContainer=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService.getUnfiledContainer=RM.Read.0,AFTER_RM.FilterNode
org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService.createUnfiledContainer=RM.Write.0
org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService.createFilePlan=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService.getNodeRefPath=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService.isFilePlanContainer=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService.isRecordCategory=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService.getAllContained=RM.Read.0,AFTER_RM.FilterNode
org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService.getContainedRecordCategories=RM.Read.0,AFTER_RM.FilterNode
org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService.getContainedRecordFolders=RM.Read.0,AFTER_RM.FilterNode
org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService.createRecordCategory=RM.Write.0
org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService.*=RM_DENY
]]>
</value>
@@ -626,7 +640,6 @@
<property name="policyComponent" ref="policyComponent"/>
<property name="recordService" ref="recordService"/>
<property name="nodeService" ref="nodeService"/>
<property name="recordsManagementService" ref="recordsManagementService"/>
<property name="filePlanService" ref="filePlanService" />
<property name="filePlanRoleService" ref="filePlanRoleService" />
</bean>
@@ -1025,6 +1038,7 @@
<property name="contentService" ref="ContentService" />
<property name="recordsManagementService" ref="RecordsManagementService" />
<property name="recordsManagementActionService" ref="RecordsManagementActionService" />
<property name="filePlanService" ref="FilePlanService" />
</bean>
<bean id="RecordsManagementAuditService" class="org.springframework.aop.framework.ProxyFactoryBean">
@@ -1067,15 +1081,21 @@
<property name="objectDefinitionSource">
<value>
<![CDATA[
org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService.clear=RM_CAP.-1.rma:filePlanComponent.DeleteAudit
org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService.clear=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService.clearAuditLog=RM_CAP.0.rma:filePlanComponent.DeleteAudit
org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService.getAuditTrail=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService.getAuditTrailFile=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService.getDateLastStarted=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService.getDateAuditLogLastStarted=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService.getDateLastStopped=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService.getDateAuditLogLastStopped=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService.isEnabled=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService.start=RM_CAP.-1.rma:filePlanComponent.EnableDisableAuditByTypes
org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService.stop=RM_CAP.-1.rma:filePlanComponent.EnableDisableAuditByTypes
org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService.fileAuditTrailAsRecord=RM_CAP.-1.rma:filePlanComponent.DeclareAuditAsRecord
org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService.isAuditLogEnabled=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService.start=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService.startAuditLog=RM_CAP.0.rma:filePlanComponent.EnableDisableAuditByTypes
org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService.stop=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService.stopAuditLog=RM_CAP.0.rma:filePlanComponent.EnableDisableAuditByTypes
org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService.fileAuditTrailAsRecord=RM_CAP.1.rma:filePlanComponent.DeclareAuditAsRecord
org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService.getAuditEvents=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService.*=RM_DENY
]]>

View File

@@ -21,6 +21,7 @@
<property name="namespaceService" ref="NamespaceService"/>
<property name="capabilityService" ref="CapabilityService"/>
<property name="freezeService" ref="FreezeService"/>
<property name="filePlanService" ref="FilePlanService" />
</bean>
<bean id="jsonConversionComponent.baseIndicator"

View File

@@ -191,6 +191,7 @@
class="org.alfresco.module.org_alfresco_module_rm.script.AuditLogPut"
parent="webscript">
<property name="recordsManagementAuditService" ref="RecordsManagementAuditService" />
<property name="filePlanService" ref="FilePlanService"/>
</bean>
<!-- REST impl for DELETE Audit Log (clears audit log) -->
@@ -198,6 +199,7 @@
class="org.alfresco.module.org_alfresco_module_rm.script.AuditLogDelete"
parent="webscript">
<property name="recordsManagementAuditService" ref="RecordsManagementAuditService" />
<property name="filePlanService" ref="FilePlanService"/>
</bean>
<!-- REST impl for POST export -->
@@ -306,7 +308,7 @@
<bean id="webscript.org.alfresco.rma.capability.capabilities.get"
class="org.alfresco.module.org_alfresco_module_rm.script.capability.CapabilitiesGet"
parent="webscript">
<property name="recordsManagementService" ref="RecordsManagementService" />
<property name="filePlanService" ref="FilePlanService" />
<property name="capabilityService" ref="CapabilityService" />
</bean>
@@ -385,6 +387,7 @@
<property name="nodeService" ref="NodeService" />
<property name="recordsManagementService" ref="RecordsManagementService" />
<property name="filePlanRoleService" ref="FilePlanRoleService" />
<property name="filePlanService" ref="FilePlanService" />
</bean>
<!-- REST impl for GET Bootstrap Test Data -->
@@ -474,7 +477,7 @@
<bean id="webscript.org.alfresco.slingshot.forms.metadata.get"
class="org.alfresco.module.org_alfresco_module_rm.script.slingshot.forms.RMMetaDataGet"
parent="webscript">
<property name="recordsManagementService" ref="RecordsManagementService" />
<property name="filePlanService" ref="FilePlanService" />
<property name="namespaceService" ref="namespaceService" />
<property name="nodeService" ref="NodeService" />
</bean>