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

wanghailin pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git


The following commit(s) were added to refs/heads/dev by this push:
     new c439b99f19 [improve] console sink options (#8743)
c439b99f19 is described below

commit c439b99f19942470c823651ede86d725defb0dc7
Author: Jarvis <[email protected]>
AuthorDate: Mon Feb 17 20:28:06 2025 +0800

    [improve] console sink options (#8743)
---
 .../seatunnel/api/ConnectorOptionCheckTest.java    |  1 -
 .../seatunnel/console/sink/ConsoleSink.java        |  7 ++---
 .../seatunnel/console/sink/ConsoleSinkFactory.java | 23 ++--------------
 ...oleSinkFactory.java => ConsoleSinkOptions.java} | 32 +---------------------
 4 files changed, 6 insertions(+), 57 deletions(-)

diff --git 
a/seatunnel-ci-tools/src/test/java/org/apache/seatunnel/api/ConnectorOptionCheckTest.java
 
b/seatunnel-ci-tools/src/test/java/org/apache/seatunnel/api/ConnectorOptionCheckTest.java
index d982bacf36..7dce5ee5f5 100644
--- 
a/seatunnel-ci-tools/src/test/java/org/apache/seatunnel/api/ConnectorOptionCheckTest.java
+++ 
b/seatunnel-ci-tools/src/test/java/org/apache/seatunnel/api/ConnectorOptionCheckTest.java
@@ -208,7 +208,6 @@ public class ConnectorOptionCheckTest {
         whiteList.add("SocketSinkOptions");
         whiteList.add("ClickhouseSinkOptions");
         whiteList.add("SelectDBSinkOptions");
-        whiteList.add("ConsoleSinkOptions");
         whiteList.add("PrometheusSinkOptions");
         whiteList.add("FirestoreSinkOptions");
         whiteList.add("ClickhouseSourceOptions");
diff --git 
a/seatunnel-connectors-v2/connector-console/src/main/java/org/apache/seatunnel/connectors/seatunnel/console/sink/ConsoleSink.java
 
b/seatunnel-connectors-v2/connector-console/src/main/java/org/apache/seatunnel/connectors/seatunnel/console/sink/ConsoleSink.java
index 6a1dbbbbe2..8b57195352 100644
--- 
a/seatunnel-connectors-v2/connector-console/src/main/java/org/apache/seatunnel/connectors/seatunnel/console/sink/ConsoleSink.java
+++ 
b/seatunnel-connectors-v2/connector-console/src/main/java/org/apache/seatunnel/connectors/seatunnel/console/sink/ConsoleSink.java
@@ -31,9 +31,6 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Optional;
 
-import static 
org.apache.seatunnel.connectors.seatunnel.console.sink.ConsoleSinkFactory.LOG_PRINT_DATA;
-import static 
org.apache.seatunnel.connectors.seatunnel.console.sink.ConsoleSinkFactory.LOG_PRINT_DELAY;
-
 public class ConsoleSink extends AbstractSimpleSink<SeaTunnelRow, Void>
         implements SupportMultiTableSink, SupportSchemaEvolutionSink {
     private final SeaTunnelRowType seaTunnelRowType;
@@ -43,8 +40,8 @@ public class ConsoleSink extends 
AbstractSimpleSink<SeaTunnelRow, Void>
 
     public ConsoleSink(CatalogTable catalogTable, ReadonlyConfig options) {
         this.catalogTable = catalogTable;
-        this.isPrintData = options.get(LOG_PRINT_DATA);
-        this.delayMs = options.get(LOG_PRINT_DELAY);
+        this.isPrintData = options.get(ConsoleSinkOptions.LOG_PRINT_DATA);
+        this.delayMs = options.get(ConsoleSinkOptions.LOG_PRINT_DELAY);
         this.seaTunnelRowType = 
catalogTable.getTableSchema().toPhysicalRowDataType();
     }
 
diff --git 
a/seatunnel-connectors-v2/connector-console/src/main/java/org/apache/seatunnel/connectors/seatunnel/console/sink/ConsoleSinkFactory.java
 
b/seatunnel-connectors-v2/connector-console/src/main/java/org/apache/seatunnel/connectors/seatunnel/console/sink/ConsoleSinkFactory.java
index 50e7233987..b47588275a 100644
--- 
a/seatunnel-connectors-v2/connector-console/src/main/java/org/apache/seatunnel/connectors/seatunnel/console/sink/ConsoleSinkFactory.java
+++ 
b/seatunnel-connectors-v2/connector-console/src/main/java/org/apache/seatunnel/connectors/seatunnel/console/sink/ConsoleSinkFactory.java
@@ -17,11 +17,8 @@
 
 package org.apache.seatunnel.connectors.seatunnel.console.sink;
 
-import org.apache.seatunnel.api.configuration.Option;
-import org.apache.seatunnel.api.configuration.Options;
 import org.apache.seatunnel.api.configuration.ReadonlyConfig;
 import org.apache.seatunnel.api.configuration.util.OptionRule;
-import org.apache.seatunnel.api.options.SinkConnectorCommonOptions;
 import org.apache.seatunnel.api.table.connector.TableSink;
 import org.apache.seatunnel.api.table.factory.Factory;
 import org.apache.seatunnel.api.table.factory.TableSinkFactory;
@@ -32,20 +29,6 @@ import com.google.auto.service.AutoService;
 @AutoService(Factory.class)
 public class ConsoleSinkFactory implements TableSinkFactory {
 
-    public static final Option<Boolean> LOG_PRINT_DATA =
-            Options.key("log.print.data")
-                    .booleanType()
-                    .defaultValue(true)
-                    .withDescription(
-                            "Flag to determine whether data should be printed 
in the logs.");
-
-    public static final Option<Integer> LOG_PRINT_DELAY =
-            Options.key("log.print.delay.ms")
-                    .intType()
-                    .defaultValue(0)
-                    .withDescription(
-                            "Delay in milliseconds between printing each data 
item to the logs.");
-
     @Override
     public String factoryIdentifier() {
         return "Console";
@@ -55,9 +38,9 @@ public class ConsoleSinkFactory implements TableSinkFactory {
     public OptionRule optionRule() {
         return OptionRule.builder()
                 .optional(
-                        LOG_PRINT_DATA,
-                        LOG_PRINT_DELAY,
-                        SinkConnectorCommonOptions.MULTI_TABLE_SINK_REPLICA)
+                        ConsoleSinkOptions.LOG_PRINT_DATA,
+                        ConsoleSinkOptions.LOG_PRINT_DELAY,
+                        ConsoleSinkOptions.MULTI_TABLE_SINK_REPLICA)
                 .build();
     }
 
diff --git 
a/seatunnel-connectors-v2/connector-console/src/main/java/org/apache/seatunnel/connectors/seatunnel/console/sink/ConsoleSinkFactory.java
 
b/seatunnel-connectors-v2/connector-console/src/main/java/org/apache/seatunnel/connectors/seatunnel/console/sink/ConsoleSinkOptions.java
similarity index 59%
copy from 
seatunnel-connectors-v2/connector-console/src/main/java/org/apache/seatunnel/connectors/seatunnel/console/sink/ConsoleSinkFactory.java
copy to 
seatunnel-connectors-v2/connector-console/src/main/java/org/apache/seatunnel/connectors/seatunnel/console/sink/ConsoleSinkOptions.java
index 50e7233987..95486194b6 100644
--- 
a/seatunnel-connectors-v2/connector-console/src/main/java/org/apache/seatunnel/connectors/seatunnel/console/sink/ConsoleSinkFactory.java
+++ 
b/seatunnel-connectors-v2/connector-console/src/main/java/org/apache/seatunnel/connectors/seatunnel/console/sink/ConsoleSinkOptions.java
@@ -19,18 +19,9 @@ package 
org.apache.seatunnel.connectors.seatunnel.console.sink;
 
 import org.apache.seatunnel.api.configuration.Option;
 import org.apache.seatunnel.api.configuration.Options;
-import org.apache.seatunnel.api.configuration.ReadonlyConfig;
-import org.apache.seatunnel.api.configuration.util.OptionRule;
 import org.apache.seatunnel.api.options.SinkConnectorCommonOptions;
-import org.apache.seatunnel.api.table.connector.TableSink;
-import org.apache.seatunnel.api.table.factory.Factory;
-import org.apache.seatunnel.api.table.factory.TableSinkFactory;
-import org.apache.seatunnel.api.table.factory.TableSinkFactoryContext;
 
-import com.google.auto.service.AutoService;
-
-@AutoService(Factory.class)
-public class ConsoleSinkFactory implements TableSinkFactory {
+public class ConsoleSinkOptions extends SinkConnectorCommonOptions {
 
     public static final Option<Boolean> LOG_PRINT_DATA =
             Options.key("log.print.data")
@@ -45,25 +36,4 @@ public class ConsoleSinkFactory implements TableSinkFactory {
                     .defaultValue(0)
                     .withDescription(
                             "Delay in milliseconds between printing each data 
item to the logs.");
-
-    @Override
-    public String factoryIdentifier() {
-        return "Console";
-    }
-
-    @Override
-    public OptionRule optionRule() {
-        return OptionRule.builder()
-                .optional(
-                        LOG_PRINT_DATA,
-                        LOG_PRINT_DELAY,
-                        SinkConnectorCommonOptions.MULTI_TABLE_SINK_REPLICA)
-                .build();
-    }
-
-    @Override
-    public TableSink createSink(TableSinkFactoryContext context) {
-        ReadonlyConfig options = context.getOptions();
-        return () -> new ConsoleSink(context.getCatalogTable(), options);
-    }
 }

Reply via email to