From 9964b70b527e53498792c4e0a4e85ee8071d742c Mon Sep 17 00:00:00 2001 From: Roxana Lucanu-Ghetu Date: Tue, 14 Jun 2016 12:27:17 +0300 Subject: [PATCH] Throw exception when trying to create records from different types other than cm:content --- .../model/rma/type/RecordsManagementContainerType.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RecordsManagementContainerType.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RecordsManagementContainerType.java index 659b509aa9..cfbb51f0be 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RecordsManagementContainerType.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RecordsManagementContainerType.java @@ -27,6 +27,7 @@ package org.alfresco.module.org_alfresco_module_rm.model.rma.type; +import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.model.ContentModel; import org.alfresco.module.org_alfresco_module_rm.identifier.IdentifierService; import org.alfresco.module.org_alfresco_module_rm.model.BaseBehaviourBean; @@ -147,6 +148,13 @@ public class RecordsManagementContainerType extends BaseBehaviourBean } else { + // Throw exception if the type is not cm:content + if (!ContentModel.TYPE_FOLDER.equals(childType) && + !dictionaryService.isSubClass(childType, ContentModel.TYPE_CONTENT)) + { + throw new AlfrescoRuntimeException("Record can't be created from this type."); + } + // We need to automatically cast the created folder to RM type if it is a plain folder // This occurs if the RM folder has been created via IMap, WebDav, etc if (!nodeService.hasAspect(child, ASPECT_FILE_PLAN_COMPONENT))