You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ro...@apache.org on 2022/09/30 05:16:58 UTC

[cloudstack] branch 4.17 updated: server: Allow template names upto 255 chars (#6768)

This is an automated email from the ASF dual-hosted git repository.

rohit pushed a commit to branch 4.17
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/4.17 by this push:
     new 89d9a70dce server: Allow template names upto 255 chars (#6768)
89d9a70dce is described below

commit 89d9a70dcebf2b1b94a56d5dcb9e1b43ed538c95
Author: dahn <da...@onecht.net>
AuthorDate: Fri Sep 30 07:16:50 2022 +0200

    server: Allow template names upto 255 chars (#6768)
    
    * Allow template names upto 255 chars
    
    * Update error message
    
    * externalise name length in constant
    
    Fixes: #6766
---
 api/src/main/java/com/cloud/template/VirtualMachineTemplate.java | 2 ++
 server/src/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 95d1ebf0b8..9098f919ca 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<VirtualMachineTemplate.State> {
+    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 c8b6cfdae4..232571015f 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) {