From e254cdec5ea07cbc907aaeecb60dbc7a380d1e14 Mon Sep 17 00:00:00 2001 From: Tyler Ouyang Date: Mon, 30 Sep 2024 11:00:03 -0700 Subject: [PATCH] Trim operator --- .../deployservice/bean/AgentBean.java | 4 +-- .../deployservice/bean/BaseBean.java | 21 +++++++++++++ .../deployservice/bean/ConfigHistoryBean.java | 4 +-- .../deployservice/bean/DataBean.java | 4 +-- .../deployservice/bean/DeployBean.java | 4 +-- .../deployservice/bean/EnvironBean.java | 4 +-- .../deployservice/bean/HotfixBean.java | 4 +-- .../deployservice/bean/PromoteBean.java | 4 +-- .../pinterest/deployservice/bean/TagBean.java | 2 +- .../deployservice/bean/BaseBeanTest.java | 31 +++++++++++++++++++ 10 files changed, 67 insertions(+), 15 deletions(-) create mode 100644 deploy-service/common/src/main/java/com/pinterest/deployservice/bean/BaseBean.java create mode 100644 deploy-service/common/src/test/java/com/pinterest/deployservice/bean/BaseBeanTest.java diff --git a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/AgentBean.java b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/AgentBean.java index 4f11b6723d..f510955180 100644 --- a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/AgentBean.java +++ b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/AgentBean.java @@ -18,7 +18,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.apache.commons.lang3.builder.ReflectionToStringBuilder; -public class AgentBean implements Updatable { +public class AgentBean extends BaseBean implements Updatable { @JsonProperty("hostId") private String host_id; @@ -161,7 +161,7 @@ public String getLast_operator() { } public void setLast_operator(String last_operator) { - this.last_operator = last_operator; + this.last_operator = getStringWithSizeLimit(last_operator, 64); } public Boolean getFirst_deploy() { diff --git a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/BaseBean.java b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/BaseBean.java new file mode 100644 index 0000000000..8f39f3d04d --- /dev/null +++ b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/BaseBean.java @@ -0,0 +1,21 @@ +package com.pinterest.deployservice.bean; + +public class BaseBean { + + /** + * Trims the input string to the specified size limit. If the input string's length + * exceeds the limit, the method returns the substring from the end of the string + * with the specified limit. Otherwise returns the original string. + * + * @param value the input string to be trimmed + * @param limit the maximum length of the returned string + * @return the trimmed string if the input string's length exceeds the limit, + * otherwise the original string + */ + protected String getStringWithSizeLimit(String value, int limit) { + if (value != null && value.length() > limit) { + return value.substring(value.length() - limit, value.length()); + } + return value; + } +} diff --git a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/ConfigHistoryBean.java b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/ConfigHistoryBean.java index 0c7bcfcca4..3b65649cd5 100644 --- a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/ConfigHistoryBean.java +++ b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/ConfigHistoryBean.java @@ -18,7 +18,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.apache.commons.lang3.builder.ReflectionToStringBuilder; -public class ConfigHistoryBean implements Updatable { +public class ConfigHistoryBean extends BaseBean implements Updatable { @JsonProperty("id") private String config_id; @@ -62,7 +62,7 @@ public Long getCreation_time() { } public void setOperator(String operator) { - this.operator = operator; + this.operator = getStringWithSizeLimit(operator, 64); } public String getOperator() { diff --git a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/DataBean.java b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/DataBean.java index 99518a48ac..ab5c6b5ab1 100644 --- a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/DataBean.java +++ b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/DataBean.java @@ -17,7 +17,7 @@ import org.apache.commons.lang3.builder.ReflectionToStringBuilder; -public class DataBean implements Updatable { +public class DataBean extends BaseBean implements Updatable { private String data_id; // TODO deprecate data_kind, we should use json all the time private String data_kind; @@ -46,7 +46,7 @@ public String getOperator() { } public void setOperator(String operator) { - this.operator = operator; + this.operator = getStringWithSizeLimit(operator, 64); } public String getData() { diff --git a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/DeployBean.java b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/DeployBean.java index afd41c1cbc..7d27e88276 100644 --- a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/DeployBean.java +++ b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/DeployBean.java @@ -18,7 +18,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.apache.commons.lang3.builder.ReflectionToStringBuilder; -public class DeployBean implements Updatable { +public class DeployBean extends BaseBean implements Updatable { @JsonProperty("id") private String deploy_id; @@ -107,7 +107,7 @@ public String getOperator() { } public void setOperator(String operator) { - this.operator = operator; + this.operator = getStringWithSizeLimit(operator, 64); } public Long getLast_update() { diff --git a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/EnvironBean.java b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/EnvironBean.java index 8e2c4cc9c7..c3c79231c7 100644 --- a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/EnvironBean.java +++ b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/EnvironBean.java @@ -22,7 +22,7 @@ import org.apache.commons.text.StringEscapeUtils; import org.hibernate.validator.constraints.Range; -public class EnvironBean implements Updatable, Serializable { +public class EnvironBean extends BaseBean implements Updatable, Serializable { @JsonProperty("id") private String env_id; @@ -309,7 +309,7 @@ public String getLast_operator() { } public void setLast_operator(String last_operator) { - this.last_operator = last_operator; + this.last_operator = getStringWithSizeLimit(last_operator, 64); } public Long getLast_update() { diff --git a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/HotfixBean.java b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/HotfixBean.java index 30290d33d3..671162784e 100644 --- a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/HotfixBean.java +++ b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/HotfixBean.java @@ -19,7 +19,7 @@ import javax.validation.constraints.NotEmpty; import org.apache.commons.lang3.builder.ReflectionToStringBuilder; -public class HotfixBean implements Updatable { +public class HotfixBean extends BaseBean implements Updatable { private String id; @NotEmpty @@ -145,7 +145,7 @@ public String getOperator() { } public void setOperator(String operator) { - this.operator = operator; + this.operator = getStringWithSizeLimit(operator, 32); } public Long getStart_time() { diff --git a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/PromoteBean.java b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/PromoteBean.java index a1b21f5a92..5c6bdb638f 100644 --- a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/PromoteBean.java +++ b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/PromoteBean.java @@ -27,7 +27,7 @@ import org.apache.commons.lang3.builder.ReflectionToStringBuilder; import org.quartz.CronExpression; -public class PromoteBean implements Updatable, Serializable { +public class PromoteBean extends BaseBean implements Updatable, Serializable { @JsonProperty("envId") private String env_id; @@ -71,7 +71,7 @@ public String getLast_operator() { } public void setLast_operator(String last_operator) { - this.last_operator = last_operator; + this.last_operator = getStringWithSizeLimit(last_operator, 64); } public Long getLast_update() { diff --git a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/TagBean.java b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/TagBean.java index b93068c387..557d2366d6 100644 --- a/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/TagBean.java +++ b/deploy-service/common/src/main/java/com/pinterest/deployservice/bean/TagBean.java @@ -20,7 +20,7 @@ import java.beans.Transient; import org.apache.commons.lang3.builder.ReflectionToStringBuilder; -public class TagBean implements Updatable { +public class TagBean extends BaseBean implements Updatable { private static final ObjectMapper mapper = new ObjectMapper(); diff --git a/deploy-service/common/src/test/java/com/pinterest/deployservice/bean/BaseBeanTest.java b/deploy-service/common/src/test/java/com/pinterest/deployservice/bean/BaseBeanTest.java new file mode 100644 index 0000000000..46b4de9abd --- /dev/null +++ b/deploy-service/common/src/test/java/com/pinterest/deployservice/bean/BaseBeanTest.java @@ -0,0 +1,31 @@ +package com.pinterest.deployservice.bean; + + +import static org.junit.Assert.assertSame; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; + +import org.junit.jupiter.api.Test; + +public class BaseBeanTest { + @Test + void testGetStringWithSizeLimitInputNull() { + BaseBean baseBean = new BaseBean(); + String result = baseBean.getStringWithSizeLimit(null, 10); + assertNull(result); + } + + @Test + void testGetStringWithSizeLimitInputWithinLimit() { + BaseBean baseBean = new BaseBean(); + String input = "test"; + String result = baseBean.getStringWithSizeLimit(input, 10); + assertSame(input, result); + } + @Test + void testGetStringWithSizeLimitInputExceedsLimit() { + BaseBean baseBean = new BaseBean(); + String result = baseBean.getStringWithSizeLimit("0123456789", 5); + assertEquals("56789", result); + } +}