This is an automated email from the ASF dual-hosted git repository. gosonzhang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/inlong.git
The following commit(s) were added to refs/heads/master by this push: new cdb7c45a6 [INLONG-7144][Manager] Add interface field limit (#7147) cdb7c45a6 is described below commit cdb7c45a6750779a6f291b39fdd551a989162d02 Author: Goson Zhang <4675...@qq.com> AuthorDate: Thu Jan 5 11:03:59 2023 +0800 [INLONG-7144][Manager] Add interface field limit (#7147) --- .../inlong/manager/pojo/cluster/BindTagRequest.java | 6 ++++++ .../inlong/manager/pojo/cluster/ClusterNodeRequest.java | 7 +++++++ .../inlong/manager/pojo/cluster/ClusterRequest.java | 13 +++++++++++++ .../inlong/manager/pojo/cluster/ClusterTagRequest.java | 7 +++++++ .../inlong/manager/pojo/group/InlongGroupExtInfo.java | 8 ++++++++ .../inlong/manager/pojo/group/InlongGroupRequest.java | 12 +++++++++++- .../manager/pojo/group/InlongGroupResetRequest.java | 5 ++--- .../apache/inlong/manager/pojo/node/DataNodeRequest.java | 11 +++++++++++ .../org/apache/inlong/manager/pojo/sink/SinkRequest.java | 16 +++++++++++++++- .../apache/inlong/manager/pojo/source/SourceRequest.java | 14 ++++++++++++++ .../inlong/manager/pojo/stream/InlongStreamRequest.java | 14 +++++++++++++- .../inlong/manager/pojo/transform/TransformRequest.java | 8 ++++++++ .../org/apache/inlong/manager/pojo/user/UserRequest.java | 10 ++++++++++ 13 files changed, 125 insertions(+), 6 deletions(-) diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/BindTagRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/BindTagRequest.java index 30d3a1d4f..d701e4d6e 100644 --- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/BindTagRequest.java +++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/BindTagRequest.java @@ -17,11 +17,15 @@ package org.apache.inlong.manager.pojo.cluster; +import org.hibernate.validator.constraints.Length; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Pattern; + import java.util.List; /** @@ -33,6 +37,8 @@ public class BindTagRequest { @NotBlank(message = "clusterTag cannot be blank") @ApiModelProperty(value = "Cluster tag") + @Length(min = 1, max = 128, message = "length must be between 1 and 128") + @Pattern(regexp = "^[a-z0-9_-]{1,128}$", message = "only supports lowercase letters, numbers, '-', or '_'") private String clusterTag; @ApiModelProperty(value = "Cluster-ID list which needs to bind tag") diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterNodeRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterNodeRequest.java index 25821a393..5e789100b 100644 --- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterNodeRequest.java +++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterNodeRequest.java @@ -21,6 +21,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.apache.inlong.manager.common.validation.UpdateValidation; +import org.hibernate.validator.constraints.Length; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; @@ -42,27 +43,33 @@ public class ClusterNodeRequest { @NotBlank(message = "type cannot be blank") @ApiModelProperty(value = "Cluster type, including AGENT, DATAPROXY, etc.") + @Length(min = 1, max = 20, message = "length must be between 1 and 20") private String type; @NotBlank(message = "ip cannot be blank") @ApiModelProperty(value = "Cluster IP") + @Length(max = 512, message = "length must be less than or equal to 512") private String ip; @NotNull(message = "port cannot be null") @ApiModelProperty(value = "Cluster port") + @Length(max = 6, message = "length must be less than or equal to 6") private Integer port; @NotBlank(message = "protocolType cannot be blank") @ApiModelProperty(value = "Cluster protocol type") + @Length(max = 20, message = "length must be less than or equal to 20") private String protocolType; @ApiModelProperty(value = "Current load value of the node") private Integer nodeLoad; @ApiModelProperty(value = "Extended params") + @Length(min = 1, max = 163840, message = "length must be between 1 and 163840") private String extParams; @ApiModelProperty(value = "Description of the cluster node") + @Length(max = 256, message = "length must be less than or equal to 256") private String description; @ApiModelProperty(value = "Version number") diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterRequest.java index 90f07a315..ccb411af5 100644 --- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterRequest.java +++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterRequest.java @@ -24,9 +24,11 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.apache.inlong.manager.common.validation.UpdateValidation; +import org.hibernate.validator.constraints.Length; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +import javax.validation.constraints.Pattern; /** * Inlong cluster request @@ -44,35 +46,46 @@ public abstract class ClusterRequest { @NotBlank(message = "cluster name cannot be blank") @ApiModelProperty(value = "Cluster name") + @Length(min = 1, max = 128, message = "length must be between 1 and 128") + @Pattern(regexp = "^[a-z0-9_-]{1,128}$", message = "only supports lowercase letters, numbers, '-', or '_'") private String name; @NotBlank(message = "cluster type cannot be blank") @ApiModelProperty(value = "Cluster type, including TUBEMQ, PULSAR, KAFKA, DATAPROXY, etc.") + @Length(min = 1, max = 20, message = "length must be between 1 and 20") private String type; @ApiModelProperty(value = "Cluster url") + @Length(max = 512, message = "length must be less than or equal to 512") private String url; @NotBlank(message = "clusterTags cannot be blank") @ApiModelProperty(value = "Cluster tags, separated by commas") + @Length(max = 512, message = "length must be less than or equal to 512") private String clusterTags; @ApiModelProperty(value = "Extension tag") + @Length(max = 128, message = "length must be less than or equal to 128") private String extTag = "default=true"; @ApiModelProperty(value = "Cluster token") + @Length(max = 512, message = "length must be less than or equal to 512") private String token; @ApiModelProperty(value = "Cluster heartbeat info") + @Length(max = 163840, message = "length must be less than or equal to 163840") private String heartbeat; @ApiModelProperty(value = "Extended params") + @Length(max = 163840, message = "length must be less than or equal to 163840") private String extParams; @ApiModelProperty(value = "Description of the cluster") + @Length(max = 256, message = "length must be less than or equal to 256") private String description; @ApiModelProperty(value = "Name of responsible person, separated by commas") + @Length(max = 512, message = "length must be less than or equal to 512") private String inCharges; @ApiModelProperty(value = "Version number") diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagRequest.java index 289b89e2e..69d8c5540 100644 --- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagRequest.java +++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/cluster/ClusterTagRequest.java @@ -21,9 +21,11 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.apache.inlong.manager.common.validation.UpdateValidation; +import org.hibernate.validator.constraints.Length; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +import javax.validation.constraints.Pattern; /** * Inlong cluster tag request @@ -38,15 +40,20 @@ public class ClusterTagRequest { @NotBlank(message = "clusterTag cannot be blank") @ApiModelProperty(value = "Cluster tag") + @Length(min = 1, max = 128, message = "length must be between 1 and 128") + @Pattern(regexp = "^[a-z0-9_-]{1,128}$", message = "only supports lowercase letters, numbers, '-', or '_'") private String clusterTag; @ApiModelProperty(value = "Extended params") + @Length(min = 1, max = 163840, message = "length must be between 1 and 163840") private String extParams; @ApiModelProperty(value = "Description of the cluster tag") + @Length(max = 256, message = "length must be less than or equal to 256") private String description; @ApiModelProperty(value = "Name of in charges, separated by commas") + @Length(max = 512, message = "length must be less than or equal to 512") private String inCharges; @ApiModelProperty(value = "Version number") diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupExtInfo.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupExtInfo.java index e539e868f..f1baef4f0 100644 --- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupExtInfo.java +++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupExtInfo.java @@ -17,6 +17,10 @@ package org.apache.inlong.manager.pojo.group; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.Pattern; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; @@ -38,12 +42,16 @@ public class InlongGroupExtInfo { private Integer id; @ApiModelProperty(value = "inlong group id", required = true) + @Length(min = 4, max = 100, message = "length must be between 4 and 100") + @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "only supports lowercase letters, numbers, '-', or '_'") private String inlongGroupId; @ApiModelProperty(value = "property name") + @Length(max = 256, message = "length must be less than or equal to 256") private String keyName; @ApiModelProperty(value = "property value") + @Length(min = 1, max = 163840, message = "length must be between 1 and 163840") private String keyValue; } diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupRequest.java index dfa95d31a..9b68c572d 100644 --- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupRequest.java +++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupRequest.java @@ -50,9 +50,11 @@ public abstract class InlongGroupRequest extends BaseInlongGroup { private String inlongGroupId; @ApiModelProperty(value = "Inlong group name", required = true) + @Length(max = 128, message = "length must be less than or equal to 128") private String name; @ApiModelProperty(value = "Inlong group description") + @Length(max = 256, message = "length must be less than or equal to 256") private String description; @Deprecated @@ -61,25 +63,30 @@ public abstract class InlongGroupRequest extends BaseInlongGroup { @NotBlank(message = "cannot be blank") @ApiModelProperty(value = "MQ type, high throughput: TUBEMQ, high consistency: PULSAR") + @Length(min = 1, max = 20, message = "length must be between 1 and 20") private String mqType; @ApiModelProperty(value = "MQ resource", notes = "in inlong group, TubeMQ corresponds to Topic, Pulsar corresponds to Namespace") + @Length(max = 64, message = "length must be less than or equal to 64") private String mqResource; @ApiModelProperty(value = "TubeMQ master URL") private String tubeMaster; @ApiModelProperty(value = "Whether to enable zookeeper? 0: disable, 1: enable") + @Range(min = 0, max = 1, message = "default is 0, only supports [0: disable, 1: enable]") private Integer enableZookeeper = 0; @ApiModelProperty(value = "Whether to enable create resource? 0: disable, 1: enable") + @Range(min = 0, max = 1, message = "default is 1, only supports [0: disable, 1: enable]") private Integer enableCreateResource = 1; @ApiModelProperty(value = "Whether to use lightweight mode, 0: no, 1: yes") + @Range(min = 0, max = 1, message = "default is 0, only supports [0: no, 1: yes]") private Integer lightweight = 0; @NotNull(message = "cannot be null") - @Range(min = 0, max = 2, message = "only supports 0, 1, 2") + @Range(min = 0, max = 2, message = "default is 0, only supports [0, 1, 2]") @ApiModelProperty(value = "Data report type, default is 0.\n" + " 0: report to DataProxy and respond when the DataProxy received data.\n" + " 1: report to DataProxy and respond after DataProxy sends data.\n" @@ -87,6 +94,7 @@ public abstract class InlongGroupRequest extends BaseInlongGroup { private Integer dataReportType = 0; @ApiModelProperty(value = "Inlong cluster tag, which links to inlong_cluster table") + @Length(max = 128, message = "Length must be less than or equal to 128") private String inlongClusterTag; @ApiModelProperty(value = "Number of access items per day, unit: 10,000 items per day") @@ -103,9 +111,11 @@ public abstract class InlongGroupRequest extends BaseInlongGroup { @NotBlank(message = "cannot be blank") @ApiModelProperty(value = "Name of responsible person, separated by commas") + @Length(max = 512, message = "length must be less than or equal to 512") private String inCharges; @ApiModelProperty(value = "Name of followers, separated by commas") + @Length(max = 512, message = "length must be less than or equal to 512") private String followers; @ApiModelProperty(value = "Inlong group Extension properties") diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupResetRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupResetRequest.java index c6cefb120..5a577d6a4 100644 --- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupResetRequest.java +++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/group/InlongGroupResetRequest.java @@ -38,9 +38,8 @@ import javax.validation.constraints.Pattern; public class InlongGroupResetRequest { @ApiModelProperty(value = "Inlong group id", required = true) - @Length(min = 4, max = 200) - @Pattern(regexp = "^(?![0-9]+$)[a-z][a-z0-9_-]{1,200}$", message = "inlongGroupId must starts with a lowercase letter " - + "and contains only lowercase letters, digits, `-` or `_`") + @Length(min = 4, max = 100, message = "length must be between 4 and 100") + @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "only supports lowercase letters, numbers, '-', or '_'") private String inlongGroupId; @ApiModelProperty(value = "If rerun process when group is in operating, 0: false 1: true") diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/node/DataNodeRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/node/DataNodeRequest.java index 4f520bf21..d4c3d89cb 100644 --- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/node/DataNodeRequest.java +++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/node/DataNodeRequest.java @@ -24,9 +24,11 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.apache.inlong.manager.common.validation.UpdateValidation; +import org.hibernate.validator.constraints.Length; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +import javax.validation.constraints.Pattern; /** * Data node request @@ -44,29 +46,38 @@ public abstract class DataNodeRequest { @NotBlank(message = "node name cannot be blank") @ApiModelProperty(value = "Data node name") + @Length(min = 1, max = 128, message = "length must be between 1 and 128") + @Pattern(regexp = "^[A-Za-z0-9_-]{1,128}$", message = "only supports letters, numbers, '-', or '_'") private String name; @NotBlank(message = "node type cannot be blank") @ApiModelProperty(value = "Data node type, including MYSQL, HIVE, KAFKA, ES, etc.") + @Length(max = 20, message = "length must be less than or equal to 20") private String type; @ApiModelProperty(value = "Data node URL") + @Length(max = 512, message = "length must be less than or equal to 512") private String url; @ApiModelProperty(value = "Data node username") + @Length(max = 128, message = "length must be less than or equal to 128") private String username; @ApiModelProperty(value = "Data node token if needed") + @Length(max = 512, message = "length must be less than or equal to 512") private String token; @ApiModelProperty(value = "Extended params") + @Length(min = 1, max = 16384, message = "length must be between 1 and 16384") private String extParams; @ApiModelProperty(value = "Description of the data node") + @Length(max = 256, message = "length must be less than or equal to 256") private String description; @NotBlank(message = "inCharges cannot be blank") @ApiModelProperty(value = "Name of responsible person, separated by commas", required = true) + @Length(max = 512, message = "length must be less than or equal to 512") private String inCharges; @ApiModelProperty(value = "Version number") diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sink/SinkRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sink/SinkRequest.java index a6089adcd..d8ca5f02d 100644 --- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sink/SinkRequest.java +++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sink/SinkRequest.java @@ -24,6 +24,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.apache.inlong.manager.common.validation.UpdateValidation; import org.hibernate.validator.constraints.Length; +import org.hibernate.validator.constraints.Range; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; @@ -45,38 +46,51 @@ public abstract class SinkRequest { @NotBlank(message = "inlongGroupId cannot be blank") @ApiModelProperty("Inlong group id") + @Length(min = 4, max = 100, message = "length must be between 4 and 100") + @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "only supports lowercase letters, numbers, '-', or '_'") private String inlongGroupId; @NotBlank(message = "inlongStreamId cannot be blank") @ApiModelProperty("Inlong stream id") + @Length(min = 4, max = 100, message = "inlongStreamId length must be between 4 and 100") + @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "inlongStreamId only supports lowercase letters, numbers, '-', or '_'") private String inlongStreamId; @NotBlank(message = "sinkType cannot be blank") @ApiModelProperty("Sink type, including: HIVE, ES, etc.") + @Length(max = 15, message = "length must be less than or equal to 15") private String sinkType; @NotBlank(message = "sinkName cannot be blank") + @ApiModelProperty("Sink name, unique in one stream") @Length(min = 1, max = 100, message = "sinkName length must be between 1 and 100") @Pattern(regexp = "^[a-z0-9_-]{1,100}$", message = "sinkName only supports lowercase letters, numbers, '-', or '_'") - @ApiModelProperty("Sink name, unique in one stream") private String sinkName; @ApiModelProperty("Sink description") + @Length(max = 500, message = "length must be less than or equal to 500") private String description; @ApiModelProperty("Inlong cluster name") + @Length(min = 1, max = 128, message = "length must be between 1 and 128") + @Pattern(regexp = "^[a-z0-9_-]{1,128}$", message = "only supports lowercase letters, numbers, '-', or '_'") private String inlongClusterName; @ApiModelProperty("Data node name") + @Length(min = 1, max = 128, message = "length must be between 1 and 128") + @Pattern(regexp = "^[A-Za-z0-9_-]{1,128}$", message = "only supports letters, numbers, '-', or '_'") private String dataNodeName; @ApiModelProperty("Sort task name") + @Length(max = 512, message = "length must be less than or equal to 512") private String sortTaskName; @ApiModelProperty("Sort consumer group") + @Length(max = 512, message = "length must be less than or equal to 512") private String sortConsumerGroup; @ApiModelProperty(value = "Whether to enable create sink resource? 0: disable, 1: enable. Default is 1") + @Range(min = 0, max = 1, message = "default is 1, only supports [0: disable, 1: enable]") private Integer enableCreateResource = 1; @ApiModelProperty(value = "Whether to start the process after saving or updating. Default is false") diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/source/SourceRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/source/SourceRequest.java index 7e3db4e63..099ab45e7 100644 --- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/source/SourceRequest.java +++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/source/SourceRequest.java @@ -47,14 +47,19 @@ public class SourceRequest { @NotBlank(message = "inlongGroupId cannot be blank") @ApiModelProperty("Inlong group id") + @Length(min = 4, max = 100, message = "length must be between 4 and 100") + @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "only supports lowercase letters, numbers, '-', or '_'") private String inlongGroupId; @NotBlank(message = "inlongStreamId cannot be blank") @ApiModelProperty("Inlong stream id") + @Length(min = 4, max = 100, message = "inlongStreamId length must be between 4 and 100") + @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "inlongStreamId only supports lowercase letters, numbers, '-', or '_'") private String inlongStreamId; @NotBlank(message = "sourceType cannot be blank") @ApiModelProperty("Source type, including: FILE, KAFKA, etc.") + @Length(min = 1, max = 20, message = "length must be between 1 and 20") private String sourceType; @NotBlank(message = "sourceName cannot be blank") @@ -64,24 +69,33 @@ public class SourceRequest { private String sourceName; @ApiModelProperty("Ip of the agent running the task") + @Length(max = 40, message = "length must be less than or equal to 40") private String agentIp; @ApiModelProperty("Mac uuid of the agent running the task") + @Length(max = 30, message = "length must be less than or equal to 30") private String uuid; @ApiModelProperty("Inlong cluster name") + @Length(min = 1, max = 128, message = "length must be between 1 and 128") + @Pattern(regexp = "^[a-z0-9_-]{1,128}$", message = "only supports lowercase letters, numbers, '-', or '_'") private String inlongClusterName; @ApiModelProperty("Inlong cluster node tag") + @Length(min = 1, max = 128, message = "length must be between 1 and 128") + @Pattern(regexp = "^[a-z0-9_-]{1,128}$", message = "only supports lowercase letters, numbers, '-', or '_'") private String inlongClusterNodeTag; @ApiModelProperty("Data node name") + @Length(max = 128, message = "length must be less than or equal to 128") private String dataNodeName; @ApiModelProperty("Serialization type, support: csv, json, canal, avro, etc") + @Length(max = 20, message = "length must be less than or equal to 20") private String serializationType; @ApiModelProperty("Snapshot of the source task") + @Length(min = 1, max = 163840, message = "length must be between 1 and 163840") private String snapshot; @ApiModelProperty("Version") diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/stream/InlongStreamRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/stream/InlongStreamRequest.java index b8061daff..277e035f8 100644 --- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/stream/InlongStreamRequest.java +++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/stream/InlongStreamRequest.java @@ -22,6 +22,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import org.hibernate.validator.constraints.Length; +import org.hibernate.validator.constraints.Range; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Pattern; @@ -41,37 +42,47 @@ public class InlongStreamRequest extends BaseInlongStream { @NotBlank(message = "inlongGroupId cannot be blank") @ApiModelProperty(value = "Inlong group id") + @Length(min = 4, max = 100, message = "length must be between 4 and 100") + @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "only supports lowercase letters, numbers, '-', or '_'") private String inlongGroupId; @NotBlank(message = "inlongStreamId cannot be blank") + @ApiModelProperty(value = "Inlong stream id") @Length(min = 4, max = 100, message = "inlongStreamId length must be between 4 and 100") @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "inlongStreamId only supports lowercase letters, numbers, '-', or '_'") - @ApiModelProperty(value = "Inlong stream id") private String inlongStreamId; @ApiModelProperty(value = "Inlong stream name", required = true) + @Length(max = 64, message = "length must be less than or equal to 64") private String name; @ApiModelProperty(value = "Inlong stream description") + @Length(max = 256, message = "length must be less than or equal to 256") private String description; @ApiModelProperty(value = "MQ resource") + @Length(max = 64, message = "length must be less than or equal to 64") private String mqResource; @ApiModelProperty(value = "Data type, including: TEXT, KV, etc.") + @Length(max = 20, message = "length must be less than or equal to 20") private String dataType; @ApiModelProperty(value = "Data encoding format: UTF-8, GBK") + @Length(max = 8, message = "length must be less than or equal to 8") private String dataEncoding = StandardCharsets.UTF_8.toString(); @ApiModelProperty(value = "Data separator") + @Length(max = 8, message = "length must be less than or equal to 8") private String dataSeparator = String.valueOf((int) '|'); @ApiModelProperty(value = "Data field escape symbol") + @Length(max = 8, message = "length must be less than or equal to 8") private String dataEscapeChar; @ApiModelProperty(value = "Whether to send synchronously, 0: no, 1: yes", notes = "Each task under this stream sends data synchronously, " + "which will affect the throughput of data collection, please choose carefully") + @Range(min = 0, max = 1, message = "default is 0, only supports [0: no, 1: yes]") private Integer syncSend = 0; @ApiModelProperty(value = "Number of access items per day, unit: 10,000 items per day") @@ -90,6 +101,7 @@ public class InlongStreamRequest extends BaseInlongStream { private Integer storagePeriod; @ApiModelProperty(value = "Extended params, will be saved as JSON string") + @Length(min = 1, max = 163840, message = "length must be between 1 and 163840") private String extParams; @ApiModelProperty(value = "Field list") diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/transform/TransformRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/transform/TransformRequest.java index 7a8a24e53..5895d5d44 100644 --- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/transform/TransformRequest.java +++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/transform/TransformRequest.java @@ -42,10 +42,14 @@ public class TransformRequest { @NotBlank(message = "inlongGroupId cannot be blank") @ApiModelProperty("Inlong group id") + @Length(min = 4, max = 100, message = "length must be between 4 and 100") + @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "only supports lowercase letters, numbers, '-', or '_'") private String inlongGroupId; @NotBlank(message = "inlongStreamId cannot be blank") @ApiModelProperty("Inlong stream id") + @Length(min = 4, max = 100, message = "inlongStreamId length must be between 4 and 100") + @Pattern(regexp = "^[a-z0-9_-]{4,100}$", message = "inlongStreamId only supports lowercase letters, numbers, '-', or '_'") private String inlongStreamId; @NotBlank(message = "transformName cannot be blank") @@ -56,18 +60,22 @@ public class TransformRequest { @NotBlank(message = "transformType cannot be blank") @ApiModelProperty("Transform type, including: splitter, filter, joiner, etc.") + @Length(max = 15, message = "length must be less than or equal to 15") private String transformType; @NotBlank(message = "preNodeNames cannot be blank") @ApiModelProperty("Pre node names of transform in this stream, join by ','") + @Length(min = 1, max = 1638400, message = "length must be between 1 and 1638400") private String preNodeNames; @NotBlank(message = "postNodeNames cannot be blank") @ApiModelProperty("Post node names of transform in this stream, join by ','") + @Length(min = 1, max = 1638400, message = "length must be between 1 and 1638400") private String postNodeNames; @NotBlank(message = "transformDefinition cannot be blank") @ApiModelProperty("Transform definition in json type") + @Length(min = 1, max = 1638400, message = "length must be between 1 and 1638400") private String transformDefinition; @ApiModelProperty("Version of transform") diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/user/UserRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/user/UserRequest.java index 15bbae2d0..b84018bec 100644 --- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/user/UserRequest.java +++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/user/UserRequest.java @@ -27,6 +27,8 @@ import lombok.NoArgsConstructor; import org.apache.inlong.manager.pojo.common.PageRequest; import org.apache.inlong.manager.common.enums.UserTypeEnum; import org.apache.inlong.manager.common.validation.InEnumInt; +import org.hibernate.validator.constraints.Length; +import org.hibernate.validator.constraints.Range; import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; @@ -48,24 +50,30 @@ public class UserRequest extends PageRequest { @NotBlank(message = "User name cannot be blank") @ApiModelProperty(value = "User name", required = true) + @Length(min = 1, max = 256, message = "length must be between 1 and 256") private String name; @ApiModelProperty(value = "Keyword, can be user name") private String keyword; @ApiModelProperty(value = "User password") + @Length(min = 1, max = 64, message = "length must be between 1 and 64") private String password; @ApiModelProperty(value = "New password, is required if needs updated") + @Length(min = 1, max = 64, message = "length must be between 1 and 64") private String newPassword; @ApiModelProperty("Secret key") + @Length(min = 1, max = 256, message = "length must be between 1 and 256") private String secretKey; @ApiModelProperty("Public key") + @Length(min = 1, max = 163840, message = "length must be between 1 and 163840") private String publicKey; @ApiModelProperty("Private key") + @Length(min = 1, max = 163840, message = "length must be between 1 and 163840") private String privateKey; @ApiModelProperty("Encryption key version") @@ -74,6 +82,7 @@ public class UserRequest extends PageRequest { @NotNull(message = "accountType cannot be null") @InEnumInt(UserTypeEnum.class) @ApiModelProperty(value = "Account type: 0 - manager, 1 - operator", required = true) + @Range(min = 0, max = 1, message = "only supports [0: manager, 1: operator]") private Integer accountType; @Min(1) @@ -85,6 +94,7 @@ public class UserRequest extends PageRequest { private Integer version; @ApiModelProperty(value = "Extension json info") + @Length(min = 1, max = 163840, message = "length must be between 1 and 163840") private String extParams; }