RM-1095: Fixed circular dependency issues

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@57939 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Tuna Aksoy
2013-11-15 17:41:57 +00:00
parent cd1f4f9cc6
commit 62bfe1d4e7
8 changed files with 51 additions and 104 deletions

View File

@@ -12,9 +12,8 @@
<property name="freezeService" ref="FreezeService" />
<property name="recordService" ref="RecordService" />
<property name="filePlanService" ref="FilePlanService" />
<!-- FIXME -->
<property name="dispositionService" ref="dispositionService" />
<property name="recordFolderService" ref="recordFolderService" />
<property name="dispositionService" ref="DispositionService" />
<property name="recordFolderService" ref="RecordFolderService" />
</bean>
<bean id="capabilityCondition.frozen"

View File

@@ -137,8 +137,7 @@
<property name="recordService" ref="recordService"/>
<property name="parameterProcessorComponent" ref="parameterProcessorComponent"/>
<property name="modelSecurityService" ref="modelSecurityService" />
<!-- FIXME -->
<property name="recordFolderService" ref="recordFolderService" />
<property name="recordFolderService" ref="RecordFolderService" />
</bean>
<bean id="rmProxyAction"

View File

@@ -91,7 +91,6 @@
<property name="recordsManagementServiceRegistry" ref="RecordsManagementServiceRegistry"/>
<property name="vitalRecordService" ref="VitalRecordService"/>
<property name="nodeService" ref="nodeService"/>
<!-- FIXME -->
<property name="recordService" ref="recordService"/>
<property name="recordFolderService" ref="RecordFolderService"/>
</bean>

View File

@@ -184,9 +184,8 @@
<property name="behaviourFilter" ref="policyBehaviourFilter" />
<property name="policyComponent" ref="policyComponent" />
<property name="filePlanService" ref="FilePlanService" />
<!-- FIXME -->
<!-- <property name="recordFolderService" ref="RecordFolderService"/> -->
<property name="recordService" ref="recordService"/>
<property name="recordFolderService" ref="RecordFolderService"/>
<property name="recordService" ref="RecordService"/>
<property name="dispositionSelectionStrategy">
<ref local="org_alfresco_module_rm_dispositionSelectionStrategy" />
</property>
@@ -196,8 +195,12 @@
<property name="proxyInterfaces">
<value>org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService</value>
</property>
<property name="target">
<ref bean="dispositionService"/>
<property name="targetSource">
<bean class="org.alfresco.config.NonBlockingLazyInitTargetSource">
<property name="targetBeanName">
<idref bean="dispositionService"/>
</property>
</bean>
</property>
<property name="interceptorNames">
<list>
@@ -975,9 +978,8 @@
<bean id="freezeService" class="org.alfresco.module.org_alfresco_module_rm.freeze.FreezeServiceImpl" init-method="init">
<property name="policyComponent" ref="policyComponent" />
<property name="nodeService" ref="nodeService" />
<property name="dictionaryService" ref="dictionaryService" />
<!-- FIXME -->
<property name="recordService" ref="recordService" />
<property name="dictionaryService" ref="DictionaryService" />
<property name="recordService" ref="RecordService" />
<property name="filePlanService" ref="FilePlanService" />
<property name="permissionService" ref="PermissionService" />
<property name="filePlanRoleService" ref="FilePlanRoleService" />
@@ -1130,9 +1132,8 @@
<property name="policyComponent" ref="policyComponent" />
<property name="dispositionService" ref="DispositionService" />
<property name="dictionaryService" ref="DictionaryService" />
<!-- FIXME -->
<!-- <property name="filePlanService" ref="FilePlanService" /> -->
<!-- <property name="recordService" ref="RecordService" /> -->
<property name="filePlanService" ref="FilePlanService" />
<property name="recordService" ref="RecordService" />
</bean>
<bean id="RecordFolderService" class="org.springframework.aop.framework.ProxyFactoryBean">
@@ -1180,6 +1181,7 @@
org.alfresco.module.org_alfresco_module_rm.recordfolder.RecordFolderService.isRecordFolderClosed=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.recordfolder.RecordFolderService.createRecordFolder=RM.Write.0
org.alfresco.module.org_alfresco_module_rm.recordfolder.RecordFolderService.getRecordFolders=RM.Read.0,AFTER_RM.FilterNode
org.alfresco.module.org_alfresco_module_rm.recordfolder.RecordFolderService.initialiseRecordFolder=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.recordfolder.RecordFolderService.*=RM_DENY
]]>
</value>
@@ -1195,24 +1197,26 @@
<property name="permissionService" ref="ExtendedPermissionService"/>
<property name="extendedSecurityService" ref="ExtendedSecurityService" />
<property name="policyComponent" ref="policyComponent" />
<!-- FIXME -->
<!-- <property name="dispositionService" ref="DispositionService" /> -->
<property name="dispositionService" ref="DispositionService" />
<property name="filePlanService" ref="FilePlanService" />
<property name="ownableService" ref="OwnableService" />
<property name="notificationHelper" ref="recordsManagementNotificationHelper"/>
<property name="capabilityService" ref="CapabilityService" />
<property name="ruleService" ref="RuleService" />
<property name="fileFolderService" ref="FileFolderService" />
<!-- FIXME -->
<!-- <property name="recordFolderService" ref="RecordFolderService" /> -->
<property name="recordFolderService" ref="RecordFolderService" />
</bean>
<bean id="RecordService" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>org.alfresco.module.org_alfresco_module_rm.record.RecordService</value>
</property>
<property name="target">
<ref bean="recordService"/>
<property name="targetSource">
<bean class="org.alfresco.config.NonBlockingLazyInitTargetSource">
<property name="targetBeanName">
<idref bean="recordService"/>
</property>
</bean>
</property>
<property name="interceptorNames">
<list>
@@ -1255,6 +1259,7 @@
org.alfresco.module.org_alfresco_module_rm.record.RecordService.hideRecord=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.record.RecordService.isPropertyEditable=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.record.RecordService.isMetadataStub=RM.Read.0
org.alfresco.module.org_alfresco_module_rm.record.RecordService.getRecords=RM.Read.0,AFTER_RM.FilterNode
org.alfresco.module.org_alfresco_module_rm.record.RecordService.*=RM_DENY
]]>
</value>
@@ -1545,8 +1550,7 @@
<property name="filePlanRoleService" ref="FilePlanRoleService"/>
<property name="recordsManagementSearchBehaviour" ref="recordsManagementSearchBehaviour"/>
<property name="dispositionService" ref="DispositionService"/>
<!-- FIXME -->
<property name="recordFolderService" ref="recordFolderService"/>
<property name="recordFolderService" ref="RecordFolderService"/>
</bean>
<bean id="DataSetService" class="org.springframework.aop.framework.ProxyFactoryBean">

View File

@@ -14,16 +14,14 @@
<bean id="jsonConversionComponent.baseEvaluator"
abstract="true">
<property name="jsonConversionComponent" ref="jsonConversionComponent"/>
<!-- FIXME -->
<property name="recordService" ref="recordService"/>
<property name="recordService" ref="RecordService"/>
<property name="nodeService" ref="NodeService"/>
<property name="namespaceService" ref="NamespaceService"/>
<property name="capabilityService" ref="CapabilityService"/>
<property name="freezeService" ref="FreezeService"/>
<property name="filePlanService" ref="FilePlanService" />
<property name="dispositionService" ref="DispositionService" />
<!-- FIXME -->
<property name="recordFolderService" ref="recordFolderService" />
<property name="recordFolderService" ref="RecordFolderService" />
</bean>
<bean id="jsonConversionComponent.baseIndicator"

View File

@@ -51,9 +51,6 @@ import org.alfresco.service.namespace.RegexQNamePattern;
import org.alfresco.util.ParameterCheck;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
/**
* Disposition service implementation.
@@ -63,7 +60,6 @@ import org.springframework.context.ApplicationContextAware;
public class DispositionServiceImpl implements
DispositionService,
RecordsManagementModel,
ApplicationContextAware,
NodeServicePolicies.OnAddAspectPolicy
{
/** Logger */
@@ -87,12 +83,8 @@ public class DispositionServiceImpl implements
/** File plan service */
private FilePlanService filePlanService;
/** Application context */
private ApplicationContext applicationContext;
/** Record Folder Service */
// FIXME
//private RecordFolderService recordFolderService;
private RecordFolderService recordFolderService;
/** Record Service */
private RecordService recordService;
@@ -165,10 +157,10 @@ public class DispositionServiceImpl implements
/**
* @param recordFolderService record folder service
*/
// public void setRecordFolderService(RecordFolderService recordFolderService)
// {
// this.recordFolderService = recordFolderService;
// }
public void setRecordFolderService(RecordFolderService recordFolderService)
{
this.recordFolderService = recordFolderService;
}
/**
* @param recordService record service
@@ -178,15 +170,6 @@ public class DispositionServiceImpl implements
this.recordService = recordService;
}
/**
* @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext)
*/
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException
{
this.applicationContext = applicationContext;
}
/**
* Set the dispositionSelectionStrategy bean.
*
@@ -295,8 +278,6 @@ public class DispositionServiceImpl implements
if (serviceRegistry.getRecordService().isRecord(nodeRef) == true)
{
// Get the record folders for the record
// FIXME
RecordFolderService recordFolderService = (RecordFolderService)applicationContext.getBean("recordFolderService");
List<NodeRef> recordFolders = recordFolderService.getRecordFolders(nodeRef);
// At this point, we may have disposition instruction objects from 1..n folders.
diNodeRef = dispositionSelectionStrategy.selectDispositionScheduleFrom(recordFolders);
@@ -469,8 +450,6 @@ public class DispositionServiceImpl implements
{
List<NodeRef> items = filePlanService.getAllContained(rmContainer);
List<NodeRef> result = new ArrayList<NodeRef>(items.size());
// FIXME
RecordFolderService recordFolderService = (RecordFolderService)applicationContext.getBean("recordFolderService");
for (NodeRef item : items)
{
if (recordFolderService.isRecordFolder(item) == true)

View File

@@ -163,8 +163,7 @@ public class RecordServiceImpl implements RecordService,
private ExtendedSecurityService extendedSecurityService;
/** Disposition service */
// FIXME
//private DispositionService dispositionService;
private DispositionService dispositionService;
/** File plan service */
private FilePlanService filePlanService;
@@ -188,8 +187,7 @@ public class RecordServiceImpl implements RecordService,
private FileFolderService fileFolderService;
/** Record folder service */
// FIXME
//private RecordFolderService recordFolderService;
private RecordFolderService recordFolderService;
/** List of available record meta-data aspects */
private Set<QName> recordMetaDataAspects;
@@ -257,10 +255,10 @@ public class RecordServiceImpl implements RecordService,
/**
* @param dispositionService disposition service
*/
// public void setDispositionService(DispositionService dispositionService)
// {
// this.dispositionService = dispositionService;
// }
public void setDispositionService(DispositionService dispositionService)
{
this.dispositionService = dispositionService;
}
/**
* @param filePlanService file plan service
@@ -321,10 +319,10 @@ public class RecordServiceImpl implements RecordService,
/**
* @param recordFolderService record folder service
*/
// public void setRecordFolderService(RecordFolderService recordFolderService)
// {
// this.recordFolderService = recordFolderService;
// }
public void setRecordFolderService(RecordFolderService recordFolderService)
{
this.recordFolderService = recordFolderService;
}
/**
* Init method
@@ -860,8 +858,6 @@ public class RecordServiceImpl implements RecordService,
if (childAssocRef != null)
{
NodeRef parent = childAssocRef.getParentRef();
//FIXME
RecordFolderService recordFolderService = (RecordFolderService) applicationContext.getBean("RecordFolderService");
if (parent != null && recordFolderService.isRecordFolder(parent) == true)
{
result = true;
@@ -913,8 +909,6 @@ public class RecordServiceImpl implements RecordService,
// initialise disposition details
if (nodeService.hasAspect(record, ASPECT_DISPOSITION_LIFECYCLE) == false)
{
//FIXME
DispositionService dispositionService = (DispositionService)applicationContext.getBean("DispositionService");
DispositionSchedule di = dispositionService.getDispositionSchedule(record);
if (di != null && di.isRecordLevelDisposition() == true)
{
@@ -1295,8 +1289,6 @@ public class RecordServiceImpl implements RecordService,
ParameterCheck.mandatory("recordFolder", recordFolder);
List<NodeRef> result = new ArrayList<NodeRef>(1);
//FIXME
RecordFolderService recordFolderService = (RecordFolderService) applicationContext.getBean("RecordFolderService");
if (recordFolderService.isRecordFolder(recordFolder) == true)
{
List<ChildAssociationRef> assocs = this.nodeService.getChildAssocs(recordFolder, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL);

View File

@@ -42,9 +42,6 @@ import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName;
import org.alfresco.service.namespace.RegexQNamePattern;
import org.alfresco.util.ParameterCheck;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.extensions.surf.util.I18NUtil;
/**
@@ -56,7 +53,6 @@ import org.springframework.extensions.surf.util.I18NUtil;
public class RecordFolderServiceImpl extends ServiceBaseImpl
implements RecordFolderService,
RecordsManagementModel,
ApplicationContextAware,
NodeServicePolicies.OnCreateChildAssociationPolicy
{
/** I18N */
@@ -65,9 +61,6 @@ public class RecordFolderServiceImpl extends ServiceBaseImpl
private final static String MSG_PARENT_RECORD_FOLDER_TYPE = "rm.service.parent-record-folder-type";
private final static String MSG_RECORD_FOLDER_TYPE = "rm.service.record-folder-type";
/** Application context */
private ApplicationContext applicationContext;
/** Policy component */
private PolicyComponent policyComponent;
@@ -75,10 +68,10 @@ public class RecordFolderServiceImpl extends ServiceBaseImpl
private DispositionService dispositionService;
/** Record Service */
// private RecordService recordService;
private RecordService recordService;
/** File Plan Service */
// private FilePlanService filePlanService;
private FilePlanService filePlanService;
/** Behaviours */
private JavaBehaviour onCreateChildAssociation
@@ -109,26 +102,17 @@ public class RecordFolderServiceImpl extends ServiceBaseImpl
/**
* @param recordService record service
*/
// public void setRecordService(RecordService recordService)
// {
// this.recordService = recordService;
// }
public void setRecordService(RecordService recordService)
{
this.recordService = recordService;
}
/**
* @param filePlanService file plan service
*/
// public void setFilePlanService(FilePlanService filePlanService)
// {
// this.filePlanService = filePlanService;
// }
/**
* @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext)
*/
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException
public void setFilePlanService(FilePlanService filePlanService)
{
this.applicationContext = applicationContext;
this.filePlanService = filePlanService;
}
/**
@@ -230,9 +214,6 @@ public class RecordFolderServiceImpl extends ServiceBaseImpl
boolean result = true;
// Check that each record in the record folder in declared
// FIXME
RecordService recordService = (RecordService) applicationContext.getBean("recordService");
List<NodeRef> records = recordService.getRecords(nodeRef);
for (NodeRef record : records)
{
@@ -287,8 +268,6 @@ public class RecordFolderServiceImpl extends ServiceBaseImpl
// "properties" is not mandatory
// Check that we are not trying to create a record folder in a root container
// FIXME
FilePlanService filePlanService = (FilePlanService) applicationContext.getBean("FilePlanService");
if (filePlanService.isFilePlan(rmContainer) == true)
{
throw new AlfrescoRuntimeException(I18NUtil.getMessage(MSG_PARENT_RECORD_FOLDER_ROOT));
@@ -360,8 +339,6 @@ public class RecordFolderServiceImpl extends ServiceBaseImpl
ParameterCheck.mandatory("record", record);
List<NodeRef> result = new ArrayList<NodeRef>(1);
// FIXME
RecordService recordService = (RecordService) applicationContext.getBean("RecordService");
if (recordService.isRecord(record) == true)
{
List<ChildAssociationRef> assocs = this.nodeService.getParentAssocs(record, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL);