Skip to content

Commit b159cc0

Browse files
authored
[improve] add assert options (#8620)
1 parent f473bf4 commit b159cc0

File tree

5 files changed

+46
-35
lines changed

5 files changed

+46
-35
lines changed

seatunnel-ci-tools/src/test/java/org/apache/seatunnel/api/ConnectorOptionCheckTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,6 @@ private Set<String> buildWhiteList() {
205205
whiteList.add("RocketMqSinkOptions");
206206
whiteList.add("ClickhouseFileSinkOptions");
207207
whiteList.add("IcebergSinkOptions");
208-
whiteList.add("AssertSinkOptions");
209208
whiteList.add("MaxcomputeSourceOptions");
210209
whiteList.add("InfluxDBSourceOptions");
211210
whiteList.add("InfluxDBSinkOptions");

seatunnel-connectors-v2/connector-assert/src/main/java/org/apache/seatunnel/connectors/seatunnel/assertion/sink/AssertConfig.java

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,6 @@
1717

1818
package org.apache.seatunnel.connectors.seatunnel.assertion.sink;
1919

20-
import org.apache.seatunnel.shade.com.fasterxml.jackson.core.type.TypeReference;
21-
22-
import org.apache.seatunnel.api.configuration.Option;
23-
import org.apache.seatunnel.api.configuration.Options;
24-
25-
import java.util.Map;
26-
2720
public class AssertConfig {
2821

2922
public static final String RULE_TYPE = "rule_type";
@@ -64,29 +57,12 @@ public class AssertConfig {
6457
public static final String COLUMN_DEFAULT_VALUE = "default_value";
6558
public static final String COLUMN_COMMENT = "comment";
6659

60+
public static final String TABLE_PATH = "table_path";
61+
6762
public static class TableIdentifierRule {
6863
public static final String TABLE_IDENTIFIER_RULE = "table_identifier_rule";
6964

7065
public static final String TABLE_IDENTIFIER_CATALOG_NAME = "catalog_name";
7166
public static final String TABLE_IDENTIFIER_TABLE_NAME = "table";
7267
}
73-
74-
public static final Option<String> COMMENT =
75-
Options.key("comment")
76-
.stringType()
77-
.noDefaultValue()
78-
.withDescription("SeaTunnel Schema Column Comment");
79-
80-
public static final Option<Map<String, Object>> RULES =
81-
Options.key("rules")
82-
.type(new TypeReference<Map<String, Object>>() {})
83-
.noDefaultValue()
84-
.withDescription(
85-
"Rule definition of user's available data. Each rule represents one field validation or row num validation.");
86-
87-
public static final Option<String> TABLE_PATH =
88-
Options.key("table_path")
89-
.stringType()
90-
.noDefaultValue()
91-
.withDescription("table full path");
9268
}

seatunnel-connectors-v2/connector-assert/src/main/java/org/apache/seatunnel/connectors/seatunnel/assertion/sink/AssertSink.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@
4545
import static org.apache.seatunnel.connectors.seatunnel.assertion.sink.AssertConfig.CATALOG_TABLE_RULES;
4646
import static org.apache.seatunnel.connectors.seatunnel.assertion.sink.AssertConfig.FIELD_RULES;
4747
import static org.apache.seatunnel.connectors.seatunnel.assertion.sink.AssertConfig.ROW_RULES;
48-
import static org.apache.seatunnel.connectors.seatunnel.assertion.sink.AssertConfig.RULES;
4948
import static org.apache.seatunnel.connectors.seatunnel.assertion.sink.AssertConfig.TABLE_PATH;
49+
import static org.apache.seatunnel.connectors.seatunnel.assertion.sink.AssertSinkOptions.RULES;
5050

5151
public class AssertSink extends AbstractSimpleSink<SeaTunnelRow, Void>
5252
implements SupportMultiTableSink {
@@ -71,7 +71,7 @@ public AssertSink(ReadonlyConfig pluginConfig, CatalogTable catalogTable) {
7171
if (ruleConfig.hasPath(TABLE_CONFIGS.key())) {
7272
List<? extends Config> tableConfigs = ruleConfig.getConfigList(TABLE_CONFIGS.key());
7373
for (Config tableConfig : tableConfigs) {
74-
String tableName = tableConfig.getString(TABLE_PATH.key());
74+
String tableName = tableConfig.getString(TABLE_PATH);
7575
initTableRule(catalogTable, tableConfig, tableName);
7676
}
7777
} else {

seatunnel-connectors-v2/connector-assert/src/main/java/org/apache/seatunnel/connectors/seatunnel/assertion/sink/AssertSinkFactory.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@
1818
package org.apache.seatunnel.connectors.seatunnel.assertion.sink;
1919

2020
import org.apache.seatunnel.api.configuration.util.OptionRule;
21-
import org.apache.seatunnel.api.sink.SinkCommonOptions;
2221
import org.apache.seatunnel.api.table.connector.TableSink;
2322
import org.apache.seatunnel.api.table.factory.Factory;
2423
import org.apache.seatunnel.api.table.factory.TableSinkFactory;
2524
import org.apache.seatunnel.api.table.factory.TableSinkFactoryContext;
2625

2726
import com.google.auto.service.AutoService;
2827

29-
import static org.apache.seatunnel.connectors.seatunnel.assertion.sink.AssertConfig.RULES;
28+
import static org.apache.seatunnel.connectors.seatunnel.assertion.sink.AssertSinkOptions.MULTI_TABLE_SINK_REPLICA;
29+
import static org.apache.seatunnel.connectors.seatunnel.assertion.sink.AssertSinkOptions.RULES;
3030

3131
@AutoService(Factory.class)
3232
public class AssertSinkFactory implements TableSinkFactory {
@@ -38,10 +38,7 @@ public String factoryIdentifier() {
3838

3939
@Override
4040
public OptionRule optionRule() {
41-
return OptionRule.builder()
42-
.required(RULES)
43-
.optional(SinkCommonOptions.MULTI_TABLE_SINK_REPLICA)
44-
.build();
41+
return OptionRule.builder().required(RULES).optional(MULTI_TABLE_SINK_REPLICA).build();
4542
}
4643

4744
@Override
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one or more
3+
* contributor license agreements. See the NOTICE file distributed with
4+
* this work for additional information regarding copyright ownership.
5+
* The ASF licenses this file to You under the Apache License, Version 2.0
6+
* (the "License"); you may not use this file except in compliance with
7+
* the License. You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
18+
package org.apache.seatunnel.connectors.seatunnel.assertion.sink;
19+
20+
import org.apache.seatunnel.shade.com.fasterxml.jackson.core.type.TypeReference;
21+
22+
import org.apache.seatunnel.api.configuration.Option;
23+
import org.apache.seatunnel.api.configuration.Options;
24+
import org.apache.seatunnel.api.sink.SinkCommonOptions;
25+
26+
import java.util.Map;
27+
28+
public class AssertSinkOptions {
29+
30+
public static final Option<Map<String, Object>> RULES =
31+
Options.key("rules")
32+
.type(new TypeReference<Map<String, Object>>() {})
33+
.noDefaultValue()
34+
.withDescription(
35+
"Rule definition of user's available data. Each rule represents one field validation or row num validation.");
36+
37+
public static Option<Integer> MULTI_TABLE_SINK_REPLICA =
38+
SinkCommonOptions.MULTI_TABLE_SINK_REPLICA;
39+
}

0 commit comments

Comments
 (0)