[wildfly-dev] A write-attributes op, and dealing with complex attribute paths

Brian Stansberry brian.stansberry at redhat.com
Fri Dec 12 10:08:10 EST 2014


On 12/12/14, 2:14 AM, Heiko Braun wrote:
>
> It’s hard to see the full context of this email thread, but here are two proposals I would like to comment on:
>
> a) write attribute groups / or writing to attribute groups?
> i.e :write-attribute-group(name=mygroup, value={attr1=a, attr2=b})
>
> b) nested attribute syntax
> i.e. :write-attributes(attributes=[{name=foo,value=123},{name=bar.baz.zap,value=hello}])
>
>
> I think these are two different concerns, hence I am going to respond separately:
>
> What’s the intention of proposal a)? Do you want to define new attribute groups this way or do you want to write values of attributes that belong to a specific group?
>

I don't propose to do a). The current proposal is this:

:write-attributes(attr1=5,attr2=true)

No relationship at all to attribute groups. The idea for it just evolved 
from an earlier suggestion in the thread for a).

This is simply a simpler syntax for a CLI batch that has two steps

batch
:write-attribute(name=attr1,value=5)
:write-attribute(name=att2,value=true)
run-batch

The batch/run-batch is just CLI syntax for grouping in a "composite" op, 
so the console could take advantage of the same thing if it wishes, 
eliminating some composites. The "composite" op then is only needed if 
the steps involve > 1 address, or if some step is something other than 
write-attribute.

> I have similar problems with proposal b). What’s the intention behind the nested attribute syntax? A more convenient way to address complex attributes?

Yes, a more convenient way to address complex attributes.

The current proposal is not your b) though. There are two uses for 
nested-attribute syntax:

:write-attribute(name=bar[1].baz,value=true)

:write-attributes(attr1=5,bar[1].baz=true)

The latter is just syntactic sugar for a 2 step composite where the 2nd 
step is the former.

Or does this address attributes that belong to child resources?

No, not at all. The target of an operation is indicated by its address.

>
>
>
>
>
>
>
>
>
>
>


-- 
Brian Stansberry
Senior Principal Software Engineer
JBoss by Red Hat


More information about the wildfly-dev mailing list