You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ta...@apache.org on 2021/03/22 11:47:31 UTC

[iotdb] branch master updated: Use switch case in enums class (#2882)

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

tanxinyu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new 9e886df  Use switch case in enums class  (#2882)
9e886df is described below

commit 9e886df784f3b11f77907f44acf451724b9512ec
Author: Yifu Zhou <ef...@gmail.com>
AuthorDate: Mon Mar 22 19:47:03 2021 +0800

    Use switch case in enums class  (#2882)
    
    * change for loop to switch case
    
    * fix code smell
    
    Co-authored-by: YIFU ZHOU <>
---
 .../file/metadata/enums/CompressionType.java       | 24 +++++++++++++++----
 .../file/metadata/enums/MetadataIndexNodeType.java | 17 +++++++++-----
 .../tsfile/file/metadata/enums/TSDataType.java     | 21 ++++++++++++-----
 .../tsfile/file/metadata/enums/TSEncoding.java     | 27 +++++++++++++++++-----
 4 files changed, 66 insertions(+), 23 deletions(-)

diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/CompressionType.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/CompressionType.java
index ff43ac2..85893e7 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/CompressionType.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/CompressionType.java
@@ -58,12 +58,26 @@ public enum CompressionType {
    * @return CompressionType
    */
   public static CompressionType deserialize(byte compressor) {
-    for (CompressionType compressionType : CompressionType.values()) {
-      if (compressor == compressionType.index) {
-        return compressionType;
-      }
+    switch (compressor) {
+      case 0:
+        return CompressionType.UNCOMPRESSED;
+      case 1:
+        return CompressionType.SNAPPY;
+      case 2:
+        return CompressionType.GZIP;
+      case 3:
+        return CompressionType.LZO;
+      case 4:
+        return CompressionType.SDT;
+      case 5:
+        return CompressionType.PAA;
+      case 6:
+        return CompressionType.PLA;
+      case 7:
+        return CompressionType.LZ4;
+      default:
+        throw new IllegalArgumentException("Invalid input: " + compressor);
     }
-    throw new IllegalArgumentException("Invalid input: " + compressor);
   }
 
   public static int getSerializedSize() {
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/MetadataIndexNodeType.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/MetadataIndexNodeType.java
index 930d2a8..dc866f4 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/MetadataIndexNodeType.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/MetadataIndexNodeType.java
@@ -57,13 +57,18 @@ public enum MetadataIndexNodeType {
    * @return MetadataIndexNodeType
    */
   public static MetadataIndexNodeType deserialize(byte i) {
-    for (MetadataIndexNodeType metadataIndexNodeType : MetadataIndexNodeType.values()) {
-      if (i == metadataIndexNodeType.type) {
-        return metadataIndexNodeType;
-      }
+    switch (i) {
+      case 0:
+        return MetadataIndexNodeType.INTERNAL_DEVICE;
+      case 1:
+        return MetadataIndexNodeType.LEAF_DEVICE;
+      case 2:
+        return MetadataIndexNodeType.INTERNAL_MEASUREMENT;
+      case 3:
+        return MetadataIndexNodeType.LEAF_MEASUREMENT;
+      default:
+        throw new IllegalArgumentException("Invalid input: " + i);
     }
-
-    throw new IllegalArgumentException("Invalid input: " + i);
   }
 
   public static MetadataIndexNodeType deserializeFrom(ByteBuffer buffer) {
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/TSDataType.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/TSDataType.java
index 0edda45..790462a 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/TSDataType.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/TSDataType.java
@@ -60,13 +60,22 @@ public enum TSDataType {
   }
 
   private static TSDataType getTsDataType(byte type) {
-    for (TSDataType tsDataType : TSDataType.values()) {
-      if (type == tsDataType.type) {
-        return tsDataType;
-      }
+    switch (type) {
+      case 0:
+        return TSDataType.BOOLEAN;
+      case 1:
+        return TSDataType.INT32;
+      case 2:
+        return TSDataType.INT64;
+      case 3:
+        return TSDataType.FLOAT;
+      case 4:
+        return TSDataType.DOUBLE;
+      case 5:
+        return TSDataType.TEXT;
+      default:
+        throw new IllegalArgumentException("Invalid input: " + type);
     }
-
-    throw new IllegalArgumentException("Invalid input: " + type);
   }
 
   public static TSDataType deserializeFrom(ByteBuffer buffer) {
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/TSEncoding.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/TSEncoding.java
index b0b54e1..394f0d2 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/TSEncoding.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/TSEncoding.java
@@ -46,13 +46,28 @@ public enum TSEncoding {
   }
 
   private static TSEncoding getTsEncoding(byte encoding) {
-    for (TSEncoding tsEncoding : TSEncoding.values()) {
-      if (encoding == tsEncoding.type) {
-        return tsEncoding;
-      }
+    switch (encoding) {
+      case 0:
+        return TSEncoding.PLAIN;
+      case 1:
+        return TSEncoding.PLAIN_DICTIONARY;
+      case 2:
+        return TSEncoding.RLE;
+      case 3:
+        return TSEncoding.DIFF;
+      case 4:
+        return TSEncoding.TS_2DIFF;
+      case 5:
+        return TSEncoding.BITMAP;
+      case 6:
+        return TSEncoding.GORILLA_V1;
+      case 7:
+        return TSEncoding.REGULAR;
+      case 8:
+        return TSEncoding.GORILLA;
+      default:
+        throw new IllegalArgumentException("Invalid input: " + encoding);
     }
-
-    throw new IllegalArgumentException("Invalid input: " + encoding);
   }
 
   public static int getSerializedSize() {