From 89d9a70dcebf2b1b94a56d5dcb9e1b43ed538c95 Mon Sep 17 00:00:00 2001 From: dahn Date: Fri, 30 Sep 2022 07:16:50 +0200 Subject: [PATCH] server: Allow template names upto 255 chars (#6768) * Allow template names upto 255 chars * Update error message * externalise name length in constant Fixes: #6766 --- .../main/java/com/cloud/template/VirtualMachineTemplate.java | 2 ++ .../main/java/com/cloud/template/TemplateManagerImpl.java | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/api/src/main/java/com/cloud/template/VirtualMachineTemplate.java b/api/src/main/java/com/cloud/template/VirtualMachineTemplate.java index 95d1ebf0b87..9098f919ca4 100644 --- a/api/src/main/java/com/cloud/template/VirtualMachineTemplate.java +++ b/api/src/main/java/com/cloud/template/VirtualMachineTemplate.java @@ -30,6 +30,8 @@ import com.cloud.utils.fsm.StateMachine2; import com.cloud.utils.fsm.StateObject; public interface VirtualMachineTemplate extends ControlledEntity, Identity, InternalIdentity, StateObject { + int MAXIMUM_TEMPLATE_NAME_LENGTH = 255; + enum State { Active, Inactive, diff --git a/server/src/main/java/com/cloud/template/TemplateManagerImpl.java b/server/src/main/java/com/cloud/template/TemplateManagerImpl.java index c8b6cfdae40..232571015f3 100755 --- a/server/src/main/java/com/cloud/template/TemplateManagerImpl.java +++ b/server/src/main/java/com/cloud/template/TemplateManagerImpl.java @@ -1747,8 +1747,9 @@ public class TemplateManagerImpl extends ManagerBase implements TemplateManager, _accountMgr.checkAccess(caller, null, true, templateOwner); String name = cmd.getTemplateName(); - if ((name == null) || (name.length() > 32)) { - throw new InvalidParameterValueException("Template name cannot be null and should be less than 32 characters"); + if ((org.apache.commons.lang3.StringUtils.isBlank(name) + || (name.length() > VirtualMachineTemplate.MAXIMUM_TEMPLATE_NAME_LENGTH))) { + throw new InvalidParameterValueException(String.format("Template name cannot be null and cannot be more %s characters", VirtualMachineTemplate.MAXIMUM_TEMPLATE_NAME_LENGTH)); } if (cmd.getTemplateTag() != null) {