You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by ke...@apache.org on 2022/07/28 00:31:55 UTC
[dolphinscheduler] branch dev updated: [11130] Refactor alert-api with lombok (#11133)
This is an automated email from the ASF dual-hosted git repository.
kezhenxu94 pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/dev by this push:
new a52d1b4acd [11130] Refactor alert-api with lombok (#11133)
a52d1b4acd is described below
commit a52d1b4acdafde308d8b0524d1e44764a5cdcfea
Author: SongTao Zhuang <51...@users.noreply.github.com>
AuthorDate: Thu Jul 28 08:31:44 2022 +0800
[11130] Refactor alert-api with lombok (#11133)
---
.../dolphinscheduler/alert/api/AlertData.java | 193 ++++-----------------
.../dolphinscheduler/alert/api/AlertInfo.java | 110 ++----------
.../dolphinscheduler/alert/api/AlertResult.java | 113 ++----------
.../dolphinscheduler/alert/api/ShowType.java | 21 +--
.../plugin/alert/email/EmailAlertChannelTest.java | 11 +-
.../dolphinscheduler/alert/AlertSenderService.java | 30 ++--
6 files changed, 86 insertions(+), 392 deletions(-)
diff --git a/dolphinscheduler-alert/dolphinscheduler-alert-api/src/main/java/org/apache/dolphinscheduler/alert/api/AlertData.java b/dolphinscheduler-alert/dolphinscheduler-alert-api/src/main/java/org/apache/dolphinscheduler/alert/api/AlertData.java
index f0c2f339b8..50b6c2cc7a 100644
--- a/dolphinscheduler-alert/dolphinscheduler-alert-api/src/main/java/org/apache/dolphinscheduler/alert/api/AlertData.java
+++ b/dolphinscheduler-alert/dolphinscheduler-alert-api/src/main/java/org/apache/dolphinscheduler/alert/api/AlertData.java
@@ -19,177 +19,46 @@
package org.apache.dolphinscheduler.alert.api;
-import java.util.Objects;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
/**
* alert data
*/
+@AllArgsConstructor
+@Builder
+@Data
+@NoArgsConstructor
public class AlertData {
- private int id;
- private String title;
- private String content;
- private String log;
- private int warnType;
-
- public AlertData(int id, String title, String content, String log, int warnType) {
- this.id = id;
- this.title = title;
- this.content = content;
- this.log = log;
- this.warnType = warnType;
- }
-
- public AlertData() {
- }
-
- public static AlertDataBuilder builder() {
- return new AlertDataBuilder();
- }
-
- public int getId() {
- return this.id;
- }
-
- public AlertData setId(int id) {
- this.id = id;
- return this;
- }
-
- public String getTitle() {
- return this.title;
- }
-
- public AlertData setTitle(String title) {
- this.title = title;
- return this;
- }
-
- public String getContent() {
- return this.content;
- }
-
- public AlertData setContent(String content) {
- this.content = content;
- return this;
- }
-
- public String getLog() {
- return this.log;
- }
-
- public AlertData setLog(String log) {
- this.log = log;
- return this;
- }
- public int getWarnType() {
- return warnType;
- }
-
- public void setWarnType(int warnType) {
- this.warnType = warnType;
- }
-
- @Override
- public boolean equals(final Object o) {
- if (o == this) {
- return true;
- }
- if (!(o instanceof AlertData)) {
- return false;
- }
- final AlertData other = (AlertData) o;
- if (!other.canEqual(this)) {
- return false;
- }
- if (this.getId() != other.getId()) {
- return false;
- }
- if (this.getWarnType() != other.getWarnType()) {
- return false;
- }
- final Object thisTitle = this.getTitle();
- final Object otherTitle = other.getTitle();
- if (!Objects.equals(thisTitle, otherTitle)) {
- return false;
- }
- final Object thisContent = this.getContent();
- final Object otherContent = other.getContent();
- if (!Objects.equals(thisContent, otherContent)) {
- return false;
- }
- final Object thisLog = this.getLog();
- final Object otherLog = other.getLog();
- return Objects.equals(thisLog, otherLog);
- }
-
- protected boolean canEqual(final Object other) {
- return other instanceof AlertData;
- }
-
- @Override
- public int hashCode() {
- final int prime = 59;
- int result = 1;
- result = result * prime + this.getId();
- result = result * prime + this.getWarnType();
- final Object title = this.getTitle();
- result = result * prime + (title == null ? 43 : title.hashCode());
- final Object content = this.getContent();
- result = result * prime + (content == null ? 43 : content.hashCode());
- final Object log = this.getLog();
- result = result * prime + (log == null ? 43 : log.hashCode());
- return result;
- }
-
- @Override
- public String toString() {
- return "AlertData(id=" + this.getId() + ", title=" + this.getTitle() + ", content=" + this.getContent() + ", log=" + this.getLog() + ", warnType=" + this.getWarnType() + ")";
- }
-
- public static class AlertDataBuilder {
- private int id;
- private String title;
- private String content;
- private String log;
- private int warnType;
-
- AlertDataBuilder() {
- }
-
- public AlertDataBuilder id(int id) {
- this.id = id;
- return this;
- }
-
- public AlertDataBuilder title(String title) {
- this.title = title;
- return this;
- }
-
- public AlertDataBuilder content(String content) {
- this.content = content;
- return this;
- }
+ /**
+ * alert id
+ */
+ private int id;
- public AlertDataBuilder log(String log) {
- this.log = log;
- return this;
- }
+ /**
+ * alert tile
+ */
+ private String title;
- public AlertDataBuilder warnType(int warnType) {
- this.warnType = warnType;
- return this;
- }
+ /**
+ * alert content
+ */
+ private String content;
- public AlertData build() {
- return new AlertData(id, title, content, log, warnType);
- }
+ /**
+ * alert log
+ */
+ private String log;
- @Override
- public String toString() {
- return "AlertData.AlertDataBuilder(id=" + this.id + ", title=" + this.title + ", content=" + this.content + ", log=" + this.log + ", warnType=" + this.warnType + ")";
- }
+ /**
+ * 0 do not send warning;
+ * 1 send if process success;
+ * 2 send if process failed;
+ * 3 send if process ends, whatever the result;
+ */
+ private int warnType;
- }
}
diff --git a/dolphinscheduler-alert/dolphinscheduler-alert-api/src/main/java/org/apache/dolphinscheduler/alert/api/AlertInfo.java b/dolphinscheduler-alert/dolphinscheduler-alert-api/src/main/java/org/apache/dolphinscheduler/alert/api/AlertInfo.java
index c3ff3d21c9..e7e8e86074 100644
--- a/dolphinscheduler-alert/dolphinscheduler-alert-api/src/main/java/org/apache/dolphinscheduler/alert/api/AlertInfo.java
+++ b/dolphinscheduler-alert/dolphinscheduler-alert-api/src/main/java/org/apache/dolphinscheduler/alert/api/AlertInfo.java
@@ -20,111 +20,23 @@
package org.apache.dolphinscheduler.alert.api;
import java.util.Map;
-import java.util.Objects;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
/**
* The alarm information includes the parameters of the alert channel and the alarm data
*/
+@AllArgsConstructor
+@Builder
+@Data
+@NoArgsConstructor
public class AlertInfo {
- private Map<String, String> alertParams;
- private AlertData alertData;
-
- public AlertInfo(Map<String, String> alertParams, AlertData alertData) {
- this.alertParams = alertParams;
- this.alertData = alertData;
- }
-
- public AlertInfo() {
- }
-
- public static AlertInfoBuilder builder() {
- return new AlertInfoBuilder();
- }
-
- public Map<String, String> getAlertParams() {
- return this.alertParams;
- }
-
- public AlertInfo setAlertParams(Map<String, String> alertParams) {
- this.alertParams = alertParams;
- return this;
- }
-
- public AlertData getAlertData() {
- return this.alertData;
- }
-
- public AlertInfo setAlertData(AlertData alertData) {
- this.alertData = alertData;
- return this;
- }
- @Override
- public boolean equals(final Object o) {
- if (o == this) {
- return true;
- }
- if (!(o instanceof AlertInfo)) {
- return false;
- }
- final AlertInfo other = (AlertInfo) o;
- if (!other.canEqual((Object) this)) {
- return false;
- }
- final Object thisAlertParams = this.getAlertParams();
- final Object otherAlertParams = other.getAlertParams();
- if (!Objects.equals(thisAlertParams, otherAlertParams)) {
- return false;
- }
- final Object thisAlertData = this.getAlertData();
- final Object otherAlertData = other.getAlertData();
- return Objects.equals(thisAlertData, otherAlertData);
- }
-
- protected boolean canEqual(final Object other) {
- return other instanceof AlertInfo;
- }
-
- @Override
- public int hashCode() {
- final int prime = 59;
- int result = 1;
- final Object alertParams = this.getAlertParams();
- result = result * prime + (alertParams == null ? 43 : alertParams.hashCode());
- final Object alertData = this.getAlertData();
- result = result * prime + (alertData == null ? 43 : alertData.hashCode());
- return result;
- }
-
- @Override
- public String toString() {
- return "AlertInfo(alertParams=" + this.getAlertParams() + ", alertData=" + this.getAlertData() + ")";
- }
-
- public static class AlertInfoBuilder {
- private Map<String, String> alertParams;
- private AlertData alertData;
-
- AlertInfoBuilder() {
- }
-
- public AlertInfoBuilder alertParams(Map<String, String> alertParams) {
- this.alertParams = alertParams;
- return this;
- }
-
- public AlertInfoBuilder alertData(AlertData alertData) {
- this.alertData = alertData;
- return this;
- }
+ private Map<String, String> alertParams;
- public AlertInfo build() {
- return new AlertInfo(alertParams, alertData);
- }
+ private AlertData alertData;
- @Override
- public String toString() {
- return "AlertInfo.AlertInfoBuilder(alertParams=" + this.alertParams + ", alertData=" + this.alertData + ")";
- }
- }
}
diff --git a/dolphinscheduler-alert/dolphinscheduler-alert-api/src/main/java/org/apache/dolphinscheduler/alert/api/AlertResult.java b/dolphinscheduler-alert/dolphinscheduler-alert-api/src/main/java/org/apache/dolphinscheduler/alert/api/AlertResult.java
index ede235c953..734d51779f 100644
--- a/dolphinscheduler-alert/dolphinscheduler-alert-api/src/main/java/org/apache/dolphinscheduler/alert/api/AlertResult.java
+++ b/dolphinscheduler-alert/dolphinscheduler-alert-api/src/main/java/org/apache/dolphinscheduler/alert/api/AlertResult.java
@@ -19,111 +19,26 @@
package org.apache.dolphinscheduler.alert.api;
-import java.util.Objects;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
/**
* alert result
*/
+@AllArgsConstructor
+@Data
+@NoArgsConstructor
public class AlertResult {
- private String status;
- private String message;
-
- public AlertResult(String status, String message) {
- this.status = status;
- this.message = message;
- }
-
- public AlertResult() {
- }
-
- public static AlertResultBuilder builder() {
- return new AlertResultBuilder();
- }
-
- public String getStatus() {
- return this.status;
- }
-
- public AlertResult setStatus(String status) {
- this.status = status;
- return this;
- }
-
- public String getMessage() {
- return this.message;
- }
-
- public AlertResult setMessage(String message) {
- this.message = message;
- return this;
- }
- @Override
- public boolean equals(final Object o) {
- if (o == this) {
- return true;
- }
- if (!(o instanceof AlertResult)) {
- return false;
- }
- final AlertResult other = (AlertResult) o;
- if (!other.canEqual(this)) {
- return false;
- }
- final Object thisStatus = this.getStatus();
- final Object otherStatus = other.getStatus();
- if (!Objects.equals(thisStatus, otherStatus)) {
- return false;
- }
- final Object thisMessage = this.getMessage();
- final Object otherMessage = other.getMessage();
- return Objects.equals(thisMessage, otherMessage);
- }
-
- protected boolean canEqual(final Object other) {
- return other instanceof AlertResult;
- }
-
- @Override
- public int hashCode() {
- final int prime = 59;
- int result = 1;
- final Object s = this.getStatus();
- result = result * prime + (s == null ? 43 : s.hashCode());
- final Object message = this.getMessage();
- result = result * prime + (message == null ? 43 : message.hashCode());
- return result;
- }
-
- @Override
- public String toString() {
- return "AlertResult(status=" + this.getStatus() + ", message=" + this.getMessage() + ")";
- }
-
- public static class AlertResultBuilder {
- private String status;
- private String message;
-
- AlertResultBuilder() {
- }
-
- public AlertResultBuilder status(String status) {
- this.status = status;
- return this;
- }
-
- public AlertResultBuilder message(String message) {
- this.message = message;
- return this;
- }
+ /**
+ * false or true
+ */
+ private String status;
- public AlertResult build() {
- return new AlertResult(status, message);
- }
+ /**
+ * alert result message
+ */
+ private String message;
- @Override
- public String toString() {
- return "AlertResult.AlertResultBuilder(status=" + this.status + ", message=" + this.message + ")";
- }
- }
}
diff --git a/dolphinscheduler-alert/dolphinscheduler-alert-api/src/main/java/org/apache/dolphinscheduler/alert/api/ShowType.java b/dolphinscheduler-alert/dolphinscheduler-alert-api/src/main/java/org/apache/dolphinscheduler/alert/api/ShowType.java
index 2f1b4f2b4b..95dccae7eb 100644
--- a/dolphinscheduler-alert/dolphinscheduler-alert-api/src/main/java/org/apache/dolphinscheduler/alert/api/ShowType.java
+++ b/dolphinscheduler-alert/dolphinscheduler-alert-api/src/main/java/org/apache/dolphinscheduler/alert/api/ShowType.java
@@ -19,6 +19,11 @@
package org.apache.dolphinscheduler.alert.api;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@AllArgsConstructor
+@Getter
public enum ShowType {
/**
* 0 TABLE;
@@ -31,21 +36,11 @@ public enum ShowType {
TEXT(1, "text"),
ATTACHMENT(2, "attachment"),
TABLE_ATTACHMENT(3, "table attachment"),
- MARKDOWN(4, "markdown"),;
+ MARKDOWN(4, "markdown"),
+ ;
private final int code;
- private final String descp;
- ShowType(int code, String descp) {
- this.code = code;
- this.descp = descp;
- }
-
- public int getCode() {
- return code;
- }
+ private final String descp;
- public String getDescp() {
- return descp;
- }
}
diff --git a/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-email/src/test/java/org/apache/dolphinscheduler/plugin/alert/email/EmailAlertChannelTest.java b/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-email/src/test/java/org/apache/dolphinscheduler/plugin/alert/email/EmailAlertChannelTest.java
index 8eb328114f..6a123eedcc 100644
--- a/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-email/src/test/java/org/apache/dolphinscheduler/plugin/alert/email/EmailAlertChannelTest.java
+++ b/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-email/src/test/java/org/apache/dolphinscheduler/plugin/alert/email/EmailAlertChannelTest.java
@@ -43,7 +43,6 @@ public class EmailAlertChannelTest {
@Test
public void testProcess() {
EmailAlertChannel emailAlertChannel = new EmailAlertChannel();
- AlertData alertData = new AlertData();
LinkedHashMap<String, Object> map1 = new LinkedHashMap<>();
map1.put("mysql service name", "mysql200");
map1.put("mysql address", "192.168.xx.xx");
@@ -54,10 +53,12 @@ public class EmailAlertChannelTest {
maps.add(0, map1);
String mapjson = JSONUtils.toJsonString(maps);
- alertData.setId(10)
- .setContent(mapjson)
- .setLog("10")
- .setTitle("test");
+ AlertData alertData = AlertData.builder()
+ .id(10)
+ .content(mapjson)
+ .log("10")
+ .title("test")
+ .build();
AlertInfo alertInfo = new AlertInfo();
alertInfo.setAlertData(alertData);
Map<String, String> paramsMap = PluginParamsTransfer.getPluginParamsMap(getEmailAlertParams());
diff --git a/dolphinscheduler-alert/dolphinscheduler-alert-server/src/main/java/org/apache/dolphinscheduler/alert/AlertSenderService.java b/dolphinscheduler-alert/dolphinscheduler-alert-server/src/main/java/org/apache/dolphinscheduler/alert/AlertSenderService.java
index ad92862ba9..2f91579322 100644
--- a/dolphinscheduler-alert/dolphinscheduler-alert-server/src/main/java/org/apache/dolphinscheduler/alert/AlertSenderService.java
+++ b/dolphinscheduler-alert/dolphinscheduler-alert-server/src/main/java/org/apache/dolphinscheduler/alert/AlertSenderService.java
@@ -92,13 +92,13 @@ public final class AlertSenderService extends Thread {
alertDao.updateAlert(AlertStatus.EXECUTION_FAILURE, "no bind plugin instance", alertId);
continue;
}
- AlertData alertData = new AlertData();
- alertData.setId(alertId)
- .setContent(alert.getContent())
- .setLog(alert.getLog())
- .setTitle(alert.getTitle())
- .setTitle(alert.getTitle())
- .setWarnType(alert.getWarningType().getCode());
+ AlertData alertData = AlertData.builder()
+ .id(alertId)
+ .content(alert.getContent())
+ .log(alert.getLog())
+ .title(alert.getTitle())
+ .warnType(alert.getWarningType().getCode())
+ .build();
int sendSuccessCount = 0;
for (AlertPluginInstance instance : alertInstanceList) {
@@ -131,10 +131,11 @@ public final class AlertSenderService extends Thread {
*/
public AlertSendResponseCommand syncHandler(int alertGroupId, String title, String content, int warnType) {
List<AlertPluginInstance> alertInstanceList = alertDao.listInstanceByAlertGroupId(alertGroupId);
- AlertData alertData = new AlertData();
- alertData.setContent(content)
- .setTitle(title)
- .setWarnType(warnType);
+ AlertData alertData = AlertData.builder()
+ .content(content)
+ .title(title)
+ .warnType(warnType)
+ .build();
boolean sendResponseStatus = true;
List<AlertSendResponseResult> sendResponseResults = new ArrayList<>();
@@ -222,9 +223,10 @@ public final class AlertSenderService extends Thread {
return null;
}
- AlertInfo alertInfo = new AlertInfo();
- alertInfo.setAlertData(alertData);
- alertInfo.setAlertParams(paramsMap);
+ AlertInfo alertInfo = AlertInfo.builder()
+ .alertData(alertData)
+ .alertParams(paramsMap)
+ .build();
int waitTimeout = alertConfig.getWaitTimeout();
AlertResult alertResult;
try {