public ValidationResult validate()

in src/main/java/org/apache/nifi/processor/util/StandardValidators.java [185:216]


        public ValidationResult validate(String subject, String input, ValidationContext context) {
            // expression language
            if (context.isExpressionLanguageSupported(subject) && context.isExpressionLanguagePresent(input)) {
                return new ValidationResult.Builder().subject(subject).input(input).explanation("Expression Language Present").valid(true).build();
            }

            // not empty
            final ValidationResult nonEmptyValidatorResult = NON_EMPTY_VALIDATOR.validate(subject, input, context);
            if (!nonEmptyValidatorResult.isValid()) {
                return nonEmptyValidatorResult;
            }

            // check format
            final String[] hostnamePortList = input.split(",");
            for (String hostnamePort : hostnamePortList) {
                final String[] addresses = hostnamePort.split(":");
                // Protect against invalid input like http://127.0.0.1:9300 (URL scheme should not be there)
                if (addresses.length != 2) {
                    return new ValidationResult.Builder().subject(subject).input(input).explanation(
                            "Must be in hostname:port form (no scheme such as http://").valid(false).build();
                }

                // Validate the port
                final String port = addresses[1].trim();
                final ValidationResult portValidatorResult = NON_ZERO_PORT_VALIDATOR.validate(subject, port, context);
                if (!portValidatorResult.isValid()) {
                    return portValidatorResult;
                }
            }

            return new ValidationResult.Builder().subject(subject).input(input).explanation("Valid cluster definition").valid(true).build();
        }