This is an automated email from the ASF dual-hosted git repository.

benjobs pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git


The following commit(s) were added to refs/heads/dev by this push:
     new 01720601b [ISSUE-3405][Feature] Avoid Null Pointer Exception in switch 
keyword (#3409)
01720601b is described below

commit 01720601be166adfce1c908948c6677a4120bba7
Author: zhengkezhou <[email protected]>
AuthorDate: Tue Dec 19 16:25:20 2023 +0800

    [ISSUE-3405][Feature] Avoid Null Pointer Exception in switch keyword (#3409)
    
    * [ISSUE-3405][Feature] Avoid Null Pointer Exception in ApplicationType
    
    * [ISSUE-3405][Feature] Avoid Null Pointer Exception in 
FlinkExecutionMode.java
    
    * [ISSUE-3405][Feature] change UNKNOWN Status code -1
---
 .../org/apache/streampark/common/enums/ApplicationType.java   |  8 +++++---
 .../apache/streampark/common/enums/FlinkDevelopmentMode.java  | 10 ++++++----
 .../apache/streampark/common/enums/FlinkExecutionMode.java    | 11 +++++++----
 3 files changed, 18 insertions(+), 11 deletions(-)

diff --git 
a/streampark-common/src/main/java/org/apache/streampark/common/enums/ApplicationType.java
 
b/streampark-common/src/main/java/org/apache/streampark/common/enums/ApplicationType.java
index b2bf8998e..f73b1a4b1 100644
--- 
a/streampark-common/src/main/java/org/apache/streampark/common/enums/ApplicationType.java
+++ 
b/streampark-common/src/main/java/org/apache/streampark/common/enums/ApplicationType.java
@@ -18,10 +18,12 @@
 package org.apache.streampark.common.enums;
 
 import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
 
 public enum ApplicationType {
 
+  /** Unknown type replace null */
+  UNKNOWN(-1, "unknown"),
+
   /** StreamPark Flink */
   STREAMPARK_FLINK(1, "StreamPark Flink"),
 
@@ -52,13 +54,13 @@ public enum ApplicationType {
   }
 
   /** switch param use this, can't be null */
-  @Nullable
+  @Nonnull
   public static ApplicationType of(int type) {
     for (ApplicationType appType : ApplicationType.values()) {
       if (appType.getType() == type) {
         return appType;
       }
     }
-    return null;
+    return ApplicationType.UNKNOWN;
   }
 }
diff --git 
a/streampark-common/src/main/java/org/apache/streampark/common/enums/FlinkDevelopmentMode.java
 
b/streampark-common/src/main/java/org/apache/streampark/common/enums/FlinkDevelopmentMode.java
index 2ad4fc7e5..09c94fe37 100644
--- 
a/streampark-common/src/main/java/org/apache/streampark/common/enums/FlinkDevelopmentMode.java
+++ 
b/streampark-common/src/main/java/org/apache/streampark/common/enums/FlinkDevelopmentMode.java
@@ -22,15 +22,17 @@ import javax.annotation.Nullable;
 
 public enum FlinkDevelopmentMode {
 
+  /** Unknown type replace null */
+  UNKNOWN("Unknown", -1),
+
   /** custom code */
   CUSTOM_CODE("Custom Code", 1),
 
   /** Flink SQL */
   FLINK_SQL("Flink SQL", 2),
 
-  /** Py flink */
+  /** Py flink Mode */
   PYFLINK("Python Flink", 3);
-
   private final String name;
 
   private final Integer mode;
@@ -41,14 +43,14 @@ public enum FlinkDevelopmentMode {
   }
 
   /** switch param use this, can't be null */
-  @Nullable
+  @Nonnull
   public static FlinkDevelopmentMode of(@Nullable Integer value) {
     for (FlinkDevelopmentMode flinkDevelopmentMode : values()) {
       if (flinkDevelopmentMode.mode.equals(value)) {
         return flinkDevelopmentMode;
       }
     }
-    return null;
+    return FlinkDevelopmentMode.UNKNOWN;
   }
 
   @Nonnull
diff --git 
a/streampark-common/src/main/java/org/apache/streampark/common/enums/FlinkExecutionMode.java
 
b/streampark-common/src/main/java/org/apache/streampark/common/enums/FlinkExecutionMode.java
index 5a373dc1f..f7e17dd8c 100644
--- 
a/streampark-common/src/main/java/org/apache/streampark/common/enums/FlinkExecutionMode.java
+++ 
b/streampark-common/src/main/java/org/apache/streampark/common/enums/FlinkExecutionMode.java
@@ -26,6 +26,9 @@ import java.util.List;
 
 public enum FlinkExecutionMode {
 
+  /** Unknown Mode */
+  UNKNOWN(-1, "Unknown"),
+
   /** Local mode */
   LOCAL(0, "local"),
 
@@ -46,7 +49,6 @@ public enum FlinkExecutionMode {
 
   /** kubernetes application */
   KUBERNETES_NATIVE_APPLICATION(6, "kubernetes-application");
-
   private final Integer mode;
 
   private final String name;
@@ -57,23 +59,24 @@ public enum FlinkExecutionMode {
   }
 
   /** switch param use this, can't be null */
-  @Nullable
+  @Nonnull
   public static FlinkExecutionMode of(@Nullable Integer value) {
     for (FlinkExecutionMode mode : values()) {
       if (mode.mode.equals(value)) {
         return mode;
       }
     }
-    return null;
+    return FlinkExecutionMode.UNKNOWN;
   }
 
+  @Nonnull
   public static FlinkExecutionMode of(@Nullable String name) {
     for (FlinkExecutionMode mode : values()) {
       if (mode.name.equals(name)) {
         return mode;
       }
     }
-    return null;
+    return FlinkExecutionMode.UNKNOWN;
   }
 
   public int getMode() {

Reply via email to