private static List validateUnionNonEmpty()

in seatunnel-server/seatunnel-dynamicform/src/main/java/org/apache/seatunnel/app/dynamicforms/FormStructureValidate.java [186:226]


    private static List<String> validateUnionNonEmpty(@NonNull FormStructure formStructure) {
        List<String> errorMessageList = new ArrayList();
        Map<String, List<String>> unionMap = new HashMap<>();
        // find all union-non-empty options
        formStructure
                .getForms()
                .forEach(
                        formOption -> {
                            if (formOption.getValidate() != null
                                    && formOption.getValidate() instanceof UnionNonEmptyValidate) {
                                unionMap.put(
                                        formOption.getField(),
                                        ((UnionNonEmptyValidate) formOption.getValidate())
                                                .getFields());
                            }
                        });

        unionMap.forEach(
                (k, v) -> {
                    if (v == null || !v.contains(k)) {
                        errorMessageList.add(
                                String.format(
                                        "UnionNonEmptyValidate Option field[%s] must in validate union field list",
                                        k));
                    }

                    if (v != null) {
                        v.forEach(
                                field -> {
                                    if (!unionMap.keySet().contains(field)) {
                                        errorMessageList.add(
                                                String.format(
                                                        "UnionNonEmptyValidate Option field[%s] , validate union field[%s] can not found in form options",
                                                        k, field));
                                    }
                                });
                    }
                });

        return errorMessageList;
    }