Hi all, while working on cleaning up on some config-node removal, I am struggling a bit with the structure of our code. For example, the main entry point for a program is “DataNode” and “ConfigNode”, but the main methods, redirect control to a “commandline” instance. Depending on the command issued, the commandline then needs to reference back to the same instance that called the commandLine do to some other things.
I think as both DataNode and ConfigNode only implement an mbean interface, it would be cleaner to move the CLI stuff into the main classes and move the stuff for starting and stopping nodes into “command” implementations for the CLI? This mixture is hard to test and maintain. Also, could the think about basing the CLI on Apache Commons CLI, however that could bring changes in output with it. What do you others think? Chris