On 01/08/2011 11:28 AM, Brian Stansberry wrote:
David,
On the detyped2 branch I pushed out the guts of handling generation of
detyped model descriptions (fka meta-information fka metadata).
Great!
I think your initial impression was right though, we can and should find
a way to combine the operation and model description registries. I just
ran out of hours last week.
Next steps:
0) Create & agree upon a complete example doman, host, and server model
so we have a good idea of what we're describing.
1) Post the structure of the model descriptions on the wiki.
2) The generic logic Domain/Host/ServerControllers can use to respond to
requests for model description data, accessing the above.
3 or 4) When I want some mindless work, create the model descriptions
for the core (i.e. excluding subsystems) model.
4 or 3) The generic logic Domain/Host/ServerControllers can use to
respond to "read" requests (i.e. reads of the actual model data, not the
description of the model.)
Sounds good.
I'm sorely tempted to have
ModelDescriptionProvider.getModelDescription(boolean recursive) also
take a Locale param. If it's added there, it should also be added to
OperationHandler.getOperationDescription().
Definitely. Like I said though I can merge these two on Monday though
if you have no objections.
I still think that we should however break apart the general description
provider concept. When an operation is registered, its description
provider should be registered too.
Either way we also need to decide whether it's OK to have operations on
an address which doesn't "exist" as far as the general model description
provider for that element goes, because that will shape the API as well.
If we do not, we could do something like have a model node registration
akin to SubsystemRegistration where you register the model node with a
description provider, then the returned registration can be used to
register operations on that same node.
If we do allow operations on arbitrary addresses then we'd just make
both be top-level methods: registerAddress() vs registerOperation().
--
- DML