[jboss-as7-dev] "Read" operations
Kabir Khan
kabir.khan at jboss.com
Sat Jan 15 06:35:02 EST 2011
Actually that output is complete garbage :-) The idea is that for every children=>model-description to add something like this:
model-description => {
subsystem1 => {
description=>{},
attributes=>{},
children=> {
child => {
description=>{},
required=>"true",
model-description=>{
childa=>{
description=>{}.
attributes=>{}
},
childb=>{
description=>{}.
attributes=>{},
}
}
}
}
},
subsystem2 =>{
description=>{},
attributes=>{},
children=> {},
},
}
On 15 Jan 2011, at 11:09, Kabir Khan wrote:
> For the recursive read-resource-description operation I have come up with something which lives at https://github.com/kabir/jboss-as/tree/detyped-recursive-description. I did not bother getting the tests to pass until we've decided on something. The model description elements have an intermediate layer (child-name => actual-model-description}. Getting the recursive model description for the test model set up in GlobalOperationsTestCase returns the following:
>
>
>
> {
> "description" => "The root node of the test management API",
> "children" => {
> "profile" => {
> "description" => "A list of profiles",
> "min-occurs" => 1,
> "model-description" => undefined
> },
> "model-description" => {
> "profileB" => {
> "description" => "A named set of subsystem configs",
> "attributes" => {"name" => {
> "type" => STRING,
> "description" => "The name of the profile",
> "required" => true,
> "min-length" => 1
> }},
> "children" => {
> "subsystem" => {
> "description" => "The subsystems that make up the profile",
> "min-occurs" => 1,
> "model-description" => undefined
> },
> "model-description" => {"subsystem3" => {
> "description" => "A test subsystem 1",
> "attributes" => {"attr1" => {
> "type" => INT,
> "description" => "The value",
> "required" => true
> }},
> "children" => {}
> }}
> }
> },
> "profileC" => {
> "description" => "A named set of subsystem configs",
> "attributes" => {"name" => {
> "type" => STRING,
> "description" => "The name of the profile",
> "required" => true,
> "min-length" => 1
> }},
> "children" => {
> "subsystem" => {
> "description" => "The subsystems that make up the profile",
> "min-occurs" => 1,
> "model-description" => undefined
> },
> "model-description" => {
> "subsystem5" => {
> "description" => "A value",
> "attributes" => {
> "name" => {
> "type" => STRING,
> "description" => "The name of the thing",
> "required" => true
> },
> "value" => {
> "type" => STRING,
> "description" => "The name of the thing",
> "required" => false
> }
> },
> "children" => {
> "type1" => {
> "description" => "The children1",
> "min-occurs" => 0,
> "model-description" => undefined
> },
> "model-description" => {"thing1" => {"description" => "A subsystem"}}
> }
> },
> "subsystem4" => {
> "description" => "A subsystem",
> "attributes" => {"name" => {
> "type" => STRING,
> "description" => "The name of the thing",
> "required" => false
> }},
> "children" => {"type1" => {
> "description" => "The children1",
> "min-occurs" => 0,
> "model-description" => undefined
> }}
> }
> }
> }
> },
> "profileA" => {
> "description" => "A named set of subsystem configs",
> "attributes" => {"name" => {
> "type" => STRING,
> "description" => "The name of the profile",
> "required" => true,
> "min-length" => 1
> }},
> "children" => {
> "subsystem" => {
> "description" => "The subsystems that make up the profile",
> "min-occurs" => 1,
> "model-description" => undefined
> },
> "model-description" => {
> "subsystem1" => {
> "description" => "A test subsystem 1",
> "attributes" => {"attr1" => {
> "type" => LIST,
> "value-type" => INT,
> "description" => "The values",
> "required" => true
> }},
> "children" => {
> "type1" => {
> "description" => "The children1",
> "min-occurs" => 1,
> "model-description" => undefined
> },
> "type2" => {
> "description" => "The children2",
> "min-occurs" => 1,
> "model-description" => undefined
> },
> "model-description" => {
> "*" => {
> "description" => "A type 1",
> "attributes" => {
> "name" => {
> "type" => STRING,
> "description" => "The name of the thing",
> "required" => true
> },
> "value" => {
> "type" => INT,
> "description" => "The value of the thing",
> "required" => true
> }
> }
> },
> "other" => {
> "description" => "A type 2",
> "attributes" => {"name" => {
> "type" => STRING,
> "description" => "The name of the thing",
> "required" => true
> }}
> }
> }
> }
> },
> "subsystem2" => {
> "description" => "A test subsystem 2",
> "attributes" => {
> "bigdecimal" => {
> "type" => BIG_DECIMAL,
> "description" => "A big decimal",
> "required" => true
> },
> "biginteger" => {
> "type" => BIG_DECIMAL,
> "description" => "A big integer",
> "required" => true
> },
> "boolean" => {
> "type" => BOOLEAN,
> "description" => "A boolean",
> "required" => true
> },
> "bytes" => {
> "type" => BYTES,
> "description" => "A bytes",
> "required" => true
> },
> "double" => {
> "type" => DOUBLE,
> "description" => "A double",
> "required" => true
> },
> "expression" => {
> "type" => UNDEFINED,
> "description" => "A double",
> "required" => true
> },
> "int" => {
> "type" => INT,
> "description" => "A int",
> "required" => true
> },
> "list" => {
> "type" => LIST,
> "value-type" => STRING,
> "description" => "A list",
> "required" => true
> },
> "long" => {
> "type" => LONG,
> "description" => "A long",
> "required" => true
> },
> "object" => {
> "type" => OBJECT,
> "value-type" => STRING,
> "description" => "A object",
> "required" => true
> },
> "property" => {
> "type" => UNDEFINED,
> "value-type" => STRING,
> "description" => "A property",
> "required" => true
> },
> "string1" => {
> "type" => STRING,
> "description" => "A string",
> "required" => true
> },
> "string2" => {
> "type" => STRING,
> "description" => "A string",
> "required" => true
> },
> "type" => {
> "type" => TYPE,
> "description" => "A type",
> "required" => true
> }
> }
> }
> }
> }
> }
> }
> }
> }
> {
> "description" => "The root node of the test management API",
> "children" => {
> "profile" => {
> "description" => "A list of profiles",
> "min-occurs" => 1,
> "model-description" => undefined
> },
> "model-description" => {
> "profileB" => {
> "description" => "A named set of subsystem configs",
> "attributes" => {"name" => {
> "type" => STRING,
> "description" => "The name of the profile",
> "required" => true,
> "min-length" => 1
> }},
> "children" => {
> "subsystem" => {
> "description" => "The subsystems that make up the profile",
> "min-occurs" => 1,
> "model-description" => undefined
> },
> "model-description" => {"subsystem3" => {
> "description" => "A test subsystem 1",
> "attributes" => {"attr1" => {
> "type" => INT,
> "description" => "The value",
> "required" => true
> }},
> "children" => {}
> }}
> }
> },
> "profileC" => {
> "description" => "A named set of subsystem configs",
> "attributes" => {"name" => {
> "type" => STRING,
> "description" => "The name of the profile",
> "required" => true,
> "min-length" => 1
> }},
> "children" => {
> "subsystem" => {
> "description" => "The subsystems that make up the profile",
> "min-occurs" => 1,
> "model-description" => undefined
> },
> "model-description" => {
> "subsystem5" => {
> "description" => "A value",
> "attributes" => {
> "name" => {
> "type" => STRING,
> "description" => "The name of the thing",
> "required" => true
> },
> "value" => {
> "type" => STRING,
> "description" => "The name of the thing",
> "required" => false
> }
> },
> "children" => {
> "type1" => {
> "description" => "The children1",
> "min-occurs" => 0,
> "model-description" => undefined
> },
> "model-description" => {"thing1" => {"description" => "A subsystem"}}
> }
> },
> "subsystem4" => {
> "description" => "A subsystem",
> "attributes" => {"name" => {
> "type" => STRING,
> "description" => "The name of the thing",
> "required" => false
> }},
> "children" => {"type1" => {
> "description" => "The children1",
> "min-occurs" => 0,
> "model-description" => undefined
> }}
> }
> }
> }
> },
> "profileA" => {
> "description" => "A named set of subsystem configs",
> "attributes" => {"name" => {
> "type" => STRING,
> "description" => "The name of the profile",
> "required" => true,
> "min-length" => 1
> }},
> "children" => {
> "subsystem" => {
> "description" => "The subsystems that make up the profile",
> "min-occurs" => 1,
> "model-description" => undefined
> },
> "model-description" => {
> "subsystem1" => {
> "description" => "A test subsystem 1",
> "attributes" => {"attr1" => {
> "type" => LIST,
> "value-type" => INT,
> "description" => "The values",
> "required" => true
> }},
> "children" => {
> "type1" => {
> "description" => "The children1",
> "min-occurs" => 1,
> "model-description" => undefined
> },
> "type2" => {
> "description" => "The children2",
> "min-occurs" => 1,
> "model-description" => undefined
> },
> "model-description" => {
> "*" => {
> "description" => "A type 1",
> "attributes" => {
> "name" => {
> "type" => STRING,
> "description" => "The name of the thing",
> "required" => true
> },
> "value" => {
> "type" => INT,
> "description" => "The value of the thing",
> "required" => true
> }
> }
> },
> "other" => {
> "description" => "A type 2",
> "attributes" => {"name" => {
> "type" => STRING,
> "description" => "The name of the thing",
> "required" => true
> }}
> }
> }
> }
> },
> "subsystem2" => {
> "description" => "A test subsystem 2",
> "attributes" => {
> "bigdecimal" => {
> "type" => BIG_DECIMAL,
> "description" => "A big decimal",
> "required" => true
> },
> "biginteger" => {
> "type" => BIG_DECIMAL,
> "description" => "A big integer",
> "required" => true
> },
> "boolean" => {
> "type" => BOOLEAN,
> "description" => "A boolean",
> "required" => true
> },
> "bytes" => {
> "type" => BYTES,
> "description" => "A bytes",
> "required" => true
> },
> "double" => {
> "type" => DOUBLE,
> "description" => "A double",
> "required" => true
> },
> "expression" => {
> "type" => UNDEFINED,
> "description" => "A double",
> "required" => true
> },
> "int" => {
> "type" => INT,
> "description" => "A int",
> "required" => true
> },
> "list" => {
> "type" => LIST,
> "value-type" => STRING,
> "description" => "A list",
> "required" => true
> },
> "long" => {
> "type" => LONG,
> "description" => "A long",
> "required" => true
> },
> "object" => {
> "type" => OBJECT,
> "value-type" => STRING,
> "description" => "A object",
> "required" => true
> },
> "property" => {
> "type" => UNDEFINED,
> "value-type" => STRING,
> "description" => "A property",
> "required" => true
> },
> "string1" => {
> "type" => STRING,
> "description" => "A string",
> "required" => true
> },
> "string2" => {
> "type" => STRING,
> "description" => "A string",
> "required" => true
> },
> "type" => {
> "type" => TYPE,
> "description" => "A type",
> "required" => true
> }
> }
> }
> }
> }
> }
> }
> }
> }
>
>
> _______________________________________________
> jboss-as7-dev mailing list
> jboss-as7-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
More information about the jboss-as7-dev
mailing list