Removed applicationContext from the java classes where possible and used dependency injection instead.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@58074 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Tuna Aksoy
2013-11-21 15:02:02 +00:00
parent cc00d9b5f0
commit b30410c1db
9 changed files with 74 additions and 80 deletions

View File

@@ -1265,6 +1265,8 @@
<property name="ruleService" ref="RuleService" />
<property name="fileFolderService" ref="FileFolderService" />
<property name="recordFolderService" ref="RecordFolderService" />
<property name="vitalRecordService" ref="VitalRecordService" />
<property name="filePlanRoleService" ref="FilePlanRoleService" />
</bean>
<bean id="RecordService" class="org.springframework.aop.framework.ProxyFactoryBean">

View File

@@ -406,6 +406,7 @@
<property name="recordsManagementSecurityService" ref="RecordsManagementSecurityService" />
<property name="recordsManagementSearchBehaviour" ref="recordsManagementSearchBehaviour" />
<property name="dispositionService" ref="dispositionService" />
<property name="recordFolderService" ref="RecordFolderService" />
</bean>
<!-- REST impl for GET applydodcertmodelfixes -->

View File

@@ -225,4 +225,11 @@ public interface DispositionService
* @param nodeRef node reference
*/
void updateNextDispositionAction(NodeRef nodeRef);
/**
* Refreshes the disposition action details of the given node.
*
* @param nodeRef node reference
*/
void refreshDispositionAction(NodeRef nodeRef);
}

View File

@@ -202,10 +202,9 @@ public class DispositionServiceImpl implements
}
/**
* Helper method used to refresh the dispostion action details of the given node.
*
* @param nodeRef node reference
* @see org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService#refreshDispositionAction(NodeRef)
*/
@Override
public void refreshDispositionAction(NodeRef nodeRef)
{
ParameterCheck.mandatory("nodeRef", nodeRef);
@@ -224,7 +223,6 @@ public class DispositionServiceImpl implements
initialiseDispositionAction(nodeRef, nextDispositionActionDefinition);
}
}
}
/** ========= Disposition Property Methods ========= */

View File

@@ -24,7 +24,7 @@ import java.util.List;
import java.util.Map;
import org.alfresco.module.org_alfresco_module_rm.RecordsManagementServiceRegistry;
import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionServiceImpl;
import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService;
import org.alfresco.module.org_alfresco_module_rm.identifier.IdentifierService;
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
import org.alfresco.module.org_alfresco_module_rm.record.RecordService;
@@ -43,17 +43,13 @@ import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
/**
* Class containing behaviour for the vitalRecordDefinition aspect.
*
* @author neilm
*/
public class RecordCopyBehaviours implements RecordsManagementModel,
ApplicationContextAware
public class RecordCopyBehaviours implements RecordsManagementModel
{
/** The policy component */
private PolicyComponent policyComponent;
@@ -67,18 +63,6 @@ public class RecordCopyBehaviours implements RecordsManagementModel,
/** List of aspects to remove during move and copy */
private List<QName> unwantedAspects = new ArrayList<QName>(5);
/** Application context */
private ApplicationContext applicationContext;
/**
* @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext)
*/
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException
{
this.applicationContext = applicationContext;
}
/**
* Set the policy component
*
@@ -218,7 +202,7 @@ public class RecordCopyBehaviours implements RecordsManagementModel,
{
final RecordService rmRecordService = rmServiceRegistry.getRecordService();
final RecordFolderService recordFolderService = rmServiceRegistry.getRecordFolderService();
final DispositionServiceImpl dispositionService = (DispositionServiceImpl)applicationContext.getBean("dispositionService");
final DispositionService dispositionService = rmServiceRegistry.getDispositionService();
behaviourFilter.disableBehaviour();
try

View File

@@ -47,7 +47,7 @@ import org.alfresco.module.org_alfresco_module_rm.recordfolder.RecordFolderServi
import org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService;
import org.alfresco.module.org_alfresco_module_rm.role.Role;
import org.alfresco.module.org_alfresco_module_rm.security.ExtendedSecurityService;
import org.alfresco.module.org_alfresco_module_rm.vital.VitalRecordServiceImpl;
import org.alfresco.module.org_alfresco_module_rm.vital.VitalRecordService;
import org.alfresco.repo.node.NodeServicePolicies;
import org.alfresco.repo.policy.Behaviour.NotificationFrequency;
import org.alfresco.repo.policy.JavaBehaviour;
@@ -85,9 +85,6 @@ import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.StringUtils;
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;
import org.springframework.extensions.surf.util.I18NUtil;
/**
@@ -101,7 +98,6 @@ public class RecordServiceImpl implements RecordService,
RecordsManagementCustomModel,
NodeServicePolicies.OnCreateChildAssociationPolicy,
NodeServicePolicies.OnUpdatePropertiesPolicy,
ApplicationContextAware,
NodeServicePolicies.OnAddAspectPolicy,
NodeServicePolicies.OnRemoveAspectPolicy
{
@@ -148,9 +144,6 @@ public class RecordServiceImpl implements RecordService,
};
/** Application context */
private ApplicationContext applicationContext;
/** Node service **/
private NodeService nodeService;
@@ -193,6 +186,12 @@ public class RecordServiceImpl implements RecordService,
/** Record folder service */
private RecordFolderService recordFolderService;
/** Vital record service */
private VitalRecordService vitalRecordService;
/** File plan role service */
private FilePlanRoleService filePlanRoleService;
/** List of available record meta-data aspects */
private Set<QName> recordMetaDataAspects;
@@ -210,12 +209,6 @@ public class RecordServiceImpl implements RecordService,
"onDeleteDeclaredRecordLink",
NotificationFrequency.FIRST_EVENT);
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException
{
this.applicationContext = applicationContext;
}
/**
* @param nodeService node service
*/
@@ -328,6 +321,22 @@ public class RecordServiceImpl implements RecordService,
this.recordFolderService = recordFolderService;
}
/**
* @param vitalRecordService vital record service
*/
public void setVitalRecordService(VitalRecordService vitalRecordService)
{
this.vitalRecordService = vitalRecordService;
}
/**
* @param filePlanRoleService file plan role service
*/
public void setFilePlanRoleService(FilePlanRoleService filePlanRoleService)
{
this.filePlanRoleService = filePlanRoleService;
}
/**
* Init method
*/
@@ -907,7 +916,6 @@ public class RecordServiceImpl implements RecordService,
// initialise vital record details
// TODO .. change this to add the aspect which will trigger the init behaviour
VitalRecordServiceImpl vitalRecordService = (VitalRecordServiceImpl)applicationContext.getBean("vitalRecordService");
vitalRecordService.initialiseVitalRecord(record);
// initialise disposition details
@@ -1072,12 +1080,8 @@ public class RecordServiceImpl implements RecordService,
}
// DEBUG ...
FilePlanService fps = (FilePlanService)applicationContext.getBean("filePlanService");
FilePlanRoleService fprs = (FilePlanRoleService)applicationContext.getBean("filePlanRoleService");
PermissionService ps = (PermissionService)applicationContext.getBean("permissionService");
NodeRef filePlan = fps.getFilePlan(record);
Set<Role> roles = fprs.getRolesByUser(filePlan, AuthenticationUtil.getRunAsUser());
NodeRef filePlan = filePlanService.getFilePlan(record);
Set<Role> roles = filePlanRoleService.getRolesByUser(filePlan, AuthenticationUtil.getRunAsUser());
if (logger.isDebugEnabled() == true)
{
@@ -1104,7 +1108,7 @@ public class RecordServiceImpl implements RecordService,
{
logger.debug(" ... user has the following set permissions on the file plan");
}
Set<AccessPermission> perms = ps.getAllSetPermissions(filePlan);
Set<AccessPermission> perms = permissionService.getAllSetPermissions(filePlan);
for (AccessPermission perm : perms)
{
if (logger.isDebugEnabled() == true &&
@@ -1115,7 +1119,7 @@ public class RecordServiceImpl implements RecordService,
}
}
if (ps.hasPermission(filePlan, RMPermissionModel.EDIT_NON_RECORD_METADATA).equals(AccessStatus.ALLOWED))
if (permissionService.hasPermission(filePlan, RMPermissionModel.EDIT_NON_RECORD_METADATA).equals(AccessStatus.ALLOWED))
{
if (logger.isDebugEnabled() == true)
{

View File

@@ -38,7 +38,7 @@ import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
import org.alfresco.module.org_alfresco_module_rm.model.behaviour.RecordsManagementSearchBehaviour;
import org.alfresco.module.org_alfresco_module_rm.model.behaviour.RmSiteType;
import org.alfresco.module.org_alfresco_module_rm.recordfolder.RecordFolderServiceImpl;
import org.alfresco.module.org_alfresco_module_rm.recordfolder.RecordFolderService;
import org.alfresco.module.org_alfresco_module_rm.security.RecordsManagementSecurityService;
import org.alfresco.module.org_alfresco_module_rm.security.Role;
import org.alfresco.repo.security.authentication.AuthenticationUtil;
@@ -57,9 +57,6 @@ import org.alfresco.service.cmr.view.ImporterService;
import org.alfresco.service.cmr.view.Location;
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;
import org.springframework.extensions.webscripts.Cache;
import org.springframework.extensions.webscripts.DeclarativeWebScript;
import org.springframework.extensions.webscripts.Status;
@@ -70,7 +67,7 @@ import org.springframework.extensions.webscripts.WebScriptRequest;
*/
@Deprecated
public class BootstrapTestDataGet extends DeclarativeWebScript
implements RecordsManagementModel, ApplicationContextAware
implements RecordsManagementModel
{
private static Log logger = LogFactory.getLog(BootstrapTestDataGet.class);
@@ -93,13 +90,7 @@ public class BootstrapTestDataGet extends DeclarativeWebScript
private AuthorityService authorityService;
private RecordsManagementSearchBehaviour recordsManagementSearchBehaviour;
private DispositionService dispositionService;
private ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException
{
this.applicationContext = applicationContext;
}
private RecordFolderService recordFolderService;
public void setNodeService(NodeService nodeService)
{
@@ -156,6 +147,11 @@ public class BootstrapTestDataGet extends DeclarativeWebScript
this.recordsManagementSearchBehaviour = searchBehaviour;
}
public void setRecordFolderService(RecordFolderService recordFolderService)
{
this.recordFolderService = recordFolderService;
}
@Override
public Map<String, Object> executeImpl(WebScriptRequest req, Status status, Cache cache)
{
@@ -208,11 +204,11 @@ public class BootstrapTestDataGet extends DeclarativeWebScript
}
// Patch data
BootstrapTestDataGet.patchLoadedData(applicationContext, searchService, nodeService, recordsManagementService,
BootstrapTestDataGet.patchLoadedData(searchService, nodeService, recordsManagementService,
recordsManagementActionService, permissionService,
authorityService, recordsManagementSecurityService,
recordsManagementSearchBehaviour,
dispositionService);
dispositionService, recordFolderService);
Map<String, Object> model = new HashMap<String, Object>(1, 1.0f);
model.put("success", true);
@@ -228,8 +224,7 @@ public class BootstrapTestDataGet extends DeclarativeWebScript
* @param recordsManagementService
* @param recordsManagementActionService
*/
public static void patchLoadedData( final ApplicationContext applicationContext,
final SearchService searchService,
public static void patchLoadedData( final SearchService searchService,
final NodeService nodeService,
final RecordsManagementService recordsManagementService,
final RecordsManagementActionService recordsManagementActionService,
@@ -237,7 +232,8 @@ public class BootstrapTestDataGet extends DeclarativeWebScript
final AuthorityService authorityService,
final RecordsManagementSecurityService recordsManagementSecurityService,
final RecordsManagementSearchBehaviour recordManagementSearchBehaviour,
final DispositionService dispositionService)
final DispositionService dispositionService,
final RecordFolderService recordFolderService)
{
AuthenticationUtil.RunAsWork<Object> runAsWork = new AuthenticationUtil.RunAsWork<Object>()
{
@@ -327,8 +323,7 @@ public class BootstrapTestDataGet extends DeclarativeWebScript
{
// Fire action to "set-up" the folder correctly
logger.info("Setting up bootstraped record folder: " + folderName);
RecordFolderServiceImpl recordService = (RecordFolderServiceImpl)applicationContext.getBean("RecordFolderService");
recordService.initialiseRecordFolder(recordFolder);
recordFolderService.initialiseRecordFolder(recordFolder);
}
}

View File

@@ -23,38 +23,45 @@ import org.alfresco.service.cmr.repository.Period;
/**
* Vital Record Service.
*
*
* @author Roy Wetherall
* @since 2.0
*/
public interface VitalRecordService
{
{
/** Period 'none' */
static final Period PERIOD_NONE = new Period("none|0");
/**
* Gets the vital record definition details for the node.
*
* Gets the vital record definition details for the node.
*
* @param nodeRef node reference
* @return VitalRecordDefinition vital record definition details
*/
VitalRecordDefinition getVitalRecordDefinition(NodeRef nodeRef);
/**
* Sets the vital record definition values for a given node.
*
*
* @param nodeRef
* @param enabled
* @param reviewPeriod
* @return
*/
VitalRecordDefinition setVitalRecordDefintion(NodeRef nodeRef, boolean enabled, Period reviewPeriod);
/**
* Indicates whether the record is a vital one or not.
*
*
* @param nodeRef node reference
* @return boolean true if this is a vital record, false otherwise
*/
boolean isVitalRecord(NodeRef nodeRef);
boolean isVitalRecord(NodeRef nodeRef);
/**
* Initialises the vital record details.
*
* @param nodeRef node reference to initialise with vital record details
*/
void initialiseVitalRecord(NodeRef nodeRef);
}

View File

@@ -238,11 +238,7 @@ public class VitalRecordServiceImpl implements VitalRecordService,
}
/**
* Helper method used by services with access to the private bean to initialise vital record details.
*
* TODO consider what (if any of this) should be on the public interface
*
* @param nodeRef node reference to initialise with vital record details
* @see VitalRecordService#initialiseVitalRecord(NodeRef)
*/
public void initialiseVitalRecord(NodeRef nodeRef)
{