This is an automated email from the ASF dual-hosted git repository.
zhengqiwei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hertzbeat.git
The following commit(s) were added to refs/heads/master by this push:
new 89be682a8 [imporve] Adjustment of parameter verification (#2635)
89be682a8 is described below
commit 89be682a88fc136218a1fb390668016f058c99b6
Author: b_mountain <[email protected]>
AuthorDate: Fri Aug 30 00:06:53 2024 +0800
[imporve] Adjustment of parameter verification (#2635)
Co-authored-by: 刘进山 <[email protected]>
Co-authored-by: Calvin <[email protected]>
Co-authored-by: shown <[email protected]>
---
.../hertzbeat/common/entity/manager/Collector.java | 6 +++---
.../hertzbeat/common/entity/manager/GeneralConfig.java | 4 ++--
.../common/entity/manager/NoticeReceiver.java | 5 +++--
.../hertzbeat/common/entity/manager/NoticeRule.java | 7 ++++---
.../apache/hertzbeat/common/entity/manager/Param.java | 4 ++--
.../apache/hertzbeat/common/entity/manager/Tag.java | 6 +++---
.../hertzbeat/manager/controller/TagController.java | 18 ++++--------------
.../apache/hertzbeat/manager/pojo/dto/MonitorDto.java | 3 ++-
.../hertzbeat/manager/service/impl/TagServiceImpl.java | 8 ++++++++
.../manager/controller/TagControllerTest.java | 7 ++-----
.../hertzbeat/manager/service/TagServiceTest.java | 7 +++----
11 files changed, 36 insertions(+), 39 deletions(-)
diff --git
a/common/src/main/java/org/apache/hertzbeat/common/entity/manager/Collector.java
b/common/src/main/java/org/apache/hertzbeat/common/entity/manager/Collector.java
index 78c5eb51a..c692bab62 100644
---
a/common/src/main/java/org/apache/hertzbeat/common/entity/manager/Collector.java
+++
b/common/src/main/java/org/apache/hertzbeat/common/entity/manager/Collector.java
@@ -26,7 +26,7 @@ import jakarta.persistence.Id;
import jakarta.persistence.Table;
import jakarta.persistence.UniqueConstraint;
import jakarta.validation.constraints.Min;
-import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotBlank;
import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
import lombok.Builder;
@@ -57,11 +57,11 @@ public class Collector {
private Long id;
@Schema(title = "collector identity name", description = "collector
identity name")
- @NotNull
+ @NotBlank(message = "name can not null")
private String name;
@Schema(title = "collector ip", description = "collector remote ip")
- @NotNull
+ @NotBlank(message = "ip can not null")
private String ip;
@Schema(title = "collector version", description = "collector version")
diff --git
a/common/src/main/java/org/apache/hertzbeat/common/entity/manager/GeneralConfig.java
b/common/src/main/java/org/apache/hertzbeat/common/entity/manager/GeneralConfig.java
index 4f65da680..08325e79b 100644
---
a/common/src/main/java/org/apache/hertzbeat/common/entity/manager/GeneralConfig.java
+++
b/common/src/main/java/org/apache/hertzbeat/common/entity/manager/GeneralConfig.java
@@ -25,7 +25,7 @@ import jakarta.persistence.Entity;
import jakarta.persistence.EntityListeners;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
-import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotBlank;
import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
import lombok.Builder;
@@ -53,7 +53,7 @@ public class GeneralConfig {
@Id
@Schema(title = "Config type: email sms, primary key ", description =
"Config type: email sms, primary key ",
accessMode = READ_WRITE)
- @NotNull
+ @NotBlank(message = "ip can not null")
private String type;
@Schema(title = "Config content", description = "Config
content,formatjson", accessMode = READ_WRITE)
diff --git
a/common/src/main/java/org/apache/hertzbeat/common/entity/manager/NoticeReceiver.java
b/common/src/main/java/org/apache/hertzbeat/common/entity/manager/NoticeReceiver.java
index b794fd0d9..af03830b2 100644
---
a/common/src/main/java/org/apache/hertzbeat/common/entity/manager/NoticeReceiver.java
+++
b/common/src/main/java/org/apache/hertzbeat/common/entity/manager/NoticeReceiver.java
@@ -28,6 +28,7 @@ import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import java.time.LocalDateTime;
@@ -63,7 +64,7 @@ public class NoticeReceiver {
@Schema(title = "Recipient name", description = "Recipient name",
example = "tom", accessMode = READ_WRITE)
@Size(max = 100)
- @NotNull
+ @NotBlank(message = "name can not null")
private String name;
@Schema(title = "Notification information method: 0-SMS 1-Email 2-webhook
3-WeChat Official Account 4-Enterprise WeChat Robot "
@@ -75,7 +76,7 @@ public class NoticeReceiver {
+ "WeChat app message",
accessMode = READ_WRITE)
@Min(0)
- @NotNull
+ @NotNull(message = "type can not null")
private Byte type;
@Schema(title = "Mobile number: Valid when the notification method is SMS",
diff --git
a/common/src/main/java/org/apache/hertzbeat/common/entity/manager/NoticeRule.java
b/common/src/main/java/org/apache/hertzbeat/common/entity/manager/NoticeRule.java
index 0e24e2d7a..8f20554b9 100644
---
a/common/src/main/java/org/apache/hertzbeat/common/entity/manager/NoticeRule.java
+++
b/common/src/main/java/org/apache/hertzbeat/common/entity/manager/NoticeRule.java
@@ -28,7 +28,8 @@ import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
-import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.Size;
import java.time.LocalDateTime;
import java.time.ZonedDateTime;
@@ -67,13 +68,13 @@ public class NoticeRule {
description = "Policy name",
example = "dispatch-1", accessMode = READ_WRITE)
@Size(max = 100)
- @NotNull
+ @NotBlank(message = "name can not null")
private String name;
@Schema(title = "Recipient ID",
description = "Recipient ID",
example = "4324324", accessMode = READ_WRITE)
- @NotNull
+ @NotEmpty(message = "receiverId can not empty")
@Convert(converter = JsonLongListAttributeConverter.class)
private List<Long> receiverId;
diff --git
a/common/src/main/java/org/apache/hertzbeat/common/entity/manager/Param.java
b/common/src/main/java/org/apache/hertzbeat/common/entity/manager/Param.java
index bb331495d..808109083 100644
--- a/common/src/main/java/org/apache/hertzbeat/common/entity/manager/Param.java
+++ b/common/src/main/java/org/apache/hertzbeat/common/entity/manager/Param.java
@@ -30,7 +30,7 @@ import jakarta.persistence.Index;
import jakarta.persistence.Table;
import jakarta.persistence.UniqueConstraint;
import jakarta.validation.constraints.Min;
-import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
@@ -74,7 +74,7 @@ public class Param {
*/
@Schema(title = "Parameter identifier field", example = "port", accessMode
= READ_WRITE)
@Size(max = 100)
- @NotNull
+ @NotBlank(message = "field can not null")
private String field;
/**
diff --git
a/common/src/main/java/org/apache/hertzbeat/common/entity/manager/Tag.java
b/common/src/main/java/org/apache/hertzbeat/common/entity/manager/Tag.java
index 8d887015c..a0f6ff6de 100644
--- a/common/src/main/java/org/apache/hertzbeat/common/entity/manager/Tag.java
+++ b/common/src/main/java/org/apache/hertzbeat/common/entity/manager/Tag.java
@@ -29,7 +29,7 @@ import jakarta.persistence.Id;
import jakarta.persistence.Table;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
-import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotBlank;
import java.time.LocalDateTime;
import java.util.Objects;
import lombok.AllArgsConstructor;
@@ -61,7 +61,7 @@ public class Tag {
private Long id;
@Schema(title = "Tag Field", example = "app", accessMode = READ_WRITE)
- @NotNull
+ @NotBlank(message = "name can not null")
private String name;
@Schema(title = "Tag Value", example = "23", accessMode = READ_WRITE)
@@ -78,7 +78,7 @@ public class Tag {
accessMode = READ_WRITE)
@Min(0)
@Max(3)
- private byte type;
+ private Byte type;
@Schema(title = "The creator of this record", example = "tom", accessMode
= READ_ONLY)
@CreatedBy
diff --git
a/manager/src/main/java/org/apache/hertzbeat/manager/controller/TagController.java
b/manager/src/main/java/org/apache/hertzbeat/manager/controller/TagController.java
index e7f793239..43276f788 100644
---
a/manager/src/main/java/org/apache/hertzbeat/manager/controller/TagController.java
+++
b/manager/src/main/java/org/apache/hertzbeat/manager/controller/TagController.java
@@ -23,7 +23,6 @@ import io.swagger.v3.oas.annotations.Parameter;
import jakarta.validation.Valid;
import java.util.HashSet;
import java.util.List;
-import java.util.stream.Collectors;
import org.apache.hertzbeat.common.entity.dto.Message;
import org.apache.hertzbeat.common.entity.manager.Tag;
import org.apache.hertzbeat.manager.service.TagService;
@@ -52,11 +51,6 @@ public class TagController {
@PostMapping
@Operation(summary = "Add Tag", description = "Add Tag")
public ResponseEntity<Message<Void>> addNewTags(@Valid @RequestBody
List<Tag> tags) {
- // Verify request data
- tags = tags.stream().peek(tag -> {
- tag.setType((byte) 1);
- tag.setId(null);
- }).distinct().collect(Collectors.toList());
tagService.addTags(tags);
return ResponseEntity.ok(Message.success("Add success"));
}
@@ -65,8 +59,8 @@ public class TagController {
@Operation(summary = "Modify an existing tag", description = "Modify an
existing tag")
public ResponseEntity<Message<Void>> modifyMonitor(@Valid @RequestBody Tag
tag) {
// Verify request data
- if (tag.getId() == null || tag.getName() == null) {
- throw new IllegalArgumentException("The Tag not exist.");
+ if (tag.getId() == null) {
+ throw new IllegalArgumentException("ID cannot be null.");
}
tagService.modifyTag(tag);
return ResponseEntity.ok(Message.success("Modify success"));
@@ -79,18 +73,14 @@ public class TagController {
@Parameter(description = "Tag type", example = "0")
@RequestParam(required = false) Byte type,
@Parameter(description = "List current page", example = "0")
@RequestParam(defaultValue = "0") int pageIndex,
@Parameter(description = "Number of list pagination", example =
"8") @RequestParam(defaultValue = "8") int pageSize) {
- Page<Tag> alertPage = tagService.getTags(search, type, pageIndex,
pageSize);
- Message<Page<Tag>> message = Message.success(alertPage);
- return ResponseEntity.ok(message);
+ return ResponseEntity.ok(Message.success(tagService.getTags(search,
type, pageIndex, pageSize)));
}
@DeleteMapping()
@Operation(summary = "Delete tags based on ID", description = "Delete tags
based on ID")
public ResponseEntity<Message<Void>> deleteTags(
@Parameter(description = "TAG IDs ", example = "6565463543")
@RequestParam(required = false) List<Long> ids) {
- if (ids != null && !ids.isEmpty()) {
- tagService.deleteTags(new HashSet<>(ids));
- }
+ tagService.deleteTags(new HashSet<>(ids));
return ResponseEntity.ok(Message.success("Delete success"));
}
}
diff --git
a/manager/src/main/java/org/apache/hertzbeat/manager/pojo/dto/MonitorDto.java
b/manager/src/main/java/org/apache/hertzbeat/manager/pojo/dto/MonitorDto.java
index d52e7b8dd..9c71eb1ad 100644
---
a/manager/src/main/java/org/apache/hertzbeat/manager/pojo/dto/MonitorDto.java
+++
b/manager/src/main/java/org/apache/hertzbeat/manager/pojo/dto/MonitorDto.java
@@ -21,6 +21,7 @@ import static
io.swagger.v3.oas.annotations.media.Schema.AccessMode.READ_ONLY;
import static io.swagger.v3.oas.annotations.media.Schema.AccessMode.READ_WRITE;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import java.util.List;
import lombok.Data;
@@ -40,7 +41,7 @@ public class MonitorDto {
private Monitor monitor;
@Schema(description = "Monitor Params", accessMode = READ_WRITE)
- @NotNull
+ @NotEmpty
@Valid
private List<Param> params;
diff --git
a/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/TagServiceImpl.java
b/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/TagServiceImpl.java
index 2340c26f8..02ac69feb 100644
---
a/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/TagServiceImpl.java
+++
b/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/TagServiceImpl.java
@@ -56,6 +56,11 @@ public class TagServiceImpl implements TagService {
@Override
public void addTags(List<Tag> tags) {
+ // Verify request data
+ tags = tags.stream().peek(tag -> {
+ tag.setType((byte) 1);
+ tag.setId(null);
+ }).distinct().collect(Collectors.toList());
tagDao.saveAll(tags);
}
@@ -108,6 +113,9 @@ public class TagServiceImpl implements TagService {
@Override
public void deleteTags(HashSet<Long> ids) {
+ if (CollectionUtils.isEmpty(ids)){
+ return;
+ }
if (tagMonitorBindDao.countByTagIdIn(ids) != 0) {
throw new CommonException("The tag is in use and cannot be
deleted.");
}
diff --git
a/manager/src/test/java/org/apache/hertzbeat/manager/controller/TagControllerTest.java
b/manager/src/test/java/org/apache/hertzbeat/manager/controller/TagControllerTest.java
index bb79c1bb7..3e29badb9 100644
---
a/manager/src/test/java/org/apache/hertzbeat/manager/controller/TagControllerTest.java
+++
b/manager/src/test/java/org/apache/hertzbeat/manager/controller/TagControllerTest.java
@@ -110,12 +110,9 @@ class TagControllerTest {
@Test
void deleteTags() throws Exception {
- List<Long> ids = new ArrayList<>();
- ids.add(6565463543L);
-
this.mockMvc.perform(MockMvcRequestBuilders.delete("/api/tag")
- .contentType(MediaType.APPLICATION_JSON)
- .content(JsonUtil.toJson(ids)))
+ .contentType(MediaType.MULTIPART_FORM_DATA)
+ .param("ids", "6565463543"))
.andExpect(status().isOk())
.andExpect(jsonPath("$.code").value((int)
CommonConstants.SUCCESS_CODE))
.andExpect(jsonPath("$.msg").value("Delete success"))
diff --git
a/manager/src/test/java/org/apache/hertzbeat/manager/service/TagServiceTest.java
b/manager/src/test/java/org/apache/hertzbeat/manager/service/TagServiceTest.java
index 23e29e257..ada1c6595 100644
---
a/manager/src/test/java/org/apache/hertzbeat/manager/service/TagServiceTest.java
+++
b/manager/src/test/java/org/apache/hertzbeat/manager/service/TagServiceTest.java
@@ -23,7 +23,6 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.mockito.ArgumentMatchers.anyList;
import static org.mockito.ArgumentMatchers.anySet;
import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.when;
import java.util.Collections;
@@ -83,14 +82,14 @@ class TagServiceTest {
@Test
void deleteTags() {
- doNothing().when(tagDao).deleteTagsByIdIn(anySet());
- when(tagMonitorBindDao.countByTagIdIn(anySet())).thenReturn(0L);
assertDoesNotThrow(() -> tagService.deleteTags(new HashSet<>(1)));
}
@Test
void deleteUsingTags() {
when(tagMonitorBindDao.countByTagIdIn(anySet())).thenReturn(1L);
- assertThrows(CommonException.class, () -> tagService.deleteTags(new
HashSet<>(1)));
+ HashSet<Long> set = new HashSet<>(1);
+ set.add(1L);
+ assertThrows(CommonException.class, () -> tagService.deleteTags(set));
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]