Swapnil Ghike created KAFKA-786:
-----------------------------------

             Summary: Use "withRequiredArg" while parsing jopt options in all 
tools
                 Key: KAFKA-786
                 URL: https://issues.apache.org/jira/browse/KAFKA-786
             Project: Kafka
          Issue Type: Bug
            Reporter: Swapnil Ghike
            Priority: Blocker


While parsing jopt Options in our tools, we sometimes use withRequiredArg() and 
sometimes use withOptionalArg(). I think this confusing and we should always 
use withRequiredArg().

withOptionalArg() allows you to provide an option without an argument. For 
instance, the following commands will yield the same result if xyz was a parser 
option that accepted an optional argument and was provided a default in the 
tool's code:
kafka-tool.sh --xyz 
kafka-tool.sh 

I don't quite see the need to allow the 1st command, think that writing code 
will be less confusing if we allowed only the second command. To do that, we 
can make all options require arguments. These arguments will need to be given 
via command line or via a default in the code. So if xyz was an option that 
required an argument then you will see the following:

kafka-tool.sh --xyz 
Option ['xyz'] requires an argument //printed by jOpt

kafka-tool.sh --xyz argumentVal
// Kafka tool proceeds

If you want to use a default value specified for xyz in the code, then simply 
run ./kafka-tool.sh.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to