Re: CIMOM refuses EmbeddedObject with unknown class
Jan Safranek <[email protected]> Thu, 21 Mar 2013 10:05:17 +0100
| Newsgroups | gmane.network.open-pegasus.general |
|---|---|
| Message-ID | <[email protected]> |
On 03/20/2013 08:12 PM, Andreas Maier wrote:
>
> Let me make it more concrete (and modify it a bit): The classes that have
> the dynamic set of properties are __MethodParameters, __JobInParameters and
> __JobOutParameters, so these would be defined as empty top-level classes,
> and they would have one subclass for each extrinsic method that needs Job
> Control support. The parameters of these methods will determine the set of
> properties in these subclasses. These three top-level classes would be
> defined with the Indication qualifier (to allow them having embedded
> instances but no keys), and thus they would not inherit from
> CIM_ManagedElement (which is only the mother of all non-association and
> non-indication classes, and that is not a requirement but just the current
> convention in the CIM Schema).
>
> The potential caveat with the idea is whether or not these method-specific
> subclasses prevent an implementation of the Job Control Profile that is
> stands on its own, independent of these methods.
Technically, it can work. I need to create lot of classes, but if it's
the price I must pay, I can do it. 'Lot of' = 10-15 for now + more in
future as the OpenLMI evolves. It's just copy-paste from each method,
that could be even automated, so I wouldn't worry much about it.
> Jan,
> is this something you could try out ?
>
> Regarding the potential caveat: Did you envision an implementation of the
> JCP that is independent of the methods that need Job Control support, and
> would this approach prevent such an implementation?
No, the suggested approach can work for OpenLMI - we implement both the
Job Control and also the methods which return job.
What troubles me a bit is description of
CIM_InstMethodCall.MethodParameters property:
The parameters of the method, formatted as an EmbeddedObject
(with a predefined class name of "__MethodParameters".
I interpret it as the classname must be literally "__MethodParameters"
and not a subclass of it. Am I reading it wrong?
Jan