See comments in-line; references are to
http://community.jboss.org/docs/DOC-16317
On 7/1/11 10:50 AM, Alexey Loubyansky wrote:
So, I've pushed the prototype for the new approach.
http://community.jboss.org/wiki/GenericTypeCLICommands
Advantages
- any changes in the management model (added/removed operations,
properties, etc) become immediately available in CLI commands without
code changes in the CLI;
- command help content is generated from the description of type,
operations and properties in the management model (so, no text
duplication, localization, etc);
- commands can be added and removed at runtime and customized by the user;
-the total number of cli commands will decrease and they, in a way, will
be better categorized.
Disadvantages
Tab-completion suffers from insufficient info in the management model
about the types, values and relationships/dependencies between the node
and operation properties.
- enumeration values, if the type is boolean, I can do it, but if it's
something else (e.g. tx isolation) the allowed values would have to be
specified in the management model for the type in fixed format;
See "allowed" under "Arbitrary Descriptors". If you find spots where
this is missing, let me or the subsystem owner know, or go ahead and fix it.
- exclusive properties, e.g. driver-class/driver-name for
datasources.
If I code the data-source command myself I can automatically exclude one
if the other one has been specified;
See "alternatives" (and related "requires") under "Description of
an
Attribute" and "Description of an Operation Parameter or Return Value".
- referencing properties, e.g. driver-name accepts values that are
registered jdbc driver names, for that to tab-complete, this reference
would have to be described in the model.
I think we'll have to live with this one for 7.1 (and maybe forever.)
The rules are not always simple. For example, the web subsystem has a
ref to a socket-binding. Simple enough in the standalone case, but in
the domain case, profiles and socket binding groups can be independently
mapped to a server group.
There are probably other things that I forgot to mention. I'll
follow up
if I remember something.
As always, feedback, ideas, suggestions are welcome.
Thanks,
Alexey
PS: it's not yet in the master as I send it, I did send the pull request
though, so, it's gonna be soon.
_______________________________________________
jboss-as7-dev mailing list
jboss-as7-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
--
Brian Stansberry
Principal Software Engineer
JBoss by Red Hat