mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
RM: Fix unit test
* ensure file plan param is provided to create record action * deal with some of the depreaction warnings from recent changes git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@48441 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -48,7 +48,7 @@
|
|||||||
<bean id="org_alfresco_module_rm_userRolesExtractor" class="org.alfresco.module.org_alfresco_module_rm.audit.AuthenticatedUserRolesDataExtractor">
|
<bean id="org_alfresco_module_rm_userRolesExtractor" class="org.alfresco.module.org_alfresco_module_rm.audit.AuthenticatedUserRolesDataExtractor">
|
||||||
<property name="registry" ref="auditModel.extractorRegistry" />
|
<property name="registry" ref="auditModel.extractorRegistry" />
|
||||||
<property name="nodeService" ref="nodeService" />
|
<property name="nodeService" ref="nodeService" />
|
||||||
<property name="rmService" ref="recordsManagementService" />
|
<property name="filePlanService" ref="filePlanService" />
|
||||||
<property name="filePlanRoleService" ref="filePlanRoleService" />
|
<property name="filePlanRoleService" ref="filePlanRoleService" />
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
|
@@ -41,7 +41,7 @@
|
|||||||
<bean id="org_alfresco_module_rm_FilePlanComponentAspect"
|
<bean id="org_alfresco_module_rm_FilePlanComponentAspect"
|
||||||
class="org.alfresco.module.org_alfresco_module_rm.model.behaviour.FilePlanComponentAspect"
|
class="org.alfresco.module.org_alfresco_module_rm.model.behaviour.FilePlanComponentAspect"
|
||||||
parent="org_alfresco_module_rm_BaseBehaviour">
|
parent="org_alfresco_module_rm_BaseBehaviour">
|
||||||
<property name="recordsManagementService" ref="recordsManagementService"/>
|
<property name="filePlanService" ref="filePlanService"/>
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean id="org_alfresco_module_rm_ScheduledAspect"
|
<bean id="org_alfresco_module_rm_ScheduledAspect"
|
||||||
|
@@ -48,7 +48,7 @@
|
|||||||
<property name="permissionService" ref="permissionService"/>
|
<property name="permissionService" ref="permissionService"/>
|
||||||
<property name="recordsManagementService" ref="recordsManagementService"/>
|
<property name="recordsManagementService" ref="recordsManagementService"/>
|
||||||
<property name="caveatConfigComponent" ref="caveatConfigComponent"/>
|
<property name="caveatConfigComponent" ref="caveatConfigComponent"/>
|
||||||
<!-- <property name="recordService" ref="recordService"/> -->
|
<property name="filePlanService" ref="filePlanService"/>
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<!-- ====== -->
|
<!-- ====== -->
|
||||||
|
@@ -439,10 +439,11 @@
|
|||||||
<bean id="filePlanService"
|
<bean id="filePlanService"
|
||||||
parent="baseService"
|
parent="baseService"
|
||||||
class="org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanServiceImpl">
|
class="org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanServiceImpl">
|
||||||
<property name="permissionService" ref="PermissionService"/>
|
<!-- NOTE: for some reason we need to grab these references within the class to avoid cyclic Spring issues! -->
|
||||||
<property name="nodeDAO" ref="nodeDAO"/>
|
<!-- <property name="permissionService" ref="permissionService"/> -->
|
||||||
<property name="internalNodeService" ref="nodeService"/>
|
<!-- <property name="nodeDAO" ref="nodeDAO"/> -->
|
||||||
<property name="siteService" ref="SiteService" />
|
<!-- <property name="internalNodeService" ref="nodeService"/> -->
|
||||||
|
<!-- <property name="siteService" ref="SiteService" /> -->
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean id="FilePlanService" class="org.springframework.aop.framework.ProxyFactoryBean">
|
<bean id="FilePlanService" class="org.springframework.aop.framework.ProxyFactoryBean">
|
||||||
|
@@ -21,7 +21,7 @@ package org.alfresco.module.org_alfresco_module_rm.audit;
|
|||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.alfresco.module.org_alfresco_module_rm.RecordsManagementService;
|
import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService;
|
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.role.Role;
|
||||||
@@ -41,7 +41,7 @@ import org.alfresco.service.cmr.repository.NodeService;
|
|||||||
public final class AuthenticatedUserRolesDataExtractor extends AbstractDataExtractor
|
public final class AuthenticatedUserRolesDataExtractor extends AbstractDataExtractor
|
||||||
{
|
{
|
||||||
private NodeService nodeService;
|
private NodeService nodeService;
|
||||||
private RecordsManagementService rmService;
|
private FilePlanService filePlanService;
|
||||||
private FilePlanRoleService filePlanRoleService;
|
private FilePlanRoleService filePlanRoleService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -53,11 +53,11 @@ public final class AuthenticatedUserRolesDataExtractor extends AbstractDataExtra
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to find the RM root
|
* @param filePlanService file plan service
|
||||||
*/
|
*/
|
||||||
public void setRmService(RecordsManagementService rmService)
|
public void setFilePlanService(FilePlanService filePlanService)
|
||||||
{
|
{
|
||||||
this.rmService = rmService;
|
this.filePlanService = filePlanService;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -81,6 +81,9 @@ public final class AuthenticatedUserRolesDataExtractor extends AbstractDataExtra
|
|||||||
return nodeService.hasAspect((NodeRef)data, RecordsManagementModel.ASPECT_FILE_PLAN_COMPONENT);
|
return nodeService.hasAspect((NodeRef)data, RecordsManagementModel.ASPECT_FILE_PLAN_COMPONENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see org.alfresco.repo.audit.extractor.DataExtractor#extractData(java.io.Serializable)
|
||||||
|
*/
|
||||||
public Serializable extractData(Serializable value) throws Throwable
|
public Serializable extractData(Serializable value) throws Throwable
|
||||||
{
|
{
|
||||||
NodeRef nodeRef = (NodeRef) value;
|
NodeRef nodeRef = (NodeRef) value;
|
||||||
@@ -92,7 +95,7 @@ public final class AuthenticatedUserRolesDataExtractor extends AbstractDataExtra
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Get the rm root
|
// Get the rm root
|
||||||
NodeRef rmRootNodeRef = rmService.getFilePlan(nodeRef);
|
NodeRef rmRootNodeRef = filePlanService.getFilePlan(nodeRef);
|
||||||
|
|
||||||
Set<Role> roles = filePlanRoleService.getRolesByUser(rmRootNodeRef, user);
|
Set<Role> roles = filePlanRoleService.getRolesByUser(rmRootNodeRef, user);
|
||||||
StringBuilder sb = new StringBuilder(100);
|
StringBuilder sb = new StringBuilder(100);
|
||||||
|
@@ -959,7 +959,7 @@ public class RMAfterInvocationProvider extends RMSecurityCommon
|
|||||||
String uuid = DefaultTypeConverter.INSTANCE.convert(String.class, filtered.get(ContentModel.PROP_NODE_UUID));
|
String uuid = DefaultTypeConverter.INSTANCE.convert(String.class, filtered.get(ContentModel.PROP_NODE_UUID));
|
||||||
StoreRef storeRef = new StoreRef(protocol, identifier);
|
StoreRef storeRef = new StoreRef(protocol, identifier);
|
||||||
NodeRef nodeRef = new NodeRef(storeRef, uuid);
|
NodeRef nodeRef = new NodeRef(storeRef, uuid);
|
||||||
if ((nodeRef == null) || (permissionService.hasPermission(rmService.getFilePlan(nodeRef), RMPermissionModel.VIEW_UPDATE_REASONS_FOR_FREEZE) != AccessStatus.ALLOWED))
|
if ((nodeRef == null) || (permissionService.hasPermission(filePlanService.getFilePlan(nodeRef), RMPermissionModel.VIEW_UPDATE_REASONS_FOR_FREEZE) != AccessStatus.ALLOWED))
|
||||||
{
|
{
|
||||||
filtered.remove(RecordsManagementModel.PROP_HOLD_REASON);
|
filtered.remove(RecordsManagementModel.PROP_HOLD_REASON);
|
||||||
}
|
}
|
||||||
|
@@ -22,6 +22,8 @@ import net.sf.acegisecurity.vote.AccessDecisionVoter;
|
|||||||
|
|
||||||
import org.alfresco.module.org_alfresco_module_rm.RecordsManagementService;
|
import org.alfresco.module.org_alfresco_module_rm.RecordsManagementService;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.caveat.RMCaveatConfigComponent;
|
import org.alfresco.module.org_alfresco_module_rm.caveat.RMCaveatConfigComponent;
|
||||||
|
import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
|
||||||
|
import org.alfresco.module.org_alfresco_module_rm.record.RecordService;
|
||||||
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
||||||
import org.alfresco.repo.transaction.AlfrescoTransactionSupport;
|
import org.alfresco.repo.transaction.AlfrescoTransactionSupport;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
@@ -32,6 +34,10 @@ import org.apache.commons.logging.Log;
|
|||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Common security functions.
|
||||||
|
*
|
||||||
|
* TODO move methods to the appropriate services
|
||||||
|
*
|
||||||
* @author Roy Wetherall
|
* @author Roy Wetherall
|
||||||
* @since 2.0
|
* @since 2.0
|
||||||
*/
|
*/
|
||||||
@@ -41,10 +47,12 @@ public class RMSecurityCommon
|
|||||||
|
|
||||||
private static Log logger = LogFactory.getLog(RMSecurityCommon.class);
|
private static Log logger = LogFactory.getLog(RMSecurityCommon.class);
|
||||||
|
|
||||||
|
/** Services */
|
||||||
protected NodeService nodeService;
|
protected NodeService nodeService;
|
||||||
protected PermissionService permissionService;
|
protected PermissionService permissionService;
|
||||||
protected RecordsManagementService rmService;
|
protected RecordsManagementService rmService;
|
||||||
protected RMCaveatConfigComponent caveatConfigComponent;
|
protected RMCaveatConfigComponent caveatConfigComponent;
|
||||||
|
protected FilePlanService filePlanService;
|
||||||
|
|
||||||
public void setNodeService(NodeService nodeService)
|
public void setNodeService(NodeService nodeService)
|
||||||
{
|
{
|
||||||
@@ -66,6 +74,11 @@ public class RMSecurityCommon
|
|||||||
this.caveatConfigComponent = caveatConfigComponent;
|
this.caveatConfigComponent = caveatConfigComponent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setFilePlanService(FilePlanService filePlanService)
|
||||||
|
{
|
||||||
|
this.filePlanService = filePlanService;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param prefix
|
* @param prefix
|
||||||
@@ -165,7 +178,7 @@ public class RMSecurityCommon
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Get the file plan for the node
|
// Get the file plan for the node
|
||||||
NodeRef filePlan = rmService.getFilePlan(nodeRef);
|
NodeRef filePlan = filePlanService.getFilePlan(nodeRef);
|
||||||
|
|
||||||
// Admin role
|
// Admin role
|
||||||
if (permissionService.hasPermission(filePlan, RMPermissionModel.ROLE_ADMINISTRATOR) == AccessStatus.ALLOWED)
|
if (permissionService.hasPermission(filePlan, RMPermissionModel.ROLE_ADMINISTRATOR) == AccessStatus.ALLOWED)
|
||||||
@@ -208,5 +221,4 @@ public class RMSecurityCommon
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -170,7 +170,7 @@ public class DeclarativeCapability extends AbstractCapability
|
|||||||
protected boolean checkPermissionsImpl(NodeRef nodeRef, String ... permissions)
|
protected boolean checkPermissionsImpl(NodeRef nodeRef, String ... permissions)
|
||||||
{
|
{
|
||||||
boolean result = true;
|
boolean result = true;
|
||||||
NodeRef filePlan = rmService.getFilePlan(nodeRef);
|
NodeRef filePlan = filePlanService.getFilePlan(nodeRef);
|
||||||
|
|
||||||
for (String permission : permissions)
|
for (String permission : permissions)
|
||||||
{
|
{
|
||||||
|
@@ -122,7 +122,7 @@ public class CreateCapability extends DeclarativeCapability
|
|||||||
{
|
{
|
||||||
if (rmService.isRecordFolder(destination))
|
if (rmService.isRecordFolder(destination))
|
||||||
{
|
{
|
||||||
if (permissionService.hasPermission(rmService.getFilePlan(destination), RMPermissionModel.DECLARE_RECORDS_IN_CLOSED_FOLDERS) == AccessStatus.ALLOWED)
|
if (permissionService.hasPermission(filePlanService.getFilePlan(destination), RMPermissionModel.DECLARE_RECORDS_IN_CLOSED_FOLDERS) == AccessStatus.ALLOWED)
|
||||||
{
|
{
|
||||||
return AccessDecisionVoter.ACCESS_GRANTED;
|
return AccessDecisionVoter.ACCESS_GRANTED;
|
||||||
}
|
}
|
||||||
@@ -135,7 +135,7 @@ public class CreateCapability extends DeclarativeCapability
|
|||||||
{
|
{
|
||||||
if (rmService.isRecordFolder(destination))
|
if (rmService.isRecordFolder(destination))
|
||||||
{
|
{
|
||||||
if (permissionService.hasPermission(rmService.getFilePlan(destination), RMPermissionModel.CREATE_MODIFY_RECORDS_IN_CUTOFF_FOLDERS) == AccessStatus.ALLOWED)
|
if (permissionService.hasPermission(filePlanService.getFilePlan(destination), RMPermissionModel.CREATE_MODIFY_RECORDS_IN_CUTOFF_FOLDERS) == AccessStatus.ALLOWED)
|
||||||
{
|
{
|
||||||
return AccessDecisionVoter.ACCESS_GRANTED;
|
return AccessDecisionVoter.ACCESS_GRANTED;
|
||||||
}
|
}
|
||||||
|
@@ -66,21 +66,9 @@ public class FilePlanServiceImpl extends ServiceBaseImpl
|
|||||||
/** RM site file plan container */
|
/** RM site file plan container */
|
||||||
private static final String FILE_PLAN_CONTAINER = "documentLibrary";
|
private static final String FILE_PLAN_CONTAINER = "documentLibrary";
|
||||||
|
|
||||||
/** Services */
|
|
||||||
private PermissionService permissionService;
|
|
||||||
|
|
||||||
/** Application context */
|
/** Application context */
|
||||||
private ApplicationContext applicationContext;
|
private ApplicationContext applicationContext;
|
||||||
|
|
||||||
/** Node DAO */
|
|
||||||
private NodeDAO nodeDAO;
|
|
||||||
|
|
||||||
/** Internal node service */
|
|
||||||
private NodeService internalNodeService;
|
|
||||||
|
|
||||||
/** Site service */
|
|
||||||
private SiteService siteService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext)
|
* @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext)
|
||||||
*/
|
*/
|
||||||
@@ -96,41 +84,29 @@ public class FilePlanServiceImpl extends ServiceBaseImpl
|
|||||||
*
|
*
|
||||||
* @return file plan role service
|
* @return file plan role service
|
||||||
*/
|
*/
|
||||||
public FilePlanRoleService getFilePlanRoleService()
|
protected FilePlanRoleService getFilePlanRoleService()
|
||||||
{
|
{
|
||||||
return (FilePlanRoleService)applicationContext.getBean("FilePlanRoleService");
|
return (FilePlanRoleService)applicationContext.getBean("FilePlanRoleService");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
protected PermissionService getPermissionService()
|
||||||
* @param permissionService permission service
|
|
||||||
*/
|
|
||||||
public void setPermissionService(PermissionService permissionService)
|
|
||||||
{
|
{
|
||||||
this.permissionService = permissionService;
|
return (PermissionService)applicationContext.getBean("permissionService");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
protected NodeDAO getNodeDAO()
|
||||||
* @param nodeDAO node DAO
|
|
||||||
*/
|
|
||||||
public void setNodeDAO(NodeDAO nodeDAO)
|
|
||||||
{
|
{
|
||||||
this.nodeDAO = nodeDAO;
|
return (NodeDAO)applicationContext.getBean("nodeDAO");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
protected NodeService getInternalNodeService()
|
||||||
* @param internalNodeService node service (internal bean)
|
|
||||||
*/
|
|
||||||
public void setInternalNodeService(NodeService internalNodeService)
|
|
||||||
{
|
{
|
||||||
this.internalNodeService = internalNodeService;
|
return (NodeService)applicationContext.getBean("nodeService");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
protected SiteService getSiteService()
|
||||||
* @param siteService site service
|
|
||||||
*/
|
|
||||||
public void setSiteService(SiteService siteService)
|
|
||||||
{
|
{
|
||||||
this.siteService = siteService;
|
return (SiteService)applicationContext.getBean("SiteService");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -161,7 +137,7 @@ public class FilePlanServiceImpl extends ServiceBaseImpl
|
|||||||
final Set<NodeRef> results = new HashSet<NodeRef>();
|
final Set<NodeRef> results = new HashSet<NodeRef>();
|
||||||
Set<QName> aspects = new HashSet<QName>(1);
|
Set<QName> aspects = new HashSet<QName>(1);
|
||||||
aspects.add(ASPECT_RECORDS_MANAGEMENT_ROOT);
|
aspects.add(ASPECT_RECORDS_MANAGEMENT_ROOT);
|
||||||
nodeDAO.getNodesWithAspects(aspects, Long.MIN_VALUE, Long.MAX_VALUE, new NodeDAO.NodeRefQueryCallback()
|
getNodeDAO().getNodesWithAspects(aspects, Long.MIN_VALUE, Long.MAX_VALUE, new NodeDAO.NodeRefQueryCallback()
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public boolean handle(Pair<Long, NodeRef> nodePair)
|
public boolean handle(Pair<Long, NodeRef> nodePair)
|
||||||
@@ -187,7 +163,7 @@ public class FilePlanServiceImpl extends ServiceBaseImpl
|
|||||||
NodeRef result = null;
|
NodeRef result = null;
|
||||||
if (nodeRef != null)
|
if (nodeRef != null)
|
||||||
{
|
{
|
||||||
result = (NodeRef)internalNodeService.getProperty(nodeRef, PROP_ROOT_NODEREF);
|
result = (NodeRef)getInternalNodeService().getProperty(nodeRef, PROP_ROOT_NODEREF);
|
||||||
if (result == null)
|
if (result == null)
|
||||||
{
|
{
|
||||||
if (instanceOf(nodeRef, TYPE_FILE_PLAN) == true)
|
if (instanceOf(nodeRef, TYPE_FILE_PLAN) == true)
|
||||||
@@ -196,7 +172,7 @@ public class FilePlanServiceImpl extends ServiceBaseImpl
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ChildAssociationRef parentAssocRef = internalNodeService.getPrimaryParent(nodeRef);
|
ChildAssociationRef parentAssocRef = getInternalNodeService().getPrimaryParent(nodeRef);
|
||||||
if (parentAssocRef != null)
|
if (parentAssocRef != null)
|
||||||
{
|
{
|
||||||
result = getFilePlan(parentAssocRef.getParentRef());
|
result = getFilePlan(parentAssocRef.getParentRef());
|
||||||
@@ -216,12 +192,12 @@ public class FilePlanServiceImpl extends ServiceBaseImpl
|
|||||||
{
|
{
|
||||||
NodeRef filePlan = null;
|
NodeRef filePlan = null;
|
||||||
|
|
||||||
SiteInfo siteInfo = siteService.getSite(siteId);
|
SiteInfo siteInfo = getSiteService().getSite(siteId);
|
||||||
if (siteInfo != null)
|
if (siteInfo != null)
|
||||||
{
|
{
|
||||||
if (siteService.hasContainer(siteId, FILE_PLAN_CONTAINER) == true)
|
if (getSiteService().hasContainer(siteId, FILE_PLAN_CONTAINER) == true)
|
||||||
{
|
{
|
||||||
NodeRef nodeRef = siteService.getContainer(siteId, FILE_PLAN_CONTAINER);
|
NodeRef nodeRef = getSiteService().getContainer(siteId, FILE_PLAN_CONTAINER);
|
||||||
if (instanceOf(nodeRef, TYPE_FILE_PLAN) == true)
|
if (instanceOf(nodeRef, TYPE_FILE_PLAN) == true)
|
||||||
{
|
{
|
||||||
filePlan = nodeRef;
|
filePlan = nodeRef;
|
||||||
@@ -295,10 +271,10 @@ public class FilePlanServiceImpl extends ServiceBaseImpl
|
|||||||
properties).getChildRef();
|
properties).getChildRef();
|
||||||
|
|
||||||
// set inheritance to false
|
// set inheritance to false
|
||||||
permissionService.setInheritParentPermissions(container, false);
|
getPermissionService().setInheritParentPermissions(container, false);
|
||||||
permissionService.setPermission(container, allRoles, RMPermissionModel.READ_RECORDS, true);
|
getPermissionService().setPermission(container, allRoles, RMPermissionModel.READ_RECORDS, true);
|
||||||
permissionService.setPermission(container, ExtendedReaderDynamicAuthority.EXTENDED_READER, RMPermissionModel.READ_RECORDS, true);
|
getPermissionService().setPermission(container, ExtendedReaderDynamicAuthority.EXTENDED_READER, RMPermissionModel.READ_RECORDS, true);
|
||||||
permissionService.setPermission(container, ExtendedWriterDynamicAuthority.EXTENDED_WRITER, RMPermissionModel.FILING, true);
|
getPermissionService().setPermission(container, ExtendedWriterDynamicAuthority.EXTENDED_WRITER, RMPermissionModel.FILING, true);
|
||||||
|
|
||||||
// TODO set the admin users to have filing permissions on the unfiled container!!!
|
// TODO set the admin users to have filing permissions on the unfiled container!!!
|
||||||
// TODO we will need to be able to get a list of the admin roles from the service
|
// TODO we will need to be able to get a list of the admin roles from the service
|
||||||
|
@@ -21,7 +21,7 @@ package org.alfresco.module.org_alfresco_module_rm.model.behaviour;
|
|||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.alfresco.module.org_alfresco_module_rm.RecordsManagementService;
|
import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
||||||
import org.alfresco.repo.copy.AbstractCopyBehaviourCallback;
|
import org.alfresco.repo.copy.AbstractCopyBehaviourCallback;
|
||||||
import org.alfresco.repo.copy.CopyBehaviourCallback;
|
import org.alfresco.repo.copy.CopyBehaviourCallback;
|
||||||
@@ -50,12 +50,12 @@ public class FilePlanComponentAspect implements RecordsManagementModel,
|
|||||||
/** Policy component */
|
/** Policy component */
|
||||||
private PolicyComponent policyComponent;
|
private PolicyComponent policyComponent;
|
||||||
|
|
||||||
/** Records Management Service */
|
|
||||||
private RecordsManagementService recordsManagementService;
|
|
||||||
|
|
||||||
/** Node service */
|
/** Node service */
|
||||||
private NodeService nodeService;
|
private NodeService nodeService;
|
||||||
|
|
||||||
|
/** File plan service */
|
||||||
|
private FilePlanService filePlanService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the policy component
|
* Set the policy component
|
||||||
* @param policyComponent policy component
|
* @param policyComponent policy component
|
||||||
@@ -65,15 +65,6 @@ public class FilePlanComponentAspect implements RecordsManagementModel,
|
|||||||
this.policyComponent = policyComponent;
|
this.policyComponent = policyComponent;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the records management service
|
|
||||||
* @param recordsManagementService records management service
|
|
||||||
*/
|
|
||||||
public void setRecordsManagementService(RecordsManagementService recordsManagementService)
|
|
||||||
{
|
|
||||||
this.recordsManagementService = recordsManagementService;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set node service
|
* Set node service
|
||||||
* @param nodeService node service
|
* @param nodeService node service
|
||||||
@@ -83,6 +74,14 @@ public class FilePlanComponentAspect implements RecordsManagementModel,
|
|||||||
this.nodeService = nodeService;
|
this.nodeService = nodeService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param filePlanService file plan service
|
||||||
|
*/
|
||||||
|
public void setFilePlanService(FilePlanService filePlanService)
|
||||||
|
{
|
||||||
|
this.filePlanService = filePlanService;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Bean initialisation method
|
* Bean initialisation method
|
||||||
*/
|
*/
|
||||||
@@ -116,7 +115,7 @@ public class FilePlanComponentAspect implements RecordsManagementModel,
|
|||||||
if (nodeService.exists(nodeRef) == true)
|
if (nodeService.exists(nodeRef) == true)
|
||||||
{
|
{
|
||||||
// Look up the root and set on the aspect if found
|
// Look up the root and set on the aspect if found
|
||||||
NodeRef root = recordsManagementService.getFilePlan(nodeRef);
|
NodeRef root = filePlanService.getFilePlan(nodeRef);
|
||||||
if (root != null)
|
if (root != null)
|
||||||
{
|
{
|
||||||
nodeService.setProperty(nodeRef, PROP_ROOT_NODEREF, root);
|
nodeService.setProperty(nodeRef, PROP_ROOT_NODEREF, root);
|
||||||
@@ -143,7 +142,7 @@ public class FilePlanComponentAspect implements RecordsManagementModel,
|
|||||||
nodeService.exists(newChildAssocRef.getChildRef()) == true)
|
nodeService.exists(newChildAssocRef.getChildRef()) == true)
|
||||||
{
|
{
|
||||||
// Look up the root and re-set the value currently stored on the aspect
|
// Look up the root and re-set the value currently stored on the aspect
|
||||||
NodeRef root = recordsManagementService.getFilePlan(newChildAssocRef.getParentRef());
|
NodeRef root = filePlanService.getFilePlan(newChildAssocRef.getParentRef());
|
||||||
// NOTE: set the null value if no root found
|
// NOTE: set the null value if no root found
|
||||||
nodeService.setProperty(newChildAssocRef.getChildRef(), PROP_ROOT_NODEREF, root);
|
nodeService.setProperty(newChildAssocRef.getChildRef(), PROP_ROOT_NODEREF, root);
|
||||||
}
|
}
|
||||||
@@ -185,7 +184,7 @@ public class FilePlanComponentAspect implements RecordsManagementModel,
|
|||||||
Map<QName, Serializable> properties)
|
Map<QName, Serializable> properties)
|
||||||
{
|
{
|
||||||
// Only copy the root node reference if the new value can be looked up via the parent
|
// Only copy the root node reference if the new value can be looked up via the parent
|
||||||
NodeRef root = recordsManagementService.getFilePlan(copyDetails.getTargetParentNodeRef());
|
NodeRef root = filePlanService.getFilePlan(copyDetails.getTargetParentNodeRef());
|
||||||
if (root != null)
|
if (root != null)
|
||||||
{
|
{
|
||||||
properties.put(PROP_ROOT_NODEREF, root);
|
properties.put(PROP_ROOT_NODEREF, root);
|
||||||
|
@@ -83,6 +83,7 @@ public class HideRecordActionTest extends BaseRMTestCase
|
|||||||
|
|
||||||
// Create a record from that document
|
// Create a record from that document
|
||||||
Action createAction = dmActionService.createAction(CreateRecordAction.NAME);
|
Action createAction = dmActionService.createAction(CreateRecordAction.NAME);
|
||||||
|
createAction.setParameterValue(CreateRecordAction.PARAM_FILE_PLAN, filePlan);
|
||||||
dmActionService.executeAction(createAction, doc);
|
dmActionService.executeAction(createAction, doc);
|
||||||
|
|
||||||
// Check if the document is a record now
|
// Check if the document is a record now
|
||||||
|
Reference in New Issue
Block a user