[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