On 05.03.2014 11:51, Guillaume Nodet wrote:
2014-03-05 11:07 GMT+01:00 Christian Schneider <[email protected]>:

The only problem I see is the incompatibility for old modules.
I propose a slightly different layout:

Leave the old code in shell.console and move the new api and impl
to a new module. Perhaps shell.console2. Not sure about the name.

So existing users do not have to change anything. For karaf we can easily
move modules to the new dependency.
For outside projects it would be harder.

Yeah, that's definitely a good option.  I just need to find a good name for
the new one. I don't really like shell.console2 ...  What about shell.core
?
+1
Sounds good


If we manage to keep the compatibility I would like to see this in the 3.1
branch and remove the old model for 4.0.

Btw. What do we do for ActiveMQ? Does their style of using the commands
fit into the new api? I guess not.

The ActiveMQ commands do implement CommandWithAction, so they should be
fully supported.
ActiveMQ could migrate to the new model but that's a different question.
The problem is that they use AbstractCommand which in turn uses DefaultActionPreparator. So they are directly exposed to the implementation. If we make this part private for the new API then I think it will not work anymore for ActiveMQ. The reason is that they adapt their own commands to the karaf ones. So they do not use the Action interface.

I think ActiveMQ might be a good case for using an extended gogo api.

Christian

--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com

Reply via email to