diff --git a/seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/OptionRule.java b/seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/OptionRule.java index 2b21d0e98d3..0d700bdbc11 100644 --- a/seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/OptionRule.java +++ b/seatunnel-api/src/main/java/org/apache/seatunnel/api/configuration/util/OptionRule.java @@ -245,15 +245,24 @@ private void verifyRequiredOptionDuplicate(@NonNull RequiredOption requiredOptio verifyRequiredOptionDuplicate(requiredOption, false); } + /** + * Verifies if there are duplicate options within the required options. + * + * @param requiredOption The required option to be verified + * @param ignoreVerifyDuplicateOptions Whether to ignore duplicate option verification If + * the value is true, the existing items in OptionOptions are ignored Currently, it + * applies only to conditional + * @throws OptionValidationException If duplicate options are found + */ private void verifyRequiredOptionDuplicate( @NonNull RequiredOption requiredOption, - @NonNull Boolean ignoreVerifyDuplicateWithOptionOptions) { + @NonNull Boolean ignoreVerifyDuplicateOptions) { requiredOption .getOptions() .forEach( option -> { - // Check if the option is duplicate with other required options - if (!ignoreVerifyDuplicateWithOptionOptions) { + if (!ignoreVerifyDuplicateOptions) { + // Check if required option that duplicate with option options verifyDuplicateWithOptionOptions( option, requiredOption.getClass().getSimpleName()); }