I just experimented with #4, it works great. I had not really looked at the code too closely since #2. I should have experimented and reviewed the code, instead of just experimenting. I noticed some code changes that would be nice. Instead of getting the zookeeper host and timeout from config, I think we should use the following two methods to get these
If this is done, then I think the command will not depend on the config at all. The client code used to have a lot of dependencies on these config files, which are mainly intended for servers. We have been trying to remove these dependencies on the config files from client code.
One other little thing, all of the shell commands do something like if(cl.hasOption(statusOption.getOpt())),where the code has if(cl.hasOption('t')).