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 b159cc0c75 [improve] add assert options (#8620)
b159cc0c75 is described below

commit b159cc0c75719a2ae73ec7e5a4bdc4bf63d4d7c8
Author: Jarvis <[email protected]>
AuthorDate: Mon Feb 10 11:22:57 2025 +0800

    [improve] add assert options (#8620)
---
 .../seatunnel/api/ConnectorOptionCheckTest.java    |  1 -
 .../seatunnel/assertion/sink/AssertConfig.java     | 28 ++--------------
 .../seatunnel/assertion/sink/AssertSink.java       |  4 +--
 .../assertion/sink/AssertSinkFactory.java          |  9 ++---
 .../assertion/sink/AssertSinkOptions.java          | 39 ++++++++++++++++++++++
 5 files changed, 46 insertions(+), 35 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 92acb42a5f..e11291c418 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
@@ -205,7 +205,6 @@ public class ConnectorOptionCheckTest {
         whiteList.add("RocketMqSinkOptions");
         whiteList.add("ClickhouseFileSinkOptions");
         whiteList.add("IcebergSinkOptions");
-        whiteList.add("AssertSinkOptions");
         whiteList.add("MaxcomputeSourceOptions");
         whiteList.add("InfluxDBSourceOptions");
         whiteList.add("InfluxDBSinkOptions");
diff --git 
a/seatunnel-connectors-v2/connector-assert/src/main/java/org/apache/seatunnel/connectors/seatunnel/assertion/sink/AssertConfig.java
 
b/seatunnel-connectors-v2/connector-assert/src/main/java/org/apache/seatunnel/connectors/seatunnel/assertion/sink/AssertConfig.java
index a35e91837f..a6d340ec6e 100644
--- 
a/seatunnel-connectors-v2/connector-assert/src/main/java/org/apache/seatunnel/connectors/seatunnel/assertion/sink/AssertConfig.java
+++ 
b/seatunnel-connectors-v2/connector-assert/src/main/java/org/apache/seatunnel/connectors/seatunnel/assertion/sink/AssertConfig.java
@@ -17,13 +17,6 @@
 
 package org.apache.seatunnel.connectors.seatunnel.assertion.sink;
 
-import 
org.apache.seatunnel.shade.com.fasterxml.jackson.core.type.TypeReference;
-
-import org.apache.seatunnel.api.configuration.Option;
-import org.apache.seatunnel.api.configuration.Options;
-
-import java.util.Map;
-
 public class AssertConfig {
 
     public static final String RULE_TYPE = "rule_type";
@@ -64,29 +57,12 @@ public class AssertConfig {
     public static final String COLUMN_DEFAULT_VALUE = "default_value";
     public static final String COLUMN_COMMENT = "comment";
 
+    public static final String TABLE_PATH = "table_path";
+
     public static class TableIdentifierRule {
         public static final String TABLE_IDENTIFIER_RULE = 
"table_identifier_rule";
 
         public static final String TABLE_IDENTIFIER_CATALOG_NAME = 
"catalog_name";
         public static final String TABLE_IDENTIFIER_TABLE_NAME = "table";
     }
-
-    public static final Option<String> COMMENT =
-            Options.key("comment")
-                    .stringType()
-                    .noDefaultValue()
-                    .withDescription("SeaTunnel Schema Column Comment");
-
-    public static final Option<Map<String, Object>> RULES =
-            Options.key("rules")
-                    .type(new TypeReference<Map<String, Object>>() {})
-                    .noDefaultValue()
-                    .withDescription(
-                            "Rule definition of user's available data. Each 
rule represents one field validation or row num validation.");
-
-    public static final Option<String> TABLE_PATH =
-            Options.key("table_path")
-                    .stringType()
-                    .noDefaultValue()
-                    .withDescription("table full path");
 }
diff --git 
a/seatunnel-connectors-v2/connector-assert/src/main/java/org/apache/seatunnel/connectors/seatunnel/assertion/sink/AssertSink.java
 
b/seatunnel-connectors-v2/connector-assert/src/main/java/org/apache/seatunnel/connectors/seatunnel/assertion/sink/AssertSink.java
index 290298fdce..9c3e5535f5 100644
--- 
a/seatunnel-connectors-v2/connector-assert/src/main/java/org/apache/seatunnel/connectors/seatunnel/assertion/sink/AssertSink.java
+++ 
b/seatunnel-connectors-v2/connector-assert/src/main/java/org/apache/seatunnel/connectors/seatunnel/assertion/sink/AssertSink.java
@@ -45,8 +45,8 @@ import static 
org.apache.seatunnel.api.table.catalog.schema.TableSchemaOptions.T
 import static 
org.apache.seatunnel.connectors.seatunnel.assertion.sink.AssertConfig.CATALOG_TABLE_RULES;
 import static 
org.apache.seatunnel.connectors.seatunnel.assertion.sink.AssertConfig.FIELD_RULES;
 import static 
org.apache.seatunnel.connectors.seatunnel.assertion.sink.AssertConfig.ROW_RULES;
-import static 
org.apache.seatunnel.connectors.seatunnel.assertion.sink.AssertConfig.RULES;
 import static 
org.apache.seatunnel.connectors.seatunnel.assertion.sink.AssertConfig.TABLE_PATH;
+import static 
org.apache.seatunnel.connectors.seatunnel.assertion.sink.AssertSinkOptions.RULES;
 
 public class AssertSink extends AbstractSimpleSink<SeaTunnelRow, Void>
         implements SupportMultiTableSink {
@@ -71,7 +71,7 @@ public class AssertSink extends 
AbstractSimpleSink<SeaTunnelRow, Void>
         if (ruleConfig.hasPath(TABLE_CONFIGS.key())) {
             List<? extends Config> tableConfigs = 
ruleConfig.getConfigList(TABLE_CONFIGS.key());
             for (Config tableConfig : tableConfigs) {
-                String tableName = tableConfig.getString(TABLE_PATH.key());
+                String tableName = tableConfig.getString(TABLE_PATH);
                 initTableRule(catalogTable, tableConfig, tableName);
             }
         } else {
diff --git 
a/seatunnel-connectors-v2/connector-assert/src/main/java/org/apache/seatunnel/connectors/seatunnel/assertion/sink/AssertSinkFactory.java
 
b/seatunnel-connectors-v2/connector-assert/src/main/java/org/apache/seatunnel/connectors/seatunnel/assertion/sink/AssertSinkFactory.java
index ae174d9857..9caedab731 100644
--- 
a/seatunnel-connectors-v2/connector-assert/src/main/java/org/apache/seatunnel/connectors/seatunnel/assertion/sink/AssertSinkFactory.java
+++ 
b/seatunnel-connectors-v2/connector-assert/src/main/java/org/apache/seatunnel/connectors/seatunnel/assertion/sink/AssertSinkFactory.java
@@ -18,7 +18,6 @@
 package org.apache.seatunnel.connectors.seatunnel.assertion.sink;
 
 import org.apache.seatunnel.api.configuration.util.OptionRule;
-import org.apache.seatunnel.api.sink.SinkCommonOptions;
 import org.apache.seatunnel.api.table.connector.TableSink;
 import org.apache.seatunnel.api.table.factory.Factory;
 import org.apache.seatunnel.api.table.factory.TableSinkFactory;
@@ -26,7 +25,8 @@ import 
org.apache.seatunnel.api.table.factory.TableSinkFactoryContext;
 
 import com.google.auto.service.AutoService;
 
-import static 
org.apache.seatunnel.connectors.seatunnel.assertion.sink.AssertConfig.RULES;
+import static 
org.apache.seatunnel.connectors.seatunnel.assertion.sink.AssertSinkOptions.MULTI_TABLE_SINK_REPLICA;
+import static 
org.apache.seatunnel.connectors.seatunnel.assertion.sink.AssertSinkOptions.RULES;
 
 @AutoService(Factory.class)
 public class AssertSinkFactory implements TableSinkFactory {
@@ -38,10 +38,7 @@ public class AssertSinkFactory implements TableSinkFactory {
 
     @Override
     public OptionRule optionRule() {
-        return OptionRule.builder()
-                .required(RULES)
-                .optional(SinkCommonOptions.MULTI_TABLE_SINK_REPLICA)
-                .build();
+        return 
OptionRule.builder().required(RULES).optional(MULTI_TABLE_SINK_REPLICA).build();
     }
 
     @Override
diff --git 
a/seatunnel-connectors-v2/connector-assert/src/main/java/org/apache/seatunnel/connectors/seatunnel/assertion/sink/AssertSinkOptions.java
 
b/seatunnel-connectors-v2/connector-assert/src/main/java/org/apache/seatunnel/connectors/seatunnel/assertion/sink/AssertSinkOptions.java
new file mode 100644
index 0000000000..be8dfa3ceb
--- /dev/null
+++ 
b/seatunnel-connectors-v2/connector-assert/src/main/java/org/apache/seatunnel/connectors/seatunnel/assertion/sink/AssertSinkOptions.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.seatunnel.connectors.seatunnel.assertion.sink;
+
+import 
org.apache.seatunnel.shade.com.fasterxml.jackson.core.type.TypeReference;
+
+import org.apache.seatunnel.api.configuration.Option;
+import org.apache.seatunnel.api.configuration.Options;
+import org.apache.seatunnel.api.sink.SinkCommonOptions;
+
+import java.util.Map;
+
+public class AssertSinkOptions {
+
+    public static final Option<Map<String, Object>> RULES =
+            Options.key("rules")
+                    .type(new TypeReference<Map<String, Object>>() {})
+                    .noDefaultValue()
+                    .withDescription(
+                            "Rule definition of user's available data. Each 
rule represents one field validation or row num validation.");
+
+    public static Option<Integer> MULTI_TABLE_SINK_REPLICA =
+            SinkCommonOptions.MULTI_TABLE_SINK_REPLICA;
+}

Reply via email to