[jboss-as7-dev] add operation in CLI GUI

Kabir Khan kabir.khan at jboss.com
Thu Jan 12 19:15:28 EST 2012


On 12 Jan 2012, at 19:39, ssilvert at redhat.com wrote:

> On 1/12/2012 1:09 PM, Kabir Khan wrote:
>>> On 1/12/2012 11:39 AM, Alexey Loubyansky wrote:
>>>> I could suggest two ways to workaround this:
>>>> 
>>>> - node type as a 'folder', currently the unit is node-type=node-name, 
>>>> instead node-type could be a folder that contained node-names and you 
>>>> could click on the node-type to add new nodes.
>>> Early on I was going to do it this way, but it became clear that it
>>> would be overly complicated and would break with the directory notion in
>>> the CLI where a directory is /subsystem=jca/, not /subsystem/jca/.  Once
>>> you replace = with / you lose sight of the underlying address scheme.
>> Could the structure perhaps be 
>> subsystem/
>>  subsystem=jca
>>  subsystem=jmx
>> Or is that too weird?
> I just tried that and it did indeed get weird.  You end up with nodes
> that don't have any correspondence to the address path.  So you have to
> code around it all over the place.  It also made any sort of refresh
> impossible to implement without significant hacks.  I do need to improve
> refresh at some point and I don't want to make that any harder than it
> already is.
> 
> Try my three latest commits found here and let me know what you think:
> https://github.com/ssilvert/jboss-as/commits/cli-gui-fixadd
> 
> Alexey, once you see it, let me know if you still think that "?" makes
> more sense than "*".  That's an easy change.

It looks better, perhaps instead of * or ? some descriptive string (that will not crash with any names used, so something like ***Root***) could work. Just an idea, not sure if it is a good or bad one...

I think the adds on the actual real nodes, e.g. extension=org.jboss.as.pojo, subsystem=someproperty etc. are a bit confusing now that we have the one mentioned above. Likewise the adds on the subsystem nodes should not be there, they are wrong, since each subsystem has a different add handler, most of them taking parameters specific to that subsystem.

I thought I had sent the below to the list but I see I just sent it to Alexey not. Basically, it is impossible to add anything to something that has an add handler on a non-wildcard node, such as the subsystems:
<mail>
On 12 Jan 2012, at 18:57, Alexey Loubyansky wrote:
> But these don't appear to be a part of the management model. According 
> to the model :) Let's fix the model, I'd say. Unless I'm missing 
> something...

I think that is against how the controller works, e.g.:
[domain at localhost:9999 /] /subsystem=jmx:read-resource(recursive=true)
{
   "outcome" => "success",
   "result" => {
       "connector" => undefined,
       "show-model" => true
   }
}

If we add the jmx child we'll have something defined for connector=>jmx, but then if it is removed that node is removed from the model so we end up with ^ again. 

Or in  the case of subsystems, I don't think we want loads of subsystem=>mysubsystem => undefined entries, when they have not been initialized.
</mail>
Perhaps a similar node as the one you have added for the non-wildcard case could work, which when opening the context menu looks for child add operations from read-resource-description? So you right-click on subsystem=***Root*** (or whatever we want to call it) and then you get add-jmx, add-ee etc.




More information about the jboss-as7-dev mailing list