private void validateConfig()

in core/src/main/java/org/apache/camel/kafkaconnector/transforms/FieldsToHeadersTransform.java [93:112]


    private void validateConfig() {

        boolean validFields  = fields.stream().allMatch(nef -> nef != null);
        boolean validHeaders = headers.stream().allMatch(nef -> nef != null && !nef.trim().isEmpty());

        if (!(validFields && validHeaders)) {
            throw new IllegalArgumentException("fields configuration property cannot be null (can be an empty string if you want the whole value/key), headers configuration property cannot be null or contain empty elements.");
        }
        if (fields.size() != 0 && fields.size() > headers.size()) {
            String fieldsWithoutCorrespondingHeaders = fields.subList(headers.size(), fields.size()).stream().collect(Collectors.joining(","));
            throw new IllegalArgumentException("There is no corresponding header(s) configured for the following field(s): " + fieldsWithoutCorrespondingHeaders);
        }
        if (fields.size() != 0 && headers.size() > fields.size()) {
            String headersWithoutCorrespondingFields = headers.subList(fields.size(), headers.size()).stream().collect(Collectors.joining(","));
            LOG.warn("There is no corresponding header(s) for the following field(s): {} ", headersWithoutCorrespondingFields);
        }
        if (fields.size() == 0 && headers.size() > 1) {
            LOG.warn("Fields are empty and there are more than 1 header it means whole value/key will put in the first header of this list: {} ", headers.stream().collect(Collectors.joining(",")));
        }
    }