version 1.28, 2002/03/30 19:09:55
|
version 1.29, 2002/04/02 16:52:50
|
|
|
#include "CIMName.h" | #include "CIMName.h" |
#include "Indentor.h" | #include "Indentor.h" |
#include "XmlWriter.h" | #include "XmlWriter.h" |
|
#include <Pegasus/Common/Tracer.h> |
| |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
PEGASUS_USING_STD; | PEGASUS_USING_STD; |
|
|
CIMQualifierList& inheritedQualifiers, | CIMQualifierList& inheritedQualifiers, |
Boolean propagateQualifiers) // Apparently not used ks 24 mar 2002 | Boolean propagateQualifiers) // Apparently not used ks 24 mar 2002 |
{ | { |
|
PEG_METHOD_ENTER(TRC_OBJECTRESOLUTION, "CIMQualifierList::resolve()"); |
// For each qualifier in the qualifiers array, the following | // For each qualifier in the qualifiers array, the following |
// is checked: | // is checked: |
// | // |
|
|
// against the declaration. If the flavor is disableoverride and tosubclass | // against the declaration. If the flavor is disableoverride and tosubclass |
// the resolved qualifier value must be identical to the original | // the resolved qualifier value must be identical to the original |
//---------------------------------------------------------------------- | //---------------------------------------------------------------------- |
|
|
|
|
// Test for Qualifier found in SuperClass. If found and qualifier | // Test for Qualifier found in SuperClass. If found and qualifier |
// is not overridable. | // is not overridable. |
// Abstract (not Overridable and restricted) can be found in subclasses | // Abstract (not Overridable and restricted) can be found in subclasses |
|
|
// characteristics (value, type, flavor, etc.) This also leaves the question | // characteristics (value, type, flavor, etc.) This also leaves the question |
// of NULL or no values. The implication is that we must move the value | // of NULL or no values. The implication is that we must move the value |
// from the superclass or declaration. | // from the superclass or declaration. |
// |
|
|
|
| |
Uint32 pos = inheritedQualifiers.find(q.getName()); | Uint32 pos = inheritedQualifiers.find(q.getName()); |
| |
|
|
// Propagate qualifiers to subclass or to instance that do not have | // Propagate qualifiers to subclass or to instance that do not have |
// already have those qualifiers: | // already have those qualifiers: |
//-------------------------------------------------------------------------- | //-------------------------------------------------------------------------- |
//cout << "KSTEST. Loop of inherited qualifiers. Number = " |
//cout << "KSTEST. Inherited qualifiers ct = " << inheritedQualifiers.getCount() << endl; |
// << inheritedQualifiers.getCount() << endl; |
|
| |
for (Uint32 i = 0, n = inheritedQualifiers.getCount(); i < n; i++) | for (Uint32 i = 0, n = inheritedQualifiers.getCount(); i < n; i++) |
{ | { |
|
|
// HACK to avoid propagating the "Abstract" Qualifier to subclasses | // HACK to avoid propagating the "Abstract" Qualifier to subclasses |
//if (CIMName::equal(iq.getName(), "Abstract")) | //if (CIMName::equal(iq.getName(), "Abstract")) |
// continue; | // continue; |
//<< " flavor= " << iq.getFlavor() |
|
//<< " TOSUBCLASS " << (iq.getFlavor() && CIMFlavor::TOSUBCLASS) << endl; |
|
| |
if (isInstancePart) | if (isInstancePart) |
{ | { |