RM-263: Issue when we set disposition schedule based on Publication Date

* refactored the way disposition properties work
  * now additional disposition date properties are sprung in and registered in the disposition service
  * each disposition property bean looks after updating the disposition asof date when the date property changes
  * defaults to null date if can not be calculated
  * unit test for new method and this issue
  * also updated build scripts to successfully run unit test .. will gradually add in other unit tests as their reliability is improved



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.0@36222 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Roy Wetherall
2012-05-09 23:35:37 +00:00
parent 0e5c86e86c
commit 3498ea59a1
13 changed files with 708 additions and 120 deletions

View File

@@ -96,6 +96,9 @@
<!-- Import RM UI evaluators -->
<import resource="classpath:alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml"/>
<!-- Import disposition properties -->
<import resource="classpath:alfresco/module/org_alfresco_module_rm/rm-disposition-properties-context.xml"/>
<!-- RM Script API -->
<bean id="scriptRecordsManagementService" parent="baseJavaScriptExtension" class="org.alfresco.module.org_alfresco_module_rm.jscript.ScriptRecordsManagmentService">

View File

@@ -0,0 +1,34 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<bean
id="disposition.properties.base"
abstract="true"
class="org.alfresco.module.org_alfresco_module_rm.disposition.property.DispositionProperty"
init-method="init">
<property name="namespaceService" ref="NamespaceService" />
<property name="dictionaryService" ref="DictionaryService" />
<property name="nodeService" ref="NodeService" />
<property name="policyComponent" ref="policyComponent" />
<property name="dispositionService" ref="dispositionService" />
</bean>
<bean id="disposition.properties.cutoffdate" parent="disposition.properties.base">
<property name="name" value="rma:cutOffDate" />
</bean>
<bean id="disposition.properties.dispositionasof" parent="disposition.properties.base">
<property name="name" value="rma:dispositionAsOf" />
</bean>
<bean id="disposition.properties.datefiled" parent="disposition.properties.base">
<property name="name" value="rma:dateFiled" />
</bean>
<bean id="disposition.properties.publicationdate" parent="disposition.properties.base">
<property name="name" value="rma:publicationDate" />
</bean>
</beans>

View File

@@ -205,6 +205,8 @@
<property name="objectDefinitionSource">
<value>
<![CDATA[
org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService.registerDispositionProperty=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService.getDispositionProperties=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService.getDispositionSchedule=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService.getAssociatedDispositionSchedule=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService.getAssociatedRecordsManagementContainer=RM_ALLOW
@@ -218,8 +220,7 @@
org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService.isNextDispositionActionEligible=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService.getNextDispositionAction=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService.getCompletedDispositionActions=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService.getLastCompletedDispostionAction=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService.getDispositionPeriodProperties=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService.getLastCompletedDispostionAction=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService.*=RM_DENY
]]>
</value>
@@ -1000,17 +1001,4 @@
</property>
</bean>
<!-- Period Properties -->
<bean id="DispositionPeriodProperties" class="org.alfresco.module.org_alfresco_module_rm.disposition.DispositionPeriodProperties">
<property name="propertyList">
<list>
<value>{http://www.alfresco.org/model/recordsmanagement/1.0}cutOffDate</value>
<value>{http://www.alfresco.org/model/recordsmanagement/1.0}dispositionAsOf</value>
<value>{http://www.alfresco.org/model/recordsmanagement/1.0}dateFiled</value>
<value>{http://www.alfresco.org/model/recordsmanagement/1.0}publicationDate</value>
</list>
</property>
</bean>
</beans>