diff --git a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/messages/hold-service.properties b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/messages/hold-service.properties index 35662dcd2c..0c8921f747 100644 --- a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/messages/hold-service.properties +++ b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/messages/hold-service.properties @@ -7,4 +7,4 @@ rm.hold.delete-node-frozen-children=Can't delete folder because it contains froz rm.hold.move-frozen-node=Frozen content can't be moved. rm.hold.update-frozen-node=Frozen content can't be updated. rm.hold.generic-permission-error=Can't delete hold, because you don't have the correct permissions for all the items within the hold. -rm.hold.detailed-permission-error=Can't delete hold, because filing permissions for the following items are needed: \ No newline at end of file +rm.hold.detailed-permission-error=Can't delete hold, because filing permissions for at least the following items are needed: \ No newline at end of file diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java index 258d3124b6..756dda7b85 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java @@ -39,11 +39,11 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.stream.Stream; import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.model.ContentModel; import org.alfresco.module.org_alfresco_module_rm.audit.RecordsManagementAuditService; -import org.alfresco.module.org_alfresco_module_rm.audit.event.AuditEvent; import org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService; import org.alfresco.module.org_alfresco_module_rm.capability.RMPermissionModel; import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService; @@ -104,6 +104,9 @@ public class HoldServiceImpl extends ServiceBaseImpl private static final String MSG_ERR_HOLD_PERMISSION_GENERIC_ERROR = "rm.hold.generic-permission-error"; private static final String MSG_ERR_HOLD_PERMISSION_DETAILED_ERROR = "rm.hold.detailed-permission-error"; + /** Maximum number of held items to display in error message */ + private static final int MAX_HELD_ITEMS_LIST_SIZE = 5; + /** File Plan Service */ private FilePlanService filePlanService; @@ -570,13 +573,13 @@ public class HoldServiceImpl extends ServiceBaseImpl if (heldNames.size() > 0) { StringBuilder sb = new StringBuilder(); - for (String name : heldNames) - { + Stream stream1 = heldNames.stream(); + stream1.limit(MAX_HELD_ITEMS_LIST_SIZE).forEach(name -> { sb.append("\n "); sb.append("'"); sb.append(name); sb.append("'"); - } + }); throw new AccessDeniedException(I18NUtil.getMessage(MSG_ERR_HOLD_PERMISSION_DETAILED_ERROR) + sb.toString()); }