From db090685a824efd5db5b4aab1883e4b9c6598aa1 Mon Sep 17 00:00:00 2001 From: ouyangyewei Date: Sat, 4 Dec 2021 19:24:09 +0800 Subject: [PATCH] to feature #7169 (#7170) Co-authored-by: ouyangyewei --- .../apache/dolphinscheduler/api/enums/Status.java | 15 +++++++++++++++ .../dolphinscheduler/api/enums/StatusTest.java | 12 ++++++++++++ 2 files changed, 27 insertions(+) diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/enums/Status.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/enums/Status.java index 624e9f9ef5..7943c9b84c 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/enums/Status.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/enums/Status.java @@ -18,6 +18,7 @@ package org.apache.dolphinscheduler.api.enums; import java.util.Locale; +import java.util.Optional; import org.springframework.context.i18n.LocaleContextHolder; @@ -382,4 +383,18 @@ public enum Status { return this.enMsg; } } + + /** + * Retrieve Status enum entity by status code. + * @param code + * @return + */ + public static Optional findStatusBy(int code) { + for (Status status : Status.values()) { + if (code == status.getCode()) { + return Optional.of(status); + } + } + return Optional.empty(); + } } diff --git a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/enums/StatusTest.java b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/enums/StatusTest.java index 4e31a71e9d..d0c1de1205 100644 --- a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/enums/StatusTest.java +++ b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/enums/StatusTest.java @@ -21,6 +21,7 @@ import org.junit.Test; import org.springframework.context.i18n.LocaleContextHolder; import java.util.Locale; +import java.util.Optional; import static org.junit.Assert.*; @@ -41,4 +42,15 @@ public class StatusTest { Assert.assertEquals("成功", Status.SUCCESS.getMsg()); } + @Test + public void testGetStatusByCode() { + // FAILURE + Optional optional = Status.findStatusBy(1); + Assert.assertFalse(optional.isPresent()); + + // SUCCESS + optional = Status.findStatusBy(10018); + Assert.assertTrue(optional.isPresent()); + Assert.assertEquals(Status.PROJECT_NOT_FOUNT, optional.get()); + } }