Fix for 2921 (setup CLI error message does not keep case of argument).
Just use the argument name as it was provided by the user or the long identifier as defined to generate the err
or messages generated by the argument parsing classes.
| | |
| | | String conflictingName = longIDMap.get(longID).getName(); |
| | | |
| | | Message message = ERR_ARGPARSER_DUPLICATE_LONG_ID.get( |
| | | argument.getName(), String.valueOf(longID), conflictingName); |
| | | argument.getName(), argument.getLongIdentifier(), conflictingName); |
| | | throw new ArgumentException(message); |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | // If we're not case-sensitive, then convert the name to lowercase. |
| | | String origArgName = argName; |
| | | if (! longArgumentsCaseSensitive) |
| | | { |
| | | argName = toLowerCase(argName); |
| | |
| | | { |
| | | // There is no such argument registered. |
| | | Message message = |
| | | ERR_ARGPARSER_NO_ARGUMENT_WITH_LONG_ID.get(argName); |
| | | ERR_ARGPARSER_NO_ARGUMENT_WITH_LONG_ID.get(origArgName); |
| | | throw new ArgumentException(message); |
| | | } |
| | | } |
| | |
| | | if ((i+1) == numArguments) |
| | | { |
| | | Message message = |
| | | ERR_ARGPARSER_NO_VALUE_FOR_ARGUMENT_WITH_LONG_ID.get(argName); |
| | | ERR_ARGPARSER_NO_VALUE_FOR_ARGUMENT_WITH_LONG_ID.get( |
| | | origArgName); |
| | | throw new ArgumentException(message); |
| | | } |
| | | |
| | |
| | | if (! a.valueIsAcceptable(argValue, invalidReason)) |
| | | { |
| | | Message message = ERR_ARGPARSER_VALUE_UNACCEPTABLE_FOR_LONG_ID.get( |
| | | argValue, argName, invalidReason.toString()); |
| | | argValue, origArgName, invalidReason.toString()); |
| | | throw new ArgumentException(message); |
| | | } |
| | | |
| | |
| | | if (a.hasValue() && (! a.isMultiValued())) |
| | | { |
| | | Message message = |
| | | ERR_ARGPARSER_NOT_MULTIVALUED_FOR_LONG_ID.get(argName); |
| | | ERR_ARGPARSER_NOT_MULTIVALUED_FOR_LONG_ID.get(origArgName); |
| | | throw new ArgumentException(message); |
| | | } |
| | | |
| | |
| | | if (argValue != null) |
| | | { |
| | | Message message = |
| | | ERR_ARGPARSER_ARG_FOR_LONG_ID_DOESNT_TAKE_VALUE.get(argName); |
| | | ERR_ARGPARSER_ARG_FOR_LONG_ID_DOESNT_TAKE_VALUE.get( |
| | | origArgName); |
| | | throw new ArgumentException(message); |
| | | } |
| | | } |
| | |
| | | if (longIDMap.containsKey(longID)) |
| | | { |
| | | Message message = ERR_ARG_SUBCOMMAND_DUPLICATE_LONG_ID.get( |
| | | argumentName, name, longID, longIDMap.get(longID).getName()); |
| | | argumentName, name, argument.getLongIdentifier(), |
| | | longIDMap.get(longID).getName()); |
| | | throw new ArgumentException(message); |
| | | } |
| | | |
| | |
| | | if (arg != null) |
| | | { |
| | | Message message = ERR_ARG_SUBCOMMAND_ARGUMENT_LONG_ID_GLOBAL_CONFLICT. |
| | | get(argumentName, name, longID, arg.getName()); |
| | | get(argumentName, name, argument.getLongIdentifier(), |
| | | arg.getName()); |
| | | throw new ArgumentException(message); |
| | | } |
| | | } |
| | |
| | | String name = globalLongIDMap.get(longID).getName(); |
| | | |
| | | Message message = ERR_SUBCMDPARSER_DUPLICATE_GLOBAL_ARG_LONG_ID.get( |
| | | longID, argumentName, name); |
| | | argument.getLongIdentifier(), argumentName, name); |
| | | throw new ArgumentException(message); |
| | | } |
| | | |
| | |
| | | String name = s.getArgument(longID).getName(); |
| | | |
| | | Message message = ERR_SUBCMDPARSER_GLOBAL_ARG_LONG_ID_CONFLICT.get( |
| | | longID, argumentName, name, cmdName); |
| | | argument.getLongIdentifier(), argumentName, name, cmdName); |
| | | throw new ArgumentException(message); |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | // If we're not case-sensitive, then convert the name to lowercase. |
| | | String origArgName = argName; |
| | | if (! longArgumentsCaseSensitive) |
| | | { |
| | | argName = toLowerCase(argName); |
| | |
| | | { |
| | | // There is no such global argument. |
| | | Message message = |
| | | ERR_SUBCMDPARSER_NO_GLOBAL_ARGUMENT_FOR_LONG_ID.get(argName); |
| | | ERR_SUBCMDPARSER_NO_GLOBAL_ARGUMENT_FOR_LONG_ID.get( |
| | | origArgName); |
| | | throw new ArgumentException(message); |
| | | } |
| | | } |
| | |
| | | { |
| | | // There is no such global or subcommand argument. |
| | | Message message = |
| | | ERR_SUBCMDPARSER_NO_ARGUMENT_FOR_LONG_ID.get(argName); |
| | | ERR_SUBCMDPARSER_NO_ARGUMENT_FOR_LONG_ID.get(origArgName); |
| | | throw new ArgumentException(message); |
| | | } |
| | | } |
| | |
| | | if (a.hasValue() && (! a.isMultiValued())) |
| | | { |
| | | Message message = |
| | | ERR_SUBCMDPARSER_NOT_MULTIVALUED_FOR_LONG_ID.get(argName); |
| | | ERR_SUBCMDPARSER_NOT_MULTIVALUED_FOR_LONG_ID.get(origArgName); |
| | | throw new ArgumentException(message); |
| | | } |
| | | |
| | |
| | | if (argValue != null) |
| | | { |
| | | Message message = |
| | | ERR_SUBCMDPARSER_ARG_FOR_LONG_ID_DOESNT_TAKE_VALUE.get(argName); |
| | | ERR_SUBCMDPARSER_ARG_FOR_LONG_ID_DOESNT_TAKE_VALUE.get( |
| | | origArgName); |
| | | throw new ArgumentException(message); |
| | | } |
| | | } |