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

rong 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 a7b745842d4 Pipe: add stream & batch options for source.realtime.mode 
& remove some pipe plugins from show pipe plugins' dataset & make pipe-api 
compatible with the v1.2.x releases (#11461)
a7b745842d4 is described below

commit a7b745842d43ab9371013e1ee4258bc8cd14eca7
Author: Steve Yurong Su <[email protected]>
AuthorDate: Thu Nov 2 20:51:41 2023 +0800

    Pipe: add stream & batch options for source.realtime.mode & remove some 
pipe plugins from show pipe plugins' dataset & make pipe-api compatible with 
the v1.2.x releases (#11461)
    
    * Pipe: add stream & batch options for source.realtime.mode
      * 'stream' mode is equals to 'hybrid' mode
      * 'batch' mode is equals to 'file' mode
    
    * Pipe: remove some pipe plugins from show pipe plugins' dataset
      * some pipe plugins are not for public use
    
    * Pipe: Make pipe-api compatible with the v1.2.x releases
      * add methods (getString, getBoolean, getInt, getLong, getFloat, 
getDouble) for compatibility
---
 .../parameter/PipeParameterValidator.java          |  2 +-
 .../api/customizer/parameter/PipeParameters.java   | 41 ++++++++++++++++++----
 .../persistence/pipe/PipePluginInfo.java           |  2 +-
 .../db/pipe/agent/plugin/PipePluginAgent.java      |  2 +-
 .../config/constant/PipeExtractorConstant.java     |  2 ++
 .../db/pipe/connector/protocol/IoTDBConnector.java | 11 +++---
 .../protocol/legacy/IoTDBLegacyPipeConnector.java  | 11 +++---
 .../pipe/extractor/IoTDBDataRegionExtractor.java   | 12 +++++--
 .../PipeHistoricalDataRegionTsFileExtractor.java   |  5 +--
 .../config/metadata/ShowPipePluginsTask.java       |  6 ++++
 .../pipe/plugin/builtin/BuiltinPipePlugin.java     | 23 ++++++++++++
 11 files changed, 93 insertions(+), 24 deletions(-)

diff --git 
a/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/customizer/parameter/PipeParameterValidator.java
 
b/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/customizer/parameter/PipeParameterValidator.java
index a70151a97fe..7d55b44f37a 100644
--- 
a/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/customizer/parameter/PipeParameterValidator.java
+++ 
b/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/customizer/parameter/PipeParameterValidator.java
@@ -61,7 +61,7 @@ public class PipeParameterValidator {
       return this;
     }
 
-    final String actualValue = parameters.getString(key);
+    final String actualValue = parameters.getStringByKeys(key);
     for (String optionalValue : optionalValues) {
       if (actualValue.equals(optionalValue)) {
         return this;
diff --git 
a/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/customizer/parameter/PipeParameters.java
 
b/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/customizer/parameter/PipeParameters.java
index 2d00ce717b8..c896825f342 100644
--- 
a/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/customizer/parameter/PipeParameters.java
+++ 
b/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/customizer/parameter/PipeParameters.java
@@ -61,7 +61,36 @@ public class PipeParameters {
     return false;
   }
 
-  public String getString(String... keys) {
+  public String getString(String key) {
+    return attributes.get(key);
+  }
+
+  public Boolean getBoolean(String key) {
+    String value = attributes.get(key);
+    return value == null ? null : Boolean.parseBoolean(value);
+  }
+
+  public Integer getInt(String key) {
+    String value = attributes.get(key);
+    return value == null ? null : Integer.parseInt(value);
+  }
+
+  public Long getLong(String key) {
+    String value = attributes.get(key);
+    return value == null ? null : Long.parseLong(value);
+  }
+
+  public Float getFloat(String key) {
+    String value = attributes.get(key);
+    return value == null ? null : Float.parseFloat(value);
+  }
+
+  public Double getDouble(String key) {
+    String value = attributes.get(key);
+    return value == null ? null : Double.parseDouble(value);
+  }
+
+  public String getStringByKeys(String... keys) {
     for (final String key : keys) {
       final String value = attributes.get(key);
       if (value != null) {
@@ -71,7 +100,7 @@ public class PipeParameters {
     return null;
   }
 
-  public Boolean getBoolean(String... keys) {
+  public Boolean getBooleanByKeys(String... keys) {
     for (final String key : keys) {
       final String value = attributes.get(key);
       if (value != null) {
@@ -81,7 +110,7 @@ public class PipeParameters {
     return null;
   }
 
-  public Integer getInt(String... keys) {
+  public Integer getIntByKeys(String... keys) {
     for (final String key : keys) {
       final String value = attributes.get(key);
       if (value != null) {
@@ -91,7 +120,7 @@ public class PipeParameters {
     return null;
   }
 
-  public Long getLong(String... keys) {
+  public Long getLongByKeys(String... keys) {
     for (final String key : keys) {
       final String value = attributes.get(key);
       if (value != null) {
@@ -101,7 +130,7 @@ public class PipeParameters {
     return null;
   }
 
-  public Float getFloat(String... keys) {
+  public Float getFloatByKeys(String... keys) {
     for (final String key : keys) {
       final String value = attributes.get(key);
       if (value != null) {
@@ -111,7 +140,7 @@ public class PipeParameters {
     return null;
   }
 
-  public Double getDouble(String... keys) {
+  public Double getDoubleByKeys(String... keys) {
     for (final String key : keys) {
       final String value = attributes.get(key);
       if (value != null) {
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/pipe/PipePluginInfo.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/pipe/PipePluginInfo.java
index 85ab9f69adc..e4cde84ae6b 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/pipe/PipePluginInfo.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/pipe/PipePluginInfo.java
@@ -161,7 +161,7 @@ public class PipePluginInfo implements SnapshotProcessor {
       throw new PipeException(exceptionMessage);
     }
     final String connectorPluginName =
-        connectorParameters.getString(
+        connectorParameters.getStringByKeys(
             PipeConnectorConstant.CONNECTOR_KEY, 
PipeConnectorConstant.SINK_KEY);
     if (!pipePluginMetaKeeper.containsPipePlugin(connectorPluginName)) {
       final String exceptionMessage =
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/plugin/PipePluginAgent.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/plugin/PipePluginAgent.java
index a7edab29de8..f3445c7a107 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/plugin/PipePluginAgent.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/plugin/PipePluginAgent.java
@@ -226,7 +226,7 @@ public class PipePluginAgent {
     }
     return (PipeConnector)
         reflect(
-            connectorParameters.getString(
+            connectorParameters.getStringByKeys(
                 PipeConnectorConstant.CONNECTOR_KEY, 
PipeConnectorConstant.SINK_KEY));
   }
 
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/config/constant/PipeExtractorConstant.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/config/constant/PipeExtractorConstant.java
index a1eead9e6f5..2c9a72d58d7 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/config/constant/PipeExtractorConstant.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/config/constant/PipeExtractorConstant.java
@@ -53,6 +53,8 @@ public class PipeExtractorConstant {
   public static final String EXTRACTOR_REALTIME_MODE_FILE_VALUE = "file";
   public static final String EXTRACTOR_REALTIME_MODE_LOG_VALUE = "log";
   public static final String EXTRACTOR_REALTIME_MODE_FORCED_LOG_VALUE = 
"forced-log";
+  public static final String EXTRACTOR_REALTIME_MODE_STREAM_MODE_VALUE = 
"stream";
+  public static final String EXTRACTOR_REALTIME_MODE_BATCH_MODE_VALUE = 
"batch";
 
   private PipeExtractorConstant() {
     throw new IllegalStateException("Utility class");
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/IoTDBConnector.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/IoTDBConnector.java
index 5f295b550ff..11612db8996 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/IoTDBConnector.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/IoTDBConnector.java
@@ -99,27 +99,28 @@ public abstract class IoTDBConnector implements 
PipeConnector {
         && parameters.hasAttribute(CONNECTOR_IOTDB_PORT_KEY)) {
       givenNodeUrls.add(
           new TEndPoint(
-              parameters.getString(CONNECTOR_IOTDB_IP_KEY),
-              parameters.getInt(CONNECTOR_IOTDB_PORT_KEY)));
+              parameters.getStringByKeys(CONNECTOR_IOTDB_IP_KEY),
+              parameters.getIntByKeys(CONNECTOR_IOTDB_PORT_KEY)));
     }
 
     if (parameters.hasAttribute(SINK_IOTDB_IP_KEY)
         && parameters.hasAttribute(SINK_IOTDB_PORT_KEY)) {
       givenNodeUrls.add(
           new TEndPoint(
-              parameters.getString(SINK_IOTDB_IP_KEY), 
parameters.getInt(SINK_IOTDB_PORT_KEY)));
+              parameters.getStringByKeys(SINK_IOTDB_IP_KEY),
+              parameters.getIntByKeys(SINK_IOTDB_PORT_KEY)));
     }
 
     if (parameters.hasAttribute(CONNECTOR_IOTDB_NODE_URLS_KEY)) {
       givenNodeUrls.addAll(
           SessionUtils.parseSeedNodeUrls(
-              
Arrays.asList(parameters.getString(CONNECTOR_IOTDB_NODE_URLS_KEY).split(","))));
+              
Arrays.asList(parameters.getStringByKeys(CONNECTOR_IOTDB_NODE_URLS_KEY).split(","))));
     }
 
     if (parameters.hasAttribute(SINK_IOTDB_NODE_URLS_KEY)) {
       givenNodeUrls.addAll(
           SessionUtils.parseSeedNodeUrls(
-              
Arrays.asList(parameters.getString(SINK_IOTDB_NODE_URLS_KEY).split(","))));
+              
Arrays.asList(parameters.getStringByKeys(SINK_IOTDB_NODE_URLS_KEY).split(","))));
     }
 
     return givenNodeUrls;
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/legacy/IoTDBLegacyPipeConnector.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/legacy/IoTDBLegacyPipeConnector.java
index c2df8ceee08..e61dd3428ef 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/legacy/IoTDBLegacyPipeConnector.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/legacy/IoTDBLegacyPipeConnector.java
@@ -151,15 +151,16 @@ public class IoTDBLegacyPipeConnector implements 
PipeConnector {
         && parameters.hasAttribute(CONNECTOR_IOTDB_PORT_KEY)) {
       givenNodeUrls.add(
           new TEndPoint(
-              parameters.getString(CONNECTOR_IOTDB_IP_KEY),
-              parameters.getInt(CONNECTOR_IOTDB_PORT_KEY)));
+              parameters.getStringByKeys(CONNECTOR_IOTDB_IP_KEY),
+              parameters.getIntByKeys(CONNECTOR_IOTDB_PORT_KEY)));
     }
 
     if (parameters.hasAttribute(SINK_IOTDB_IP_KEY)
         && parameters.hasAttribute(SINK_IOTDB_PORT_KEY)) {
       givenNodeUrls.add(
           new TEndPoint(
-              parameters.getString(SINK_IOTDB_IP_KEY), 
parameters.getInt(SINK_IOTDB_PORT_KEY)));
+              parameters.getStringByKeys(SINK_IOTDB_IP_KEY),
+              parameters.getIntByKeys(SINK_IOTDB_PORT_KEY)));
     }
 
     return givenNodeUrls;
@@ -168,8 +169,8 @@ public class IoTDBLegacyPipeConnector implements 
PipeConnector {
   @Override
   public void customize(PipeParameters parameters, 
PipeConnectorRuntimeConfiguration configuration)
       throws Exception {
-    ipAddress = parameters.getString(CONNECTOR_IOTDB_IP_KEY, 
SINK_IOTDB_IP_KEY);
-    port = parameters.getInt(CONNECTOR_IOTDB_PORT_KEY, SINK_IOTDB_PORT_KEY);
+    ipAddress = parameters.getStringByKeys(CONNECTOR_IOTDB_IP_KEY, 
SINK_IOTDB_IP_KEY);
+    port = parameters.getIntByKeys(CONNECTOR_IOTDB_PORT_KEY, 
SINK_IOTDB_PORT_KEY);
 
     user =
         parameters.getStringOrDefault(
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/IoTDBDataRegionExtractor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/IoTDBDataRegionExtractor.java
index c68e3047404..15f6696118d 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/IoTDBDataRegionExtractor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/IoTDBDataRegionExtractor.java
@@ -52,11 +52,13 @@ import static 
org.apache.iotdb.db.pipe.config.constant.PipeExtractorConstant.EXT
 import static 
org.apache.iotdb.db.pipe.config.constant.PipeExtractorConstant.EXTRACTOR_HISTORY_ENABLE_KEY;
 import static 
org.apache.iotdb.db.pipe.config.constant.PipeExtractorConstant.EXTRACTOR_REALTIME_ENABLE_DEFAULT_VALUE;
 import static 
org.apache.iotdb.db.pipe.config.constant.PipeExtractorConstant.EXTRACTOR_REALTIME_ENABLE_KEY;
+import static 
org.apache.iotdb.db.pipe.config.constant.PipeExtractorConstant.EXTRACTOR_REALTIME_MODE_BATCH_MODE_VALUE;
 import static 
org.apache.iotdb.db.pipe.config.constant.PipeExtractorConstant.EXTRACTOR_REALTIME_MODE_FILE_VALUE;
 import static 
org.apache.iotdb.db.pipe.config.constant.PipeExtractorConstant.EXTRACTOR_REALTIME_MODE_FORCED_LOG_VALUE;
 import static 
org.apache.iotdb.db.pipe.config.constant.PipeExtractorConstant.EXTRACTOR_REALTIME_MODE_HYBRID_VALUE;
 import static 
org.apache.iotdb.db.pipe.config.constant.PipeExtractorConstant.EXTRACTOR_REALTIME_MODE_KEY;
 import static 
org.apache.iotdb.db.pipe.config.constant.PipeExtractorConstant.EXTRACTOR_REALTIME_MODE_LOG_VALUE;
+import static 
org.apache.iotdb.db.pipe.config.constant.PipeExtractorConstant.EXTRACTOR_REALTIME_MODE_STREAM_MODE_VALUE;
 import static 
org.apache.iotdb.db.pipe.config.constant.PipeExtractorConstant.SOURCE_HISTORY_ENABLE_KEY;
 import static 
org.apache.iotdb.db.pipe.config.constant.PipeExtractorConstant.SOURCE_REALTIME_ENABLE_KEY;
 import static 
org.apache.iotdb.db.pipe.config.constant.PipeExtractorConstant.SOURCE_REALTIME_MODE_KEY;
@@ -117,7 +119,9 @@ public class IoTDBDataRegionExtractor implements 
PipeExtractor {
           EXTRACTOR_REALTIME_MODE_FILE_VALUE,
           EXTRACTOR_REALTIME_MODE_HYBRID_VALUE,
           EXTRACTOR_REALTIME_MODE_LOG_VALUE,
-          EXTRACTOR_REALTIME_MODE_FORCED_LOG_VALUE);
+          EXTRACTOR_REALTIME_MODE_FORCED_LOG_VALUE,
+          EXTRACTOR_REALTIME_MODE_STREAM_MODE_VALUE,
+          EXTRACTOR_REALTIME_MODE_BATCH_MODE_VALUE);
     }
 
     constructHistoricalExtractor();
@@ -150,12 +154,14 @@ public class IoTDBDataRegionExtractor implements 
PipeExtractor {
       return;
     }
 
-    switch (parameters.getString(EXTRACTOR_REALTIME_MODE_KEY, 
SOURCE_REALTIME_MODE_KEY)) {
+    switch (parameters.getStringByKeys(EXTRACTOR_REALTIME_MODE_KEY, 
SOURCE_REALTIME_MODE_KEY)) {
       case EXTRACTOR_REALTIME_MODE_FILE_VALUE:
+      case EXTRACTOR_REALTIME_MODE_BATCH_MODE_VALUE:
         realtimeExtractor = new PipeRealtimeDataRegionTsFileExtractor();
         break;
       case EXTRACTOR_REALTIME_MODE_HYBRID_VALUE:
       case EXTRACTOR_REALTIME_MODE_LOG_VALUE:
+      case EXTRACTOR_REALTIME_MODE_STREAM_MODE_VALUE:
         realtimeExtractor = new PipeRealtimeDataRegionHybridExtractor();
         break;
       case EXTRACTOR_REALTIME_MODE_FORCED_LOG_VALUE:
@@ -166,7 +172,7 @@ public class IoTDBDataRegionExtractor implements 
PipeExtractor {
         if (LOGGER.isWarnEnabled()) {
           LOGGER.warn(
               "Unsupported extractor realtime mode: {}, create a hybrid 
extractor.",
-              parameters.getString(EXTRACTOR_REALTIME_MODE_KEY, 
SOURCE_REALTIME_MODE_KEY));
+              parameters.getStringByKeys(EXTRACTOR_REALTIME_MODE_KEY, 
SOURCE_REALTIME_MODE_KEY));
         }
     }
   }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/historical/PipeHistoricalDataRegionTsFileExtractor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/historical/PipeHistoricalDataRegionTsFileExtractor.java
index 009a9f510c9..b1d5037078a 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/historical/PipeHistoricalDataRegionTsFileExtractor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/historical/PipeHistoricalDataRegionTsFileExtractor.java
@@ -132,7 +132,7 @@ public class PipeHistoricalDataRegionTsFileExtractor 
implements PipeHistoricalDa
                 && parameters.hasAnyAttributes(
                     EXTRACTOR_HISTORY_START_TIME_KEY, 
SOURCE_HISTORY_START_TIME_KEY)
             ? DateTimeUtils.convertDatetimeStrToLong(
-                parameters.getString(
+                parameters.getStringByKeys(
                     EXTRACTOR_HISTORY_START_TIME_KEY, 
SOURCE_HISTORY_START_TIME_KEY),
                 ZoneId.systemDefault())
             : Long.MIN_VALUE;
@@ -141,7 +141,8 @@ public class PipeHistoricalDataRegionTsFileExtractor 
implements PipeHistoricalDa
                 && parameters.hasAnyAttributes(
                     EXTRACTOR_HISTORY_END_TIME_KEY, 
SOURCE_HISTORY_END_TIME_KEY)
             ? DateTimeUtils.convertDatetimeStrToLong(
-                parameters.getString(EXTRACTOR_HISTORY_END_TIME_KEY, 
SOURCE_HISTORY_END_TIME_KEY),
+                parameters.getStringByKeys(
+                    EXTRACTOR_HISTORY_END_TIME_KEY, 
SOURCE_HISTORY_END_TIME_KEY),
                 ZoneId.systemDefault())
             : Long.MAX_VALUE;
 
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/ShowPipePluginsTask.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/ShowPipePluginsTask.java
index b88e1bdf22f..6c76558d56a 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/ShowPipePluginsTask.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/ShowPipePluginsTask.java
@@ -19,6 +19,7 @@
 
 package org.apache.iotdb.db.queryengine.plan.execution.config.metadata;
 
+import org.apache.iotdb.commons.pipe.plugin.builtin.BuiltinPipePlugin;
 import org.apache.iotdb.commons.pipe.plugin.meta.PipePluginMeta;
 import org.apache.iotdb.db.queryengine.common.header.ColumnHeader;
 import org.apache.iotdb.db.queryengine.common.header.ColumnHeaderConstant;
@@ -70,6 +71,11 @@ public class ShowPipePluginsTask implements IConfigTask {
             .collect(Collectors.toList());
     final TsBlockBuilder builder = new TsBlockBuilder(outputDataTypes);
     for (final PipePluginMeta pipePluginMeta : pipePluginMetaList) {
+      // some pipe plugins are not for user's direct use
+      if 
(BuiltinPipePlugin.SHOW_PIPE_PLUGINS_BLACKLIST.contains(pipePluginMeta.getPluginName()))
 {
+        continue;
+      }
+
       builder.getTimeColumnBuilder().writeLong(0L);
       
builder.getColumnBuilder(0).writeBinary(BytesUtils.valueOf(pipePluginMeta.getPluginName()));
       builder
diff --git 
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/plugin/builtin/BuiltinPipePlugin.java
 
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/plugin/builtin/BuiltinPipePlugin.java
index 54e21941cac..f702179004a 100644
--- 
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/plugin/builtin/BuiltinPipePlugin.java
+++ 
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/plugin/builtin/BuiltinPipePlugin.java
@@ -30,6 +30,9 @@ import 
org.apache.iotdb.commons.pipe.plugin.builtin.connector.WebSocketConnector
 import org.apache.iotdb.commons.pipe.plugin.builtin.extractor.IoTDBExtractor;
 import 
org.apache.iotdb.commons.pipe.plugin.builtin.processor.DoNothingProcessor;
 
+import java.util.HashSet;
+import java.util.Set;
+
 public enum BuiltinPipePlugin {
 
   // extractors
@@ -81,4 +84,24 @@ public enum BuiltinPipePlugin {
   public String getClassName() {
     return className;
   }
+
+  public static final Set<String> SHOW_PIPE_PLUGINS_BLACKLIST = new 
HashSet<>();
+
+  static {
+    SHOW_PIPE_PLUGINS_BLACKLIST.add(IOTDB_EXTRACTOR.getPipePluginName());
+
+    SHOW_PIPE_PLUGINS_BLACKLIST.add(DO_NOTHING_CONNECTOR.getPipePluginName());
+    
SHOW_PIPE_PLUGINS_BLACKLIST.add(IOTDB_THRIFT_CONNECTOR.getPipePluginName());
+    
SHOW_PIPE_PLUGINS_BLACKLIST.add(IOTDB_THRIFT_SYNC_CONNECTOR.getPipePluginName());
+    
SHOW_PIPE_PLUGINS_BLACKLIST.add(IOTDB_THRIFT_ASYNC_CONNECTOR.getPipePluginName());
+    
SHOW_PIPE_PLUGINS_BLACKLIST.add(IOTDB_LEGACY_PIPE_CONNECTOR.getPipePluginName());
+    
SHOW_PIPE_PLUGINS_BLACKLIST.add(IOTDB_AIR_GAP_CONNECTOR.getPipePluginName());
+    SHOW_PIPE_PLUGINS_BLACKLIST.add(WEBSOCKET_CONNECTOR.getPipePluginName());
+    SHOW_PIPE_PLUGINS_BLACKLIST.add(OPC_UA_CONNECTOR.getPipePluginName());
+
+    
SHOW_PIPE_PLUGINS_BLACKLIST.add(IOTDB_THRIFT_SYNC_SINK.getPipePluginName());
+    
SHOW_PIPE_PLUGINS_BLACKLIST.add(IOTDB_THRIFT_ASYNC_SINK.getPipePluginName());
+    
SHOW_PIPE_PLUGINS_BLACKLIST.add(IOTDB_LEGACY_PIPE_SINK.getPipePluginName());
+    SHOW_PIPE_PLUGINS_BLACKLIST.add(WEBSOCKET_SINK.getPipePluginName());
+  }
 }

Reply via email to