in seatunnel-connectors-v2/connector-fake/src/main/java/org/apache/seatunnel/connectors/seatunnel/fake/config/FakeConfig.java [171:457]
public static FakeConfig buildWithConfig(ReadonlyConfig readonlyConfig) {
FakeConfigBuilder builder = FakeConfig.builder();
builder.rowNum(readonlyConfig.get(ROW_NUM));
builder.splitNum(readonlyConfig.get(SPLIT_NUM));
builder.splitReadInterval(readonlyConfig.get(SPLIT_READ_INTERVAL));
builder.mapSize(readonlyConfig.get(MAP_SIZE));
builder.arraySize(readonlyConfig.get(ARRAY_SIZE));
builder.vectorDimension(readonlyConfig.get(VECTOR_DIMENSION));
builder.binaryVectorDimension(readonlyConfig.get(BINARY_VECTOR_DIMENSION));
builder.bytesLength(readonlyConfig.get(BYTES_LENGTH));
builder.stringLength(readonlyConfig.get(STRING_LENGTH));
if (readonlyConfig.getOptional(ROWS).isPresent()) {
List<Map<String, Object>> configs = readonlyConfig.get(ROWS);
List<RowData> rows = new ArrayList<>(configs.size());
for (Map<String, Object> configItem : configs) {
String fieldsJson = JsonUtils.toJsonString(configItem.get(RowData.KEY_FIELDS));
RowData rowData =
new RowData(configItem.get(RowData.KEY_KIND).toString(), fieldsJson);
rows.add(rowData);
}
builder.fakeRows(rows);
}
readonlyConfig.getOptional(STRING_TEMPLATE).ifPresent(builder::stringTemplate);
readonlyConfig.getOptional(TINYINT_TEMPLATE).ifPresent(builder::tinyintTemplate);
readonlyConfig.getOptional(SMALLINT_TEMPLATE).ifPresent(builder::smallintTemplate);
readonlyConfig.getOptional(INT_TEMPLATE).ifPresent(builder::intTemplate);
readonlyConfig.getOptional(BIGINT_TEMPLATE).ifPresent(builder::bigTemplate);
readonlyConfig.getOptional(FLOAT_TEMPLATE).ifPresent(builder::floatTemplate);
readonlyConfig.getOptional(DOUBLE_TEMPLATE).ifPresent(builder::doubleTemplate);
readonlyConfig.getOptional(DATE_YEAR_TEMPLATE).ifPresent(builder::dateYearTemplate);
readonlyConfig.getOptional(DATE_MONTH_TEMPLATE).ifPresent(builder::dateMonthTemplate);
readonlyConfig.getOptional(DATE_DAY_TEMPLATE).ifPresent(builder::dateDayTemplate);
readonlyConfig.getOptional(TIME_HOUR_TEMPLATE).ifPresent(builder::timeHourTemplate);
readonlyConfig.getOptional(TIME_MINUTE_TEMPLATE).ifPresent(builder::timeMinuteTemplate);
readonlyConfig.getOptional(TIME_SECOND_TEMPLATE).ifPresent(builder::timeSecondTemplate);
readonlyConfig
.getOptional(TINYINT_MIN)
.ifPresent(
tinyintMin -> {
if (tinyintMin < TINYINT_MIN.defaultValue()
|| tinyintMin > TINYINT_MAX.defaultValue()) {
throw new FakeConnectorException(
CommonErrorCodeDeprecated.ILLEGAL_ARGUMENT,
TINYINT_MIN.key()
+ " should >= "
+ TINYINT_MIN.defaultValue()
+ " and <= "
+ TINYINT_MAX.defaultValue());
}
builder.tinyintMin(tinyintMin);
});
readonlyConfig
.getOptional(TINYINT_MAX)
.ifPresent(
tinyintMax -> {
if (tinyintMax < TINYINT_MIN.defaultValue()
|| tinyintMax > TINYINT_MAX.defaultValue()) {
throw new FakeConnectorException(
CommonErrorCodeDeprecated.ILLEGAL_ARGUMENT,
TINYINT_MAX.key()
+ " should >= "
+ TINYINT_MIN.defaultValue()
+ " and <= "
+ TINYINT_MAX.defaultValue());
}
builder.tinyintMax(tinyintMax);
});
readonlyConfig
.getOptional(SMALLINT_MIN)
.ifPresent(
smallintMin -> {
if (smallintMin < SMALLINT_MIN.defaultValue()
|| smallintMin > SMALLINT_MAX.defaultValue()) {
throw new FakeConnectorException(
CommonErrorCodeDeprecated.ILLEGAL_ARGUMENT,
SMALLINT_MIN.key()
+ " should >= "
+ SMALLINT_MIN.defaultValue()
+ " and <= "
+ SMALLINT_MAX.defaultValue());
}
builder.smallintMin(smallintMin);
});
readonlyConfig
.getOptional(SMALLINT_MAX)
.ifPresent(
smallintMax -> {
if (smallintMax < SMALLINT_MIN.defaultValue()
|| smallintMax > SMALLINT_MAX.defaultValue()) {
throw new FakeConnectorException(
CommonErrorCodeDeprecated.ILLEGAL_ARGUMENT,
SMALLINT_MAX.key()
+ " should >= "
+ SMALLINT_MIN.defaultValue()
+ " and <= "
+ SMALLINT_MAX.defaultValue());
}
builder.smallintMax(smallintMax);
});
readonlyConfig
.getOptional(INT_MIN)
.ifPresent(
intMin -> {
if (intMin < INT_MIN.defaultValue()
|| intMin > INT_MAX.defaultValue()) {
throw new FakeConnectorException(
CommonErrorCodeDeprecated.ILLEGAL_ARGUMENT,
INT_MIN.key()
+ " should >= "
+ INT_MIN.defaultValue()
+ " and <= "
+ INT_MAX.defaultValue());
}
builder.intMin(intMin);
});
readonlyConfig
.getOptional(INT_MAX)
.ifPresent(
intMax -> {
if (intMax < INT_MIN.defaultValue()
|| intMax > INT_MAX.defaultValue()) {
throw new FakeConnectorException(
CommonErrorCodeDeprecated.ILLEGAL_ARGUMENT,
INT_MAX.key()
+ " should >= "
+ INT_MIN.defaultValue()
+ " and <= "
+ INT_MAX.defaultValue());
}
builder.intMax(intMax);
});
readonlyConfig
.getOptional(BIGINT_MIN)
.ifPresent(
bigintMin -> {
if (bigintMin < BIGINT_MIN.defaultValue()
|| bigintMin > BIGINT_MAX.defaultValue()) {
throw new FakeConnectorException(
CommonErrorCodeDeprecated.ILLEGAL_ARGUMENT,
BIGINT_MIN.key()
+ " should >= "
+ BIGINT_MIN.defaultValue()
+ " and <= "
+ BIGINT_MAX.defaultValue());
}
builder.bigintMin(bigintMin);
});
readonlyConfig
.getOptional(BIGINT_MAX)
.ifPresent(
bigintMax -> {
if (bigintMax < BIGINT_MIN.defaultValue()
|| bigintMax > BIGINT_MAX.defaultValue()) {
throw new FakeConnectorException(
CommonErrorCodeDeprecated.ILLEGAL_ARGUMENT,
BIGINT_MAX.key()
+ " should >= "
+ BIGINT_MIN.defaultValue()
+ " and <= "
+ BIGINT_MAX.defaultValue());
}
builder.bigintMax(bigintMax);
});
readonlyConfig
.getOptional(FLOAT_MIN)
.ifPresent(
floatMin -> {
if (floatMin < FLOAT_MIN.defaultValue()
|| floatMin > FLOAT_MAX.defaultValue()) {
throw new FakeConnectorException(
CommonErrorCodeDeprecated.ILLEGAL_ARGUMENT,
FLOAT_MIN.key()
+ " should >= "
+ FLOAT_MIN.defaultValue()
+ " and <= "
+ FLOAT_MAX.defaultValue());
}
builder.floatMin(floatMin);
});
readonlyConfig
.getOptional(FLOAT_MAX)
.ifPresent(
floatMax -> {
if (floatMax < FLOAT_MIN.defaultValue()
|| floatMax > FLOAT_MAX.defaultValue()) {
throw new FakeConnectorException(
CommonErrorCodeDeprecated.ILLEGAL_ARGUMENT,
FLOAT_MAX.key()
+ " should >= "
+ FLOAT_MIN.defaultValue()
+ " and <= "
+ FLOAT_MAX.defaultValue());
}
builder.floatMax(floatMax);
});
readonlyConfig
.getOptional(DOUBLE_MIN)
.ifPresent(
doubleMin -> {
if (doubleMin < DOUBLE_MIN.defaultValue()
|| doubleMin > DOUBLE_MAX.defaultValue()) {
throw new FakeConnectorException(
CommonErrorCodeDeprecated.ILLEGAL_ARGUMENT,
DOUBLE_MIN.key()
+ " should >= "
+ DOUBLE_MIN.defaultValue()
+ " and <= "
+ DOUBLE_MAX.defaultValue());
}
builder.doubleMin(doubleMin);
});
readonlyConfig
.getOptional(DOUBLE_MAX)
.ifPresent(
doubleMax -> {
if (doubleMax < DOUBLE_MIN.defaultValue()
|| doubleMax > DOUBLE_MAX.defaultValue()) {
throw new FakeConnectorException(
CommonErrorCodeDeprecated.ILLEGAL_ARGUMENT,
DOUBLE_MAX.key()
+ " should >= "
+ DOUBLE_MIN.defaultValue()
+ " and <= "
+ DOUBLE_MAX.defaultValue());
}
builder.doubleMax(doubleMax);
});
readonlyConfig
.getOptional(VECTOR_FLOAT_MIN)
.ifPresent(
vectorFloatMin -> {
if (vectorFloatMin < VECTOR_FLOAT_MIN.defaultValue()
|| vectorFloatMin > VECTOR_FLOAT_MAX.defaultValue()) {
throw new FakeConnectorException(
CommonErrorCodeDeprecated.ILLEGAL_ARGUMENT,
VECTOR_FLOAT_MIN.key()
+ " should >= "
+ VECTOR_FLOAT_MIN.defaultValue()
+ " and <= "
+ VECTOR_FLOAT_MAX.defaultValue());
}
builder.vectorFloatMin(vectorFloatMin);
});
readonlyConfig
.getOptional(VECTOR_FLOAT_MAX)
.ifPresent(
vectorFloatMax -> {
if (vectorFloatMax < VECTOR_FLOAT_MIN.defaultValue()
|| vectorFloatMax > VECTOR_FLOAT_MAX.defaultValue()) {
throw new FakeConnectorException(
CommonErrorCodeDeprecated.ILLEGAL_ARGUMENT,
VECTOR_FLOAT_MAX.key()
+ " should >= "
+ VECTOR_FLOAT_MIN.defaultValue()
+ " and <= "
+ VECTOR_FLOAT_MAX.defaultValue());
}
builder.vectorFloatMax(vectorFloatMax);
});
readonlyConfig.getOptional(STRING_FAKE_MODE).ifPresent(builder::stringFakeMode);
readonlyConfig.getOptional(TINYINT_FAKE_MODE).ifPresent(builder::tinyintFakeMode);
readonlyConfig.getOptional(SMALLINT_FAKE_MODE).ifPresent(builder::smallintFakeMode);
readonlyConfig.getOptional(INT_FAKE_MODE).ifPresent(builder::intFakeMode);
readonlyConfig.getOptional(BIGINT_FAKE_MODE).ifPresent(builder::bigintFakeMode);
readonlyConfig.getOptional(FLOAT_FAKE_MODE).ifPresent(builder::floatFakeMode);
readonlyConfig.getOptional(DOUBLE_FAKE_MODE).ifPresent(builder::doubleFakeMode);
builder.catalogTable(CatalogTableUtil.buildWithConfig("FakeSource", readonlyConfig));
return builder.build();
}