mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
RM-1315: Manage Permissions is not working for folder inside Holds/Unfiled Records
* unit tests to show unfiled and holds permissions working correctly * fixed issues exposed by above * minor refactor for FilePlanPermissionService implementation to reduce complexity * added unit test execution to local build target git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@66102 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -139,6 +139,8 @@ public interface FilePlanService
|
||||
NodeRef createUnfiledContainer(NodeRef filePlan);
|
||||
|
||||
/**
|
||||
* Gets the hold container for a given file plan. Returns
|
||||
* null if none.
|
||||
*
|
||||
* @param filePlan
|
||||
* @return
|
||||
|
@@ -30,8 +30,6 @@ import java.util.Set;
|
||||
import org.alfresco.error.AlfrescoRuntimeException;
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.module.org_alfresco_module_rm.capability.RMPermissionModel;
|
||||
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
||||
import org.alfresco.module.org_alfresco_module_rm.record.RecordService;
|
||||
import org.alfresco.module.org_alfresco_module_rm.recordfolder.RecordFolderService;
|
||||
import org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService;
|
||||
import org.alfresco.module.org_alfresco_module_rm.security.ExtendedReaderDynamicAuthority;
|
||||
@@ -41,7 +39,6 @@ import org.alfresco.module.org_alfresco_module_rm.util.ServiceBaseImpl;
|
||||
import org.alfresco.repo.domain.node.NodeDAO;
|
||||
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.repository.NodeService;
|
||||
import org.alfresco.service.cmr.repository.StoreRef;
|
||||
import org.alfresco.service.cmr.security.PermissionService;
|
||||
import org.alfresco.service.cmr.site.SiteInfo;
|
||||
@@ -51,9 +48,6 @@ import org.alfresco.service.namespace.QName;
|
||||
import org.alfresco.service.namespace.RegexQNamePattern;
|
||||
import org.alfresco.util.Pair;
|
||||
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;
|
||||
|
||||
/**
|
||||
@@ -63,9 +57,7 @@ import org.springframework.extensions.surf.util.I18NUtil;
|
||||
* @since 2.1
|
||||
*/
|
||||
public class FilePlanServiceImpl extends ServiceBaseImpl
|
||||
implements FilePlanService,
|
||||
RecordsManagementModel,
|
||||
ApplicationContextAware
|
||||
implements FilePlanService
|
||||
{
|
||||
/** I18N */
|
||||
private final static String MSG_DUP_ROOT = "rm.service.dup-root";
|
||||
@@ -85,18 +77,6 @@ public class FilePlanServiceImpl extends ServiceBaseImpl
|
||||
/** RM site file plan container */
|
||||
private static final String FILE_PLAN_CONTAINER = "documentLibrary";
|
||||
|
||||
/** 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;
|
||||
}
|
||||
|
||||
/**
|
||||
* NOTE: for some reason spring couldn't cope with the circular references between these two
|
||||
* beans so we need to grab this one manually.
|
||||
@@ -124,14 +104,6 @@ public class FilePlanServiceImpl extends ServiceBaseImpl
|
||||
return (NodeDAO)applicationContext.getBean("nodeDAO");
|
||||
}
|
||||
|
||||
/**
|
||||
* @return internal node service
|
||||
*/
|
||||
protected NodeService getInternalNodeService()
|
||||
{
|
||||
return (NodeService)applicationContext.getBean("nodeService");
|
||||
}
|
||||
|
||||
/**
|
||||
* @return site service
|
||||
*/
|
||||
@@ -140,14 +112,6 @@ public class FilePlanServiceImpl extends ServiceBaseImpl
|
||||
return (SiteService)applicationContext.getBean("SiteService");
|
||||
}
|
||||
|
||||
/**
|
||||
* @return record service
|
||||
*/
|
||||
protected RecordService getRecordService()
|
||||
{
|
||||
return (RecordService)applicationContext.getBean("RecordService");
|
||||
}
|
||||
|
||||
/**
|
||||
* @return record folder service
|
||||
*/
|
||||
@@ -164,20 +128,6 @@ public class FilePlanServiceImpl extends ServiceBaseImpl
|
||||
return (TransferService)applicationContext.getBean("RmTransferService");
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService#isFilePlanComponent(org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
public boolean isFilePlanComponent(NodeRef nodeRef)
|
||||
{
|
||||
boolean result = false;
|
||||
if (getInternalNodeService().exists(nodeRef) &&
|
||||
getInternalNodeService().hasAspect(nodeRef, ASPECT_FILE_PLAN_COMPONENT))
|
||||
{
|
||||
result = true;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService#getFilePlanComponentKind(org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
@@ -201,7 +151,7 @@ public class FilePlanServiceImpl extends ServiceBaseImpl
|
||||
{
|
||||
result = FilePlanComponentKind.RECORD_FOLDER;
|
||||
}
|
||||
else if (getRecordService().isRecord(nodeRef))
|
||||
else if (isRecord(nodeRef))
|
||||
{
|
||||
result = FilePlanComponentKind.RECORD;
|
||||
}
|
||||
@@ -277,15 +227,7 @@ public class FilePlanServiceImpl extends ServiceBaseImpl
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService#isFilePlan(org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
public boolean isFilePlan(NodeRef nodeRef)
|
||||
{
|
||||
return instanceOf(nodeRef, TYPE_FILE_PLAN);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService#getFilePlans()
|
||||
@@ -470,25 +412,18 @@ public class FilePlanServiceImpl extends ServiceBaseImpl
|
||||
containerType,
|
||||
properties).getChildRef();
|
||||
|
||||
|
||||
// if (!inheritPermissions)
|
||||
// {
|
||||
// set inheritance to false
|
||||
getPermissionService().setInheritParentPermissions(container, false);
|
||||
getPermissionService().setPermission(container, allRoles, RMPermissionModel.READ_RECORDS, true);
|
||||
getPermissionService().setPermission(container, ExtendedReaderDynamicAuthority.EXTENDED_READER, RMPermissionModel.READ_RECORDS, true);
|
||||
getPermissionService().setPermission(container, ExtendedWriterDynamicAuthority.EXTENDED_WRITER, RMPermissionModel.FILING, true);
|
||||
getPermissionService().setPermission(container, "Administrator", RMPermissionModel.FILING, true);
|
||||
|
||||
// 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
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// just inherit eveything
|
||||
// TODO will change this when we are able to set permissions on holds and transfers!
|
||||
// getPermissionService().setInheritParentPermissions(container, true);
|
||||
// }
|
||||
// set inheritance to false
|
||||
getPermissionService().setInheritParentPermissions(container, false);
|
||||
|
||||
// give all roles read permissions on the container by default
|
||||
getPermissionService().setPermission(container, allRoles, RMPermissionModel.READ_RECORDS, true);
|
||||
|
||||
// setup the extended reader permissions
|
||||
getPermissionService().setPermission(container, ExtendedReaderDynamicAuthority.EXTENDED_READER, RMPermissionModel.READ_RECORDS, true);
|
||||
getPermissionService().setPermission(container, ExtendedWriterDynamicAuthority.EXTENDED_WRITER, RMPermissionModel.FILING, true);
|
||||
|
||||
// setup the administrator permissions
|
||||
getPermissionService().setPermission(container, "Administrator", RMPermissionModel.FILING, true);
|
||||
|
||||
return container;
|
||||
}
|
||||
@@ -605,23 +540,6 @@ public class FilePlanServiceImpl extends ServiceBaseImpl
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService#isFilePlanContainer(org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
@Override
|
||||
public boolean isFilePlanContainer(NodeRef nodeRef)
|
||||
{
|
||||
return instanceOf(nodeRef, TYPE_RECORDS_MANAGEMENT_CONTAINER);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService#isRecordCategory(org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
public boolean isRecordCategory(NodeRef nodeRef)
|
||||
{
|
||||
return instanceOf(nodeRef, TYPE_RECORD_CATEGORY);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService#createRecordCategory(org.alfresco.service.cmr.repository.NodeRef, java.lang.String, org.alfresco.service.namespace.QName, java.util.Map)
|
||||
*/
|
||||
|
@@ -25,10 +25,6 @@ import java.util.Set;
|
||||
import org.alfresco.error.AlfrescoRuntimeException;
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.module.org_alfresco_module_rm.capability.RMPermissionModel;
|
||||
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.record.RecordService;
|
||||
import org.alfresco.module.org_alfresco_module_rm.recordfolder.RecordFolderService;
|
||||
import org.alfresco.module.org_alfresco_module_rm.util.ServiceBaseImpl;
|
||||
import org.alfresco.repo.node.NodeServicePolicies;
|
||||
import org.alfresco.repo.policy.Behaviour.NotificationFrequency;
|
||||
@@ -37,7 +33,6 @@ import org.alfresco.repo.policy.PolicyComponent;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
||||
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.repository.NodeService;
|
||||
import org.alfresco.service.cmr.security.AccessPermission;
|
||||
import org.alfresco.service.cmr.security.AccessStatus;
|
||||
import org.alfresco.service.cmr.security.PermissionService;
|
||||
@@ -54,8 +49,7 @@ import org.apache.commons.logging.LogFactory;
|
||||
* @since 2.1
|
||||
*/
|
||||
public class FilePlanPermissionServiceImpl extends ServiceBaseImpl
|
||||
implements FilePlanPermissionService,
|
||||
RecordsManagementModel
|
||||
implements FilePlanPermissionService
|
||||
{
|
||||
/** Permission service */
|
||||
protected PermissionService permissionService;
|
||||
@@ -63,15 +57,6 @@ public class FilePlanPermissionServiceImpl extends ServiceBaseImpl
|
||||
/** Policy component */
|
||||
protected PolicyComponent policyComponent;
|
||||
|
||||
/** File plan service */
|
||||
protected FilePlanService filePlanService;
|
||||
|
||||
/** Record service */
|
||||
protected RecordService recordService;
|
||||
|
||||
/** Record folder service */
|
||||
protected RecordFolderService recordFolderService;
|
||||
|
||||
/** Logger */
|
||||
protected static Log logger = LogFactory.getLog(FilePlanPermissionServiceImpl.class);
|
||||
|
||||
@@ -110,14 +95,6 @@ public class FilePlanPermissionServiceImpl extends ServiceBaseImpl
|
||||
this.permissionService = permissionService;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param nodeService node service
|
||||
*/
|
||||
public void setNodeService(NodeService nodeService)
|
||||
{
|
||||
this.nodeService = nodeService;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param policyComponent policy component
|
||||
*/
|
||||
@@ -126,30 +103,6 @@ public class FilePlanPermissionServiceImpl extends ServiceBaseImpl
|
||||
this.policyComponent = policyComponent;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param filePlanService file plan service
|
||||
*/
|
||||
public void setFilePlanService(FilePlanService filePlanService)
|
||||
{
|
||||
this.filePlanService = filePlanService;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param recordService record service
|
||||
*/
|
||||
public void setRecordService(RecordService recordService)
|
||||
{
|
||||
this.recordService = recordService;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param recordFolderService record folder service
|
||||
*/
|
||||
public void setRecordFolderService(RecordFolderService recordFolderService)
|
||||
{
|
||||
this.recordFolderService = recordFolderService;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.alfresco.module.org_alfresco_module_rm.security.FilePlanPermissionService#setupRecordCategoryPermissions(org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
@@ -175,7 +128,7 @@ public class FilePlanPermissionServiceImpl extends ServiceBaseImpl
|
||||
{
|
||||
public Object doWork()
|
||||
{
|
||||
boolean fillingOnly = filePlanService.isFilePlan(parentNodeRef);
|
||||
boolean fillingOnly = isFilePlan(parentNodeRef);
|
||||
|
||||
// since this is not a root category, inherit from parent
|
||||
Set<AccessPermission> perms = permissionService.getAllSetPermissions(parentNodeRef);
|
||||
@@ -258,7 +211,7 @@ public class FilePlanPermissionServiceImpl extends ServiceBaseImpl
|
||||
*/
|
||||
public void onAddRecord(final NodeRef record, final QName aspectTypeQName)
|
||||
{
|
||||
AuthenticationUtil.runAs(new AuthenticationUtil.RunAsWork<Object>()
|
||||
runAs(new AuthenticationUtil.RunAsWork<Object>()
|
||||
{
|
||||
public Object doWork()
|
||||
{
|
||||
@@ -412,7 +365,7 @@ public class FilePlanPermissionServiceImpl extends ServiceBaseImpl
|
||||
{
|
||||
if (nodeService.exists(nodeRef))
|
||||
{
|
||||
AuthenticationUtil.runAs(new AuthenticationUtil.RunAsWork<Object>()
|
||||
runAs(new AuthenticationUtil.RunAsWork<Object>()
|
||||
{
|
||||
public Object doWork()
|
||||
{
|
||||
@@ -438,17 +391,18 @@ public class FilePlanPermissionServiceImpl extends ServiceBaseImpl
|
||||
ParameterCheck.mandatory("authority", authority);
|
||||
ParameterCheck.mandatory("permission", permission);
|
||||
|
||||
AuthenticationUtil.runAs(new AuthenticationUtil.RunAsWork<Object>()
|
||||
runAsSystem(new AuthenticationUtil.RunAsWork<Object>()
|
||||
{
|
||||
public Boolean doWork() throws Exception
|
||||
{
|
||||
if (filePlanService.isFilePlan(nodeRef))
|
||||
if (isFilePlan(nodeRef))
|
||||
{
|
||||
setPermissionDown(nodeRef, authority, permission);
|
||||
}
|
||||
else if (filePlanService.isFilePlanContainer(nodeRef) ||
|
||||
recordFolderService.isRecordFolder(nodeRef) ||
|
||||
recordService.isRecord(nodeRef))
|
||||
else if (isFilePlanContainer(nodeRef) ||
|
||||
isRecordFolder(nodeRef) ||
|
||||
isRecord(nodeRef) ||
|
||||
isHold(nodeRef))
|
||||
{
|
||||
setReadPermissionUp(nodeRef, authority);
|
||||
setPermissionDown(nodeRef, authority, permission);
|
||||
@@ -463,7 +417,7 @@ public class FilePlanPermissionServiceImpl extends ServiceBaseImpl
|
||||
|
||||
return null;
|
||||
}
|
||||
}, AuthenticationUtil.getSystemUserName());
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -475,7 +429,7 @@ public class FilePlanPermissionServiceImpl extends ServiceBaseImpl
|
||||
private void setReadPermissionUp(NodeRef nodeRef, String authority)
|
||||
{
|
||||
NodeRef parent = nodeService.getPrimaryParent(nodeRef).getParentRef();
|
||||
if (parent != null && filePlanService.isFilePlanComponent(parent))
|
||||
if (parent != null && isFilePlanComponent(parent))
|
||||
{
|
||||
setReadPermissionUpImpl(parent, authority);
|
||||
}
|
||||
@@ -492,7 +446,7 @@ public class FilePlanPermissionServiceImpl extends ServiceBaseImpl
|
||||
setPermissionImpl(nodeRef, authority, RMPermissionModel.READ_RECORDS);
|
||||
|
||||
NodeRef parent = nodeService.getPrimaryParent(nodeRef).getParentRef();
|
||||
if (parent != null && filePlanService.isFilePlanComponent(parent))
|
||||
if (parent != null && isFilePlanComponent(parent))
|
||||
{
|
||||
setReadPermissionUpImpl(parent, authority);
|
||||
}
|
||||
@@ -513,17 +467,17 @@ public class FilePlanPermissionServiceImpl extends ServiceBaseImpl
|
||||
// set permissions
|
||||
setPermissionImpl(nodeRef, authority, permission);
|
||||
|
||||
if (filePlanService.isFilePlanContainer(nodeRef) ||
|
||||
recordFolderService.isRecordFolder(nodeRef))
|
||||
if (isFilePlanContainer(nodeRef) ||
|
||||
isRecordFolder(nodeRef))
|
||||
{
|
||||
List<ChildAssociationRef> assocs = nodeService.getChildAssocs(nodeRef, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL);
|
||||
for (ChildAssociationRef assoc : assocs)
|
||||
{
|
||||
NodeRef child = assoc.getChildRef();
|
||||
if (filePlanService.isFilePlanContainer(child) ||
|
||||
recordFolderService.isRecordFolder(child) ||
|
||||
recordService.isRecord(child) ||
|
||||
instanceOf(child, TYPE_HOLD) ||
|
||||
if (isFilePlanContainer(child) ||
|
||||
isRecordFolder(child) ||
|
||||
isRecord(child) ||
|
||||
isHold(child) ||
|
||||
instanceOf(child, TYPE_TRANSFER))
|
||||
{
|
||||
setPermissionDown(child, authority, permission);
|
||||
@@ -556,7 +510,7 @@ public class FilePlanPermissionServiceImpl extends ServiceBaseImpl
|
||||
*/
|
||||
public void deletePermission(final NodeRef nodeRef, final String authority, final String permission)
|
||||
{
|
||||
AuthenticationUtil.runAs(new AuthenticationUtil.RunAsWork<Object>()
|
||||
runAsSystem(new AuthenticationUtil.RunAsWork<Object>()
|
||||
{
|
||||
public Boolean doWork() throws Exception
|
||||
{
|
||||
@@ -566,17 +520,17 @@ public class FilePlanPermissionServiceImpl extends ServiceBaseImpl
|
||||
// Delete permission on this node
|
||||
permissionService.deletePermission(nodeRef, authority, permission);
|
||||
|
||||
if (filePlanService.isFilePlanContainer(nodeRef) ||
|
||||
recordFolderService.isRecordFolder(nodeRef))
|
||||
if (isFilePlanContainer(nodeRef) ||
|
||||
isRecordFolder(nodeRef))
|
||||
{
|
||||
List<ChildAssociationRef> assocs = nodeService.getChildAssocs(nodeRef, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL);
|
||||
for (ChildAssociationRef assoc : assocs)
|
||||
{
|
||||
NodeRef child = assoc.getChildRef();
|
||||
if (filePlanService.isFilePlanContainer(child) ||
|
||||
recordFolderService.isRecordFolder(child) ||
|
||||
recordService.isRecord(child)||
|
||||
instanceOf(child, TYPE_HOLD) ||
|
||||
if (isFilePlanContainer(child) ||
|
||||
isRecordFolder(child) ||
|
||||
isRecord(child)||
|
||||
isHold(child) ||
|
||||
instanceOf(child, TYPE_TRANSFER))
|
||||
{
|
||||
deletePermission(child, authority, permission);
|
||||
@@ -587,6 +541,6 @@ public class FilePlanPermissionServiceImpl extends ServiceBaseImpl
|
||||
|
||||
return null;
|
||||
}
|
||||
}, AuthenticationUtil.getSystemUserName());
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@@ -31,6 +31,9 @@ import org.alfresco.service.cmr.repository.NodeService;
|
||||
import org.alfresco.service.namespace.QName;
|
||||
import org.alfresco.util.ParameterCheck;
|
||||
import org.alfresco.util.PropertyMap;
|
||||
import org.springframework.beans.BeansException;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.ApplicationContextAware;
|
||||
|
||||
/**
|
||||
* Helper base class for service implementations.
|
||||
@@ -38,13 +41,25 @@ import org.alfresco.util.PropertyMap;
|
||||
* @author Roy Wetherall
|
||||
* @since 2.1
|
||||
*/
|
||||
public class ServiceBaseImpl implements RecordsManagementModel
|
||||
public class ServiceBaseImpl implements RecordsManagementModel, ApplicationContextAware
|
||||
{
|
||||
/** Node service */
|
||||
protected NodeService nodeService;
|
||||
|
||||
/** Dictionary service */
|
||||
protected DictionaryService dictionaryService;
|
||||
|
||||
/** Application context */
|
||||
protected ApplicationContext applicationContext;
|
||||
|
||||
/**
|
||||
* @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext)
|
||||
*/
|
||||
@Override
|
||||
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException
|
||||
{
|
||||
this.applicationContext = applicationContext;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param nodeService node service
|
||||
@@ -61,6 +76,60 @@ public class ServiceBaseImpl implements RecordsManagementModel
|
||||
{
|
||||
this.dictionaryService = dictionaryService;
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates whether the given node is a file plan component or not.
|
||||
* <p>
|
||||
* Exposed in the FilePlan service.
|
||||
*
|
||||
* @see org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService#isFilePlanComponent(org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
public boolean isFilePlanComponent(NodeRef nodeRef)
|
||||
{
|
||||
boolean result = false;
|
||||
|
||||
// use the internal node service to prevent redirection of security checking.
|
||||
NodeService myNodeService = (NodeService)applicationContext.getBean("nodeService");
|
||||
|
||||
if (myNodeService.exists(nodeRef) &&
|
||||
myNodeService.hasAspect(nodeRef, ASPECT_FILE_PLAN_COMPONENT))
|
||||
{
|
||||
result = true;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates whether the given node is a file plan or not.
|
||||
* <p>
|
||||
* Exposed in the FilePlan service.
|
||||
*
|
||||
* @see org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService#isFilePlan(org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
public boolean isFilePlan(NodeRef nodeRef)
|
||||
{
|
||||
return instanceOf(nodeRef, TYPE_FILE_PLAN);
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates whether the given node is a file plan container or not.
|
||||
*
|
||||
* @see org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService#isFilePlanContainer(org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
public boolean isFilePlanContainer(NodeRef nodeRef)
|
||||
{
|
||||
return instanceOf(nodeRef, TYPE_RECORDS_MANAGEMENT_CONTAINER);
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates whether the given node is a record category or not.
|
||||
*
|
||||
* @see org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService#isRecordCategory(org.alfresco.service.cmr.repository.NodeRef)
|
||||
*/
|
||||
public boolean isRecordCategory(NodeRef nodeRef)
|
||||
{
|
||||
return instanceOf(nodeRef, TYPE_RECORD_CATEGORY);
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates whether the given node is a record folder or not.
|
||||
|
Reference in New Issue
Block a user