public static FakeConfig buildWithConfig()

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