version 1.55, 2006/01/30 16:16:47
|
version 1.56, 2006/05/02 20:26:58
|
|
|
if (!(q.getType() == qd.getType() && q.isArray() == qd.isArray())) | if (!(q.getType() == qd.getType() && q.isArray() == qd.isArray())) |
throw BadQualifierType(q.getName().getString ()); | throw BadQualifierType(q.getName().getString ()); |
| |
|
#ifdef PEGASUS_EMBEDDED_INSTANCE_SUPPORT |
//---------------------------------------------------------------------- | //---------------------------------------------------------------------- |
// 3. Check the scope: Must be legal for this qualifier |
// 3. If the qualifier is the EmbeddedInstance qualifier, then check |
|
// that the class specified by the qualifier exists in the namespace. |
|
//---------------------------------------------------------------------- |
|
if(q.getName().equal(CIMName("EmbeddedInstance"))) |
|
{ |
|
String className; |
|
q.getValue().get(className); |
|
CIMClass classDef = declContext->lookupClass(nameSpace, |
|
CIMName(className)); |
|
if(classDef.isUninitialized()) |
|
{ |
|
String embeddedInstType("EmbeddedInstance(\""); |
|
embeddedInstType = embeddedInstType + className + "\")"; |
|
throw BadQualifierType(embeddedInstType); |
|
} |
|
} |
|
#endif // PEGASUS_EMBEDDED_INSTANCE_SUPPORT |
|
|
|
//---------------------------------------------------------------------- |
|
// 4. Check the scope: Must be legal for this qualifier |
//---------------------------------------------------------------------- | //---------------------------------------------------------------------- |
//#if 0 | //#if 0 |
// ATTN: These lines throw a bogus exception if the qualifier has | // ATTN: These lines throw a bogus exception if the qualifier has |
|
|
} | } |
//cout << qd.getFlavor() << endl;*/ | //cout << qd.getFlavor() << endl;*/ |
// Do not allow change from disable override to enable override. | // Do not allow change from disable override to enable override. |
if ((!qd.getFlavor ().hasFlavor |
if ((!qd.getFlavor ().hasFlavor(CIMFlavor::OVERRIDABLE)) |
(CIMFlavor::OVERRIDABLE)) |
&& (q.getFlavor ().hasFlavor(CIMFlavor::OVERRIDABLE))) |
&& (q.getFlavor ().hasFlavor |
throw BadQualifierOverride(q.getName().getString ()); |
(CIMFlavor::OVERRIDABLE))) |
|
throw BadQualifierOverride |
|
(q.getName().getString ()); |
|
| |
Resolver::resolveQualifierFlavor | Resolver::resolveQualifierFlavor |
(q, CIMFlavor (qd.getFlavor ()), false); | (q, CIMFlavor (qd.getFlavor ()), false); |
|
|
{ ////// Make Const again | { ////// Make Const again |
CIMQualifier iq = inheritedQualifiers.getQualifier(index); | CIMQualifier iq = inheritedQualifiers.getQualifier(index); |
// don't allow change override to notoverride. | // don't allow change override to notoverride. |
if (!(iq.getFlavor ().hasFlavor |
if (!(iq.getFlavor ().hasFlavor(CIMFlavor::OVERRIDABLE)) |
(CIMFlavor::OVERRIDABLE)) |
|
&& q.getFlavor ().hasFlavor (CIMFlavor::OVERRIDABLE)) | && q.getFlavor ().hasFlavor (CIMFlavor::OVERRIDABLE)) |
throw BadQualifierOverride |
throw BadQualifierOverride(q.getName().getString ()); |
(q.getName().getString ()); |
|
| |
if (!(iq.getFlavor ().hasFlavor |
if (!(iq.getFlavor ().hasFlavor(CIMFlavor::OVERRIDABLE)) |
(CIMFlavor::OVERRIDABLE)) |
&& iq.getFlavor ().hasFlavor(CIMFlavor::TOSUBCLASS)) |
&& iq.getFlavor ().hasFlavor |
|
(CIMFlavor::TOSUBCLASS)) |
|
{ | { |
/*if(!(q.getValue() == iq.getvalue())) | /*if(!(q.getValue() == iq.getvalue())) |
cout << "KSTEST QL err inherit " << q.getName() | cout << "KSTEST QL err inherit " << q.getName() |
|
|
CIMValue qv = q.getValue(); | CIMValue qv = q.getValue(); |
CIMValue iqv = iq.getValue(); | CIMValue iqv = iq.getValue(); |
if(!(qv == iqv)) { | if(!(qv == iqv)) { |
throw BadQualifierOverride |
throw BadQualifierOverride(q.getName().getString()); |
(q.getName().getString ()); |
|
} | } |
} | } |
//cout << iq.getFlavor() << endl; | //cout << iq.getFlavor() << endl; |