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);
- }
}