version 1.35.2.1, 2006/03/10 21:47:05
|
version 1.43, 2006/06/09 15:37:55
|
|
|
#include <Pegasus/Provider/CIMOMHandle.h> | #include <Pegasus/Provider/CIMOMHandle.h> |
#include <Pegasus/Client/CIMClient.h> | #include <Pegasus/Client/CIMClient.h> |
#include <Pegasus/ProviderManager2/JMPI/JMPIProviderManager.h> | #include <Pegasus/ProviderManager2/JMPI/JMPIProviderManager.h> |
|
#include <Pegasus/WQL/WQLSelectStatement.h> |
|
#include <Pegasus/WQL/WQLParser.h> |
|
#define CALL_SIGN_WQL "WQL" |
| |
PEGASUS_USING_STD; | PEGASUS_USING_STD; |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
|
|
| |
int JMPIjvm::cacheIDs(JNIEnv *env) | int JMPIjvm::cacheIDs(JNIEnv *env) |
{ | { |
DDD(PEGASUS_STD(cout)<<"--- JMPIjvm::cacheIDs(): enter"<<PEGASUS_STD(endl)); |
|
|
|
if (methodInitDone==1) | if (methodInitDone==1) |
return JNI_TRUE; | return JNI_TRUE; |
if (methodInitDone==-1) | if (methodInitDone==-1) |
return JNI_FALSE; | return JNI_FALSE; |
| |
|
DDD(PEGASUS_STD(cout)<<"--- JMPIjvm::cacheIDs(): enter"<<PEGASUS_STD(endl)); |
|
|
methodInitDone=-1; | methodInitDone=-1; |
| |
for (unsigned i=0; i<(sizeof(classNames)/sizeof(classNames[0])); i++) { | for (unsigned i=0; i<(sizeof(classNames)/sizeof(classNames[0])); i++) { |
|
|
JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1invokeMethod24 | JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1invokeMethod24 |
(JNIEnv *jEnv, jobject jThs, jint jCh, jint jCop, jstring jMn, | (JNIEnv *jEnv, jobject jThs, jint jCh, jint jCop, jstring jMn, |
jobjectArray jIn, jobjectArray jOut) | jobjectArray jIn, jobjectArray jOut) |
|
|
{ | { |
JMPIjvm::cacheIDs(jEnv); | JMPIjvm::cacheIDs(jEnv); |
| |
|
|
Array<CIMParamValue> in; | Array<CIMParamValue> in; |
Array<CIMParamValue> out; | Array<CIMParamValue> out; |
| |
|
if (jIn) |
|
{ |
for (int i=0,m=jEnv->GetArrayLength(jIn); i<m; i++) { | for (int i=0,m=jEnv->GetArrayLength(jIn); i<m; i++) { |
JMPIjvm::checkException(jEnv); | JMPIjvm::checkException(jEnv); |
| |
|
|
| |
in.append(*p); | in.append(*p); |
} | } |
|
} |
try { | try { |
CIMValue *val=new CIMValue(ch->invokeMethod(ctx,cop->getNameSpace(),*cop,method,in,out)); | CIMValue *val=new CIMValue(ch->invokeMethod(ctx,cop->getNameSpace(),*cop,method,in,out)); |
| |
|
if (jOut) |
|
{ |
for (int i=0,m=out.size(),o=jEnv->GetArrayLength(jOut); i<m && i<o; i++) { | for (int i=0,m=out.size(),o=jEnv->GetArrayLength(jOut); i<m && i<o; i++) { |
CIMParamValue *parm = new CIMParamValue (out[i]); | CIMParamValue *parm = new CIMParamValue (out[i]); |
jint jParm = DEBUG_ConvertCToJava (CIMParamValue*, jint, parm); | jint jParm = DEBUG_ConvertCToJava (CIMParamValue*, jint, parm); |
|
|
jEnv->SetObjectArrayElement(jOut,i, | jEnv->SetObjectArrayElement(jOut,i, |
jEnv->NewObject(JMPIjvm::jv.CIMArgumentClassRef,JMPIjvm::jv.CIMArgumentNewI,jParm)); | jEnv->NewObject(JMPIjvm::jv.CIMArgumentClassRef,JMPIjvm::jv.CIMArgumentNewI,jParm)); |
} | } |
|
} |
return DEBUG_ConvertCToJava (CIMValue*, jint, val); | return DEBUG_ConvertCToJava (CIMValue*, jint, val); |
} | } |
Catch(jEnv); | Catch(jEnv); |
|
|
| |
jEnv->ReleaseStringUTFChars(jNs,str); | jEnv->ReleaseStringUTFChars(jNs,str); |
| |
CIMObjectPath ref(CIMObjectPath(ind->getPath())); |
CIMObjectPath ref (ind->getPath ()); |
| |
ref.setNameSpace(ns); | ref.setNameSpace(ns); |
|
DDD(PEGASUS_STD(cerr)<<"--- Java_org_pegasus_jmpi_CIMOMHandle__1deliverEvent() ref = "<<ref.toString ()<<PEGASUS_STD(endl)); |
|
DDD(PEGASUS_STD(cerr)<<"--- Java_org_pegasus_jmpi_CIMOMHandle__1deliverEvent() ind = "<<ind->getPath ().toString ()<<PEGASUS_STD(endl)); |
ind->setPath(ref); | ind->setPath(ref); |
|
DDD(PEGASUS_STD(cerr)<<"--- Java_org_pegasus_jmpi_CIMOMHandle__1deliverEvent() ind = "<<ind->getPath ().toString ()<<PEGASUS_STD(endl)); |
| |
JMPIProviderManager::indProvRecord *prec; |
JMPIProviderManager::indProvRecord *prec = NULL; |
OperationContext* context; |
String sPathString = ind->getPath ().toString (); |
|
OperationContext *context = NULL; |
|
bool fResult = false; |
| |
if (JMPIProviderManager::provTab.lookup(name,prec)) { |
{ |
if (prec->enabled) { |
AutoMutex lock (JMPIProviderManager::mutexProvTab); |
context=prec->ctx; |
|
try { |
fResult = JMPIProviderManager::provTab.lookup (name, prec); |
prec->handler->deliver(*context, *ind); |
|
|
DDD(PEGASUS_STD(cerr)<<"--- Java_org_pegasus_jmpi_CIMOMHandle__1deliverEvent() fResult = "<<fResult<<", name = "<<name<<PEGASUS_STD(endl)); |
|
} |
|
|
|
if (fResult) |
|
{ |
|
if (prec->enabled) |
|
{ |
|
try |
|
{ |
|
prec->handler->deliver (*prec->ctx, *ind); |
} | } |
Catch(jEnv); | Catch(jEnv); |
} | } |
} | } |
else { |
else |
DDD(PEGASUS_STD(cerr)<<"--- Java_org_pegasus_jmpi_CIMOMHandle__1deliverEvent() "<<name<<" not found"<<PEGASUS_STD(endl)); |
{ |
|
DDD(PEGASUS_STD(cerr)<<"--- Java_org_pegasus_jmpi_CIMOMHandle__1deliverEvent() provider name \""<<name<<"\" not found"<<PEGASUS_STD(endl)); |
} | } |
} | } |
| |
|
|
| |
CIMInstance *ci = DEBUG_ConvertJavaToC (jint, CIMInstance*, jInst); | CIMInstance *ci = DEBUG_ConvertJavaToC (jint, CIMInstance*, jInst); |
| |
|
//@HACK |
|
//cout << "ci->getPropertyCount() = " << ci->getPropertyCount() << endl; |
for (int i=0,s=ci->getPropertyCount(); i<s; i++) { | for (int i=0,s=ci->getPropertyCount(); i<s; i++) { |
|
//cout << ci->getProperty(i).getName ().getString () |
|
// << " " |
|
// << ci->getProperty(i).getQualifierCount () |
|
// << " " |
|
// << ci->getProperty(i).findQualifier(CIMName ("key")) |
|
// << endl; |
if (ci->getProperty(i).findQualifier(String("key"))!=PEG_NOT_FOUND) { | if (ci->getProperty(i).findQualifier(String("key"))!=PEG_NOT_FOUND) { |
CIMProperty *cp = new CIMProperty(ci->getProperty(i)); | CIMProperty *cp = new CIMProperty(ci->getProperty(i)); |
jint jCp = DEBUG_ConvertCToJava (CIMProperty*, jint, cp); | jint jCp = DEBUG_ConvertCToJava (CIMProperty*, jint, cp); |
|
|
return DEBUG_ConvertCToJava (CIMInstance*, jint, cf); | return DEBUG_ConvertCToJava (CIMInstance*, jint, cf); |
} | } |
| |
|
/* |
|
* Class: org_pegasus_jmpi_CIMInstance |
|
* Method: _getObjectPath |
|
* Signature: (I)I |
|
*/ |
|
JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMInstance__1getObjectPath |
|
(JNIEnv *jEnv, jobject jThs, jint jciCi) |
|
{ |
|
CIMInstance *ci = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciCi); |
|
CIMObjectPath *copRet = NULL; |
|
|
|
try |
|
{ |
|
if (ci) |
|
{ |
|
const CIMObjectPath& cop = ci->getPath (); |
|
|
|
copRet = new CIMObjectPath (cop); |
|
} |
|
} |
|
Catch (jEnv); |
|
|
|
return DEBUG_ConvertCToJava (CIMObjectPath*, jint, copRet); |
|
} |
|
|
|
/* |
|
* Class: org_pegasus_jmpi_CIMInstance |
|
* Method: _setObjectPath |
|
* Signature: (II)V |
|
*/ |
|
JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMInstance__1setObjectPath |
|
(JNIEnv *jEnv, jobject jThs, jint jciCi, jint jciCop) |
|
{ |
|
CIMInstance *ci = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciCi); |
|
CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jciCop); |
|
|
|
try |
|
{ |
|
if ( ci |
|
&& cop |
|
) |
|
{ |
|
ci->setPath (*cop); |
|
} |
|
} |
|
Catch (jEnv); |
|
} |
|
|
|
/* |
|
* Class: org_pegasus_jmpi_CIMInstance |
|
* Method: _getPropertyCount |
|
* Signature: (I)I |
|
*/ |
|
JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMInstance__1getPropertyCount |
|
(JNIEnv *jEnv, jobject jThs, jint jciCi) |
|
{ |
|
CIMInstance *ci = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciCi); |
|
Uint32 ui32Ret = 0; |
|
|
|
try |
|
{ |
|
if (ci) |
|
{ |
|
ui32Ret = ci->getPropertyCount (); |
|
} |
|
} |
|
Catch (jEnv); |
|
|
|
return ui32Ret; |
|
} |
|
|
|
/* |
|
* Class: org_pegasus_jmpi_CIMInstance |
|
* Method: _getProperty |
|
* Signature: (II)I |
|
*/ |
|
JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMInstance__1getPropertyI |
|
(JNIEnv *jEnv, jobject jThs, jint jciCi, jint ji) |
|
{ |
|
CIMInstance *ci = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciCi); |
|
CIMProperty *cpRet = NULL; |
|
|
|
try |
|
{ |
|
if (ci) |
|
{ |
|
CIMProperty cp; |
|
|
|
cp = ci->getProperty (ji); |
|
|
|
cpRet = new CIMProperty (cp); |
|
} |
|
} |
|
Catch (jEnv); |
|
|
|
return DEBUG_ConvertCToJava (CIMProperty*, jint, cpRet); |
|
} |
|
|
// ------------------------------------- | // ------------------------------------- |
// --- | // --- |
// - CIMObjectPath | // - CIMObjectPath |
|
|
| |
delete cp; | delete cp; |
| |
|
DEBUG_ConvertCleanup (jint, jP); |
|
|
return DEBUG_ConvertCToJava (CIMProperty*, jint, np); | return DEBUG_ConvertCToJava (CIMProperty*, jint, np); |
} | } |
else | else |
|
|
DEBUG_ConvertCleanup (jint, jP); | DEBUG_ConvertCleanup (jint, jP); |
} | } |
| |
|
/* |
|
* Class: org_pegasus_jmpi_CIMProperty |
|
* Method: _findQualifier |
|
* Signature: (Ljava/lang/String;)I |
|
*/ |
|
JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMProperty__1findQualifier |
|
(JNIEnv *jEnv, jobject jThs, jint jP, jstring jQualifier) |
|
{ |
|
CIMProperty *cp = DEBUG_ConvertJavaToC (jint, CIMProperty*, jP); |
|
const char *str = jEnv->GetStringUTFChars (jQualifier, NULL); |
|
int index = PEG_NOT_FOUND; |
|
|
|
try |
|
{ |
|
index = cp->findQualifier (CIMName (str)); |
|
|
|
jEnv->ReleaseStringUTFChars (jQualifier, str); |
|
} |
|
Catch (jEnv); |
|
|
|
return index; |
|
} |
|
|
|
/* |
|
* Class: org_pegasus_jmpi_CIMProperty |
|
* Method: _getQualifier |
|
* Signature: (I)I |
|
*/ |
|
JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMProperty__1getQualifier |
|
(JNIEnv *jEnv, jobject jThs, jint jP, jint jIndex) |
|
{ |
|
CIMProperty *cp = DEBUG_ConvertJavaToC (jint, CIMProperty*, jP); |
|
CIMQualifier *cq = NULL; |
|
CIMQualifier qualifier; |
|
|
|
try |
|
{ |
|
qualifier = cp->getQualifier ((Uint32)jIndex); |
|
cq = new CIMQualifier (qualifier); |
|
} |
|
Catch (jEnv); |
|
|
|
return DEBUG_ConvertCToJava (CIMQualifier *, jint, cq); |
|
} |
|
|
|
|
// ------------------------------------- | // ------------------------------------- |
// --- | // --- |
// - CIMQualifierType | // - CIMQualifierType |
|
|
{ | { |
CIMMethod *cm = DEBUG_ConvertJavaToC (jint, CIMMethod*, jM); | CIMMethod *cm = DEBUG_ConvertJavaToC (jint, CIMMethod*, jM); |
| |
return DEBUG_ConvertCToJava (CIMType, jint, new CIMType (cm->getType())); |
return DEBUG_ConvertCToJava (CIMType *, jint, new CIMType (cm->getType())); |
} | } |
| |
JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMMethod__1finalize | JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMMethod__1finalize |
|
|
Array<CIMParamValue> in; | Array<CIMParamValue> in; |
Array<CIMParamValue> out; | Array<CIMParamValue> out; |
| |
|
if (jIn) |
|
{ |
for (int i=0,m=jEnv->GetArrayLength(jIn); i<m; i++) { | for (int i=0,m=jEnv->GetArrayLength(jIn); i<m; i++) { |
JMPIjvm::checkException(jEnv); | JMPIjvm::checkException(jEnv); |
| |
|
|
| |
in.append(*p); | in.append(*p); |
} | } |
|
} |
try { | try { |
checkNs(cop,jNs); | checkNs(cop,jNs); |
CIMValue *val=new CIMValue(cCc->invokeMethod(cop->getNameSpace(),*cop,method,in,out)); | CIMValue *val=new CIMValue(cCc->invokeMethod(cop->getNameSpace(),*cop,method,in,out)); |
| |
|
if (jOut) |
|
{ |
for (int i=0,m=out.size(),o=jEnv->GetArrayLength(jOut); i<m && i<o; i++) { | for (int i=0,m=out.size(),o=jEnv->GetArrayLength(jOut); i<m && i<o; i++) { |
CIMParamValue *parm = new CIMParamValue (out[i]); | CIMParamValue *parm = new CIMParamValue (out[i]); |
jint jParm = DEBUG_ConvertCToJava (CIMParamValue*, jint, parm); | jint jParm = DEBUG_ConvertCToJava (CIMParamValue*, jint, parm); |
|
|
i, | i, |
jEnv->NewObject(JMPIjvm::jv.CIMArgumentClassRef,JMPIjvm::jv.CIMArgumentNewI,jParm)); | jEnv->NewObject(JMPIjvm::jv.CIMArgumentClassRef,JMPIjvm::jv.CIMArgumentNewI,jParm)); |
} | } |
|
} |
jCv = DEBUG_ConvertCToJava (CIMValue*, jint, val); | jCv = DEBUG_ConvertCToJava (CIMValue*, jint, val); |
} | } |
Catch(jEnv); | Catch(jEnv); |
|
|
DEBUG_ConvertCleanup (jint, jCc); | DEBUG_ConvertCleanup (jint, jCc); |
} | } |
| |
|
// ------------------------------------- |
|
// --- |
|
// - CIMObject |
|
// --- |
|
// ------------------------------------- |
|
|
JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMObject__1newClass | JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMObject__1newClass |
(JNIEnv *jEnv, jobject jThs, jobject jCc) |
(JNIEnv *jEnv, jobject jThs, jint jCc) |
{ | { |
CIMClass *cCc = DEBUG_ConvertJavaToC (jint, CIMClass*, jCc); | CIMClass *cCc = DEBUG_ConvertJavaToC (jint, CIMClass*, jCc); |
| |
|
|
} | } |
| |
JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMObject__1newInstance | JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMObject__1newInstance |
(JNIEnv *jEnv, jobject jThs, jobject jCi) |
(JNIEnv *jEnv, jobject jThs, jint jCi) |
{ | { |
CIMInstance *cCi = DEBUG_ConvertJavaToC (jint, CIMInstance*, jCi); | CIMInstance *cCi = DEBUG_ConvertJavaToC (jint, CIMInstance*, jCi); |
| |
|
|
DEBUG_ConvertCleanup (jint, jInst); | DEBUG_ConvertCleanup (jint, jInst); |
} | } |
| |
|
// ------------------------------------- |
|
// --- |
|
// - OperationContext |
|
// --- |
|
// ------------------------------------- |
|
|
/* | /* |
* Class: OperationContext | * Class: OperationContext |
* Method: _get | * Method: _get |
|
|
return jRet; | return jRet; |
} | } |
| |
|
// ------------------------------------- |
|
// --- |
|
// - SelectExp |
|
// --- |
|
// ------------------------------------- |
|
|
|
/* |
|
* Class: org_pegasus_jmpi_SelectExp |
|
* Method: _finalize |
|
* Signature: (I)V |
|
*/ |
|
JNIEXPORT void JNICALL Java_org_pegasus_jmpi_SelectExp__1finalize |
|
(JNIEnv *jEnv, jobject jThs, jint jWQLStmt) |
|
{ |
|
WQLSelectStatement *wql_stmt = DEBUG_ConvertJavaToC (jint, WQLSelectStatement*, jWQLStmt); |
|
|
|
delete wql_stmt; |
|
|
|
DEBUG_ConvertCleanup (jint, jWQLStmt); |
|
} |
|
|
|
/* |
|
* Class: org_pegasus_jmpi_SelectExp |
|
* Method: _newSelectExp |
|
* Signature: (Ljava/lang/String;)I |
|
*/ |
|
JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_SelectExp__1newSelectExp |
|
(JNIEnv *jEnv, jobject jThs, jstring jQuery) |
|
{ |
|
const char *pszQuery = jEnv->GetStringUTFChars (jQuery, NULL); |
|
WQLSelectStatement *wql_stmt = NULL; |
|
String queryLanguage (CALL_SIGN_WQL); |
|
String query (pszQuery); |
|
|
|
wql_stmt = new WQLSelectStatement (queryLanguage, query); |
|
DDD(PEGASUS_STD(cout)<<"--- Java_org_pegasus_jmpi_SelectExp__1newSelectExp: wql_stmt = "<<PEGASUS_STD(hex)<<(int)wql_stmt<<PEGASUS_STD(dec)<<PEGASUS_STD(endl)); |
|
|
|
try |
|
{ |
|
WQLParser::parse (query, *wql_stmt); |
|
} |
|
catch (const Exception &e) |
|
{ |
|
cerr << "Java_org_pegasus_jmpi_SelectExp__1newSelectExp: Caught: " << e.getMessage () << endl; |
|
} |
|
|
|
jEnv->ReleaseStringUTFChars (jQuery, pszQuery); |
|
|
|
return DEBUG_ConvertCToJava (WQLSelectStatement *, jint, wql_stmt); |
|
} |
|
|
|
/* |
|
* Class: org_pegasus_jmpi_SelectExp |
|
* Method: _getSelectString |
|
* Signature: (I)Ljava/lang/String; |
|
*/ |
|
JNIEXPORT jstring JNICALL Java_org_pegasus_jmpi_SelectExp__1getSelectString |
|
(JNIEnv *jEnv, jobject jThs, jint jWQLStmt) |
|
{ |
|
WQLSelectStatement *wql_stmt = DEBUG_ConvertJavaToC (jint, WQLSelectStatement*, jWQLStmt); |
|
String cond; |
|
|
|
if (wql_stmt) |
|
{ |
|
try |
|
{ |
|
cond = wql_stmt->getQuery (); |
|
} |
|
catch (const Exception &e) |
|
{ |
|
cerr << "Java_org_pegasus_jmpi_SelectExp__1getSelectString: Caught: " << e.getMessage () << endl; |
|
|
|
cond = ""; |
|
} |
|
} |
|
else |
|
{ |
|
cond = ""; |
|
} |
|
|
|
return (jstring)jEnv->NewStringUTF (cond.getCString ()); |
|
} |
|
|
|
// ------------------------------------- |
|
// --- |
|
// - JMPISelectList |
|
// --- |
|
// ------------------------------------- |
|
|
|
/* |
|
* Class: org_pegasus_jmpi_JMPISelectList |
|
* Method: _applyInstance |
|
* Signature: (II)I |
|
*/ |
|
JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_JMPISelectList__1applyInstance |
|
(JNIEnv *jEnv, jobject jThs, jint jWQLStmt, jint jciInstance) |
|
{ |
|
WQLSelectStatement *wql_stmt = DEBUG_ConvertJavaToC (jint, WQLSelectStatement*, jWQLStmt); |
|
CIMInstance *ci = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciInstance); |
|
CIMInstance *ciRet = 0; |
|
|
|
if ( !wql_stmt |
|
|| !ci |
|
) |
|
{ |
|
return 0; |
|
} |
|
|
|
ciRet = new CIMInstance (ci->clone ()); |
|
|
|
if (ciRet) |
|
{ |
|
try |
|
{ |
|
wql_stmt->applyProjection (*ciRet, false); |
|
} |
|
catch (const Exception &e) |
|
{ |
|
cerr << "Java_org_pegasus_jmpi_JMPISelectList__1applyInstance: Caught: " << e.getMessage () << endl; |
|
|
|
return 0; |
|
} |
|
} |
|
|
|
return DEBUG_ConvertCToJava (CIMInstance *, jint, ciRet); |
|
} |
|
|
|
/* |
|
* Class: org_pegasus_jmpi_JMPISelectList |
|
* Method: _applyClass |
|
* Signature: (II)I |
|
*/ |
|
JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_JMPISelectList__1applyClass |
|
(JNIEnv *jEnv, jobject jThs, jint jWQLStmt, jint jciClass) |
|
{ |
|
WQLSelectStatement *wql_stmt = DEBUG_ConvertJavaToC (jint, WQLSelectStatement*, jWQLStmt); |
|
CIMClass *cc = DEBUG_ConvertJavaToC (jint, CIMClass*, jciClass); |
|
CIMClass *ccRet = NULL; |
|
|
|
if (!wql_stmt) |
|
{ |
|
return 0; |
|
} |
|
|
|
if (cc) |
|
{ |
|
CIMObject co (cc->clone ()); |
|
|
|
try |
|
{ |
|
wql_stmt->applyProjection (co, false); |
|
} |
|
catch (const Exception &e) |
|
{ |
|
cerr << "Java_org_pegasus_jmpi_JMPISelectList__1applyClass: Caught: " << e.getMessage () << endl; |
|
|
|
return 0; |
|
} |
|
|
|
ccRet = new CIMClass (co); |
|
|
|
return DEBUG_ConvertCToJava (CIMClass *, jint, ccRet); |
|
} |
|
|
|
return 0; |
|
} |
|
|
|
// ------------------------------------- |
|
// --- |
|
// - JMPIQueryExp |
|
// --- |
|
// ------------------------------------- |
|
|
|
/* |
|
* Class: org_pegasus_jmpi_JMPIQueryExp |
|
* Method: _applyInstance |
|
* Signature: (II)Z |
|
*/ |
|
JNIEXPORT jboolean JNICALL Java_org_pegasus_jmpi_JMPIQueryExp__1applyInstance |
|
(JNIEnv *jEnv, jobject jThs, jint jWQLStmt, jint jciInstance) |
|
{ |
|
WQLSelectStatement *wql_stmt = DEBUG_ConvertJavaToC (jint, WQLSelectStatement*, jWQLStmt); |
|
CIMInstance *ci = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciInstance); |
|
|
|
if ( !wql_stmt |
|
|| !ci |
|
) |
|
{ |
|
return 0; |
|
} |
|
|
|
try |
|
{ |
|
return wql_stmt->evaluate (*ci); |
|
} |
|
catch (const Exception &e) |
|
{ |
|
cerr << "Java_org_pegasus_jmpi_JMPIQueryExp__1applyInstance: Caught: " << e.getMessage () << endl; |
|
|
|
return false; |
|
} |
|
} |
|
|
} // extern "C" | } // extern "C" |
| |
PEGASUS_NAMESPACE_END | PEGASUS_NAMESPACE_END |