version 1.211.4.5, 2008/01/09 12:30:57
|
version 1.211.4.6, 2008/01/30 23:50:44
|
|
|
CIMNamespaceName sourceNameSpace; | CIMNamespaceName sourceNameSpace; |
CIMPropertyList propertyList; | CIMPropertyList propertyList; |
| |
|
try |
|
{ |
// | // |
// Get filter properties | // Get filter properties |
// | // |
|
|
(subscriptions [i], filterQuery, sourceNameSpace, | (subscriptions [i], filterQuery, sourceNameSpace, |
queryLanguage); | queryLanguage); |
| |
QueryExpression queryExpr = _getQueryExpression(filterQuery, |
QueryExpression queryExpr = _getQueryExpression( |
queryLanguage, |
filterQuery, queryLanguage, sourceNameSpace); |
sourceNameSpace); |
|
| |
// |
// Get the class paths in the FROM list |
// Get indication class name from filter query |
// Since neither WQL nor CQL support joins, so we can |
// |
// assume one class path. |
indicationClassName = _getIndicationClassName |
indicationClassName = |
(queryExpr, sourceNameSpace); |
queryExpr.getClassPathList()[0].getClassName(); |
|
|
|
if (!_subscriptionRepository->validateIndicationClassName( |
|
indicationClassName, sourceNameSpace)) |
|
{ |
|
// Invalid FROM class, skip the subscription |
|
continue; |
|
} |
| |
// | // |
// Get required property list from filter query (WHERE clause) | // Get required property list from filter query (WHERE clause) |
|
|
// Current subscription does not match | // Current subscription does not match |
// Continue to next subscription in list | // Continue to next subscription in list |
// | // |
match = false; |
|
continue; | continue; |
} | } |
else | else |
|
|
} | } |
} | } |
} | } |
|
catch(const Exception & e) |
|
{ |
|
// This subscription is invalid |
|
// skip it |
|
PEG_TRACE ((TRC_DISCARDED_DATA, Tracer::LEVEL2, |
|
"Exception caught trying to verify required properties" |
|
" in a subscription are all contained in the list of" |
|
" supported indication properties: %s", |
|
(const char *) e.getMessage ().getCString())); |
|
continue; |
|
} |
|
catch(const exception & e) |
|
{ |
|
// This subscription is invalid |
|
// skip it |
|
PEG_TRACE ((TRC_DISCARDED_DATA, Tracer::LEVEL2, |
|
"Exception caught trying to verify required properties" |
|
" in a subscription are all contained in the list of" |
|
" supported indication properties: %s", e.what ())); |
|
continue; |
|
} |
|
catch(...) |
|
{ |
|
// This subscription is invalid |
|
// skip it |
|
PEG_TRACE_CSTRING (TRC_DISCARDED_DATA, Tracer::LEVEL2, |
|
"Unknown exception caught trying to verify required " |
|
"properties in a subscription are all contained " |
|
"in the list of supported indication properties."); |
|
continue; |
|
} |
|
} |
| |
if (match) | if (match) |
{ | { |