(file) Return to JMPIImpl.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / ProviderManager2 / JMPI

Diff for /pegasus/src/Pegasus/ProviderManager2/JMPI/JMPIImpl.cpp between version 1.35.2.2 and 1.43

version 1.35.2.2, 2006/05/17 20:57:39 version 1.43, 2006/06/09 15:37:55
Line 61 
Line 61 
 #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/ProviderManager2/CMPI/CMPI_SelectExp.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
Line 1178 
Line 1180 
 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);
  
Line 1192 
Line 1195 
    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);
  
Line 1205 
Line 1210 
  
        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);
Line 1215 
Line 1223 
          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);
Line 4821 
Line 4830 
    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);
  
Line 4834 
Line 4845 
  
        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);
Line 4846 
Line 4860 
                                      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);
Line 5365 
Line 5380 
  * Signature: (I)V  * Signature: (I)V
  */  */
 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_SelectExp__1finalize JNIEXPORT void JNICALL Java_org_pegasus_jmpi_SelectExp__1finalize
   (JNIEnv *jEnv, jobject jThs, jint jEselx)    (JNIEnv *jEnv, jobject jThs, jint jWQLStmt)
 { {
    CMPI_SelectExp *eSelx = DEBUG_ConvertJavaToC (jint, CMPI_SelectExp*, jEselx);     WQLSelectStatement *wql_stmt = DEBUG_ConvertJavaToC (jint, WQLSelectStatement*, jWQLStmt);
  
    delete eSelx;     delete wql_stmt;
  
    DEBUG_ConvertCleanup (jint, jEselx);     DEBUG_ConvertCleanup (jint, jWQLStmt);
 } }
  
 /* /*
Line 5383 
Line 5398 
   (JNIEnv *jEnv, jobject jThs, jstring jQuery)   (JNIEnv *jEnv, jobject jThs, jstring jQuery)
 { {
    const char         *pszQuery = jEnv->GetStringUTFChars (jQuery, NULL);    const char         *pszQuery = jEnv->GetStringUTFChars (jQuery, NULL);
    CMPI_SelectExp     *eSelx    = NULL;     WQLSelectStatement *wql_stmt = NULL;
    WQLSelectStatement *stmt     = NULL;  
    String              queryLanguage (CALL_SIGN_WQL);    String              queryLanguage (CALL_SIGN_WQL);
    String              query (pszQuery);    String              query (pszQuery);
  
    stmt  = new WQLSelectStatement (queryLanguage, query);     wql_stmt = new WQLSelectStatement (queryLanguage, query);
    eSelx = new CMPI_SelectExp (stmt);     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);    jEnv->ReleaseStringUTFChars (jQuery, pszQuery);
  
    return DEBUG_ConvertCToJava (CMPI_SelectExp *, jint, eSelx);     return DEBUG_ConvertCToJava (WQLSelectStatement *, jint, wql_stmt);
 } }
  
 /* /*
Line 5402 
Line 5425 
  * Signature: (I)Ljava/lang/String;  * Signature: (I)Ljava/lang/String;
  */  */
 JNIEXPORT jstring JNICALL Java_org_pegasus_jmpi_SelectExp__1getSelectString JNIEXPORT jstring JNICALL Java_org_pegasus_jmpi_SelectExp__1getSelectString
   (JNIEnv *jEnv, jobject jThs, jint jEselx)    (JNIEnv *jEnv, jobject jThs, jint jWQLStmt)
 { {
    CMPI_SelectExp *eSelx = DEBUG_ConvertJavaToC (jint, CMPI_SelectExp*, jEselx);     WQLSelectStatement *wql_stmt = DEBUG_ConvertJavaToC (jint, WQLSelectStatement*, jWQLStmt);
      String              cond;
  
    return (jstring)jEnv->NewStringUTF (eSelx->cond.getCString ());     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 ());
 } }
  
 // ------------------------------------- // -------------------------------------
Line 5421 
Line 5463 
  * Signature: (II)I  * Signature: (II)I
  */  */
 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_JMPISelectList__1applyInstance JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_JMPISelectList__1applyInstance
   (JNIEnv *jEnv, jobject jThs, jint jEselx, jint jciInstance)    (JNIEnv *jEnv, jobject jThs, jint jWQLStmt, jint jciInstance)
 { {
    CMPI_SelectExp *eSelx = DEBUG_ConvertJavaToC (jint, CMPI_SelectExp*, jEselx);     WQLSelectStatement *wql_stmt = DEBUG_ConvertJavaToC (jint, WQLSelectStatement*, jWQLStmt);
    CIMInstance    *ci    = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciInstance);    CIMInstance    *ci    = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciInstance);
    CIMInstance    *ciRet = 0;    CIMInstance    *ciRet = 0;
  
    if (  !eSelx     if (  !wql_stmt
       || !eSelx->wql_stmt        || !ci
       )       )
    {    {
       return 0;       return 0;
Line 5438 
Line 5480 
  
    if (ciRet)    if (ciRet)
    {    {
       eSelx->wql_stmt->applyProjection (*ciRet, false);        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);    return DEBUG_ConvertCToJava (CIMInstance *, jint, ciRet);
Line 5450 
Line 5501 
  * Signature: (II)I  * Signature: (II)I
  */  */
 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_JMPISelectList__1applyClass JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_JMPISelectList__1applyClass
   (JNIEnv *jEnv, jobject jThs, jint jEselx, jint jciClass)    (JNIEnv *jEnv, jobject jThs, jint jWQLStmt, jint jciClass)
 { {
    CMPI_SelectExp *eSelx = DEBUG_ConvertJavaToC (jint, CMPI_SelectExp*, jEselx);     WQLSelectStatement *wql_stmt = DEBUG_ConvertJavaToC (jint, WQLSelectStatement*, jWQLStmt);
    CIMClass       *cc    = DEBUG_ConvertJavaToC (jint, CIMClass*, jciClass);    CIMClass       *cc    = DEBUG_ConvertJavaToC (jint, CIMClass*, jciClass);
    CIMClass       *ccRet = NULL;    CIMClass       *ccRet = NULL;
  
    if (  !eSelx     if (!wql_stmt)
       || !eSelx->wql_stmt  
       )  
    {    {
       return 0;       return 0;
    }    }
Line 5467 
Line 5516 
    {    {
       CIMObject co (cc->clone ());       CIMObject co (cc->clone ());
  
       eSelx->wql_stmt->applyProjection (co, false);        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);       ccRet = new CIMClass (co);
  
Line 5489 
Line 5547 
  * Signature: (II)Z  * Signature: (II)Z
  */  */
 JNIEXPORT jboolean JNICALL Java_org_pegasus_jmpi_JMPIQueryExp__1applyInstance JNIEXPORT jboolean JNICALL Java_org_pegasus_jmpi_JMPIQueryExp__1applyInstance
   (JNIEnv *jEnv, jobject jThs, jint jEselx, jint jciInstance)    (JNIEnv *jEnv, jobject jThs, jint jWQLStmt, jint jciInstance)
 { {
    CMPI_SelectExp *eSelx = DEBUG_ConvertJavaToC (jint, CMPI_SelectExp*, jEselx);     WQLSelectStatement *wql_stmt = DEBUG_ConvertJavaToC (jint, WQLSelectStatement*, jWQLStmt);
    CIMInstance    *ci    = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciInstance);    CIMInstance    *ci    = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciInstance);
  
    if (  !eSelx     if (  !wql_stmt
       || !eSelx->wql_stmt        || !ci
       )       )
    {    {
       return 0;       return 0;
    }    }
  
    if (eSelx->wql_stmt)     try
    {    {
       return eSelx->wql_stmt->evaluate (*ci);        return wql_stmt->evaluate (*ci);
    }    }
      catch (const Exception &e)
      {
         cerr << "Java_org_pegasus_jmpi_JMPIQueryExp__1applyInstance: Caught: " << e.getMessage () << endl;
  
    return false;    return false;
 } }
   }
  
 } // extern "C" } // extern "C"
  


Legend:
Removed from v.1.35.2.2  
changed lines
  Added in v.1.43

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2