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

Diff for /pegasus/src/Pegasus/ProviderManager2/JMPI/JMPIProviderManager.cpp between version 1.45 and 1.65

version 1.45, 2006/05/09 15:47:52 version 1.65, 2008/01/08 20:15:14
Line 29 
Line 29 
 // //
 //============================================================================== //==============================================================================
 // //
 // Author:      Adrian Schuur, schuur@de.ibm.com  
 //  
 // Modified By: Seema Gupta (gseema@in.ibm.com) for PEP135  
 //              Josephine Eskaline Joyce, IBM (jojustin@in.ibm.com) for PEP#101  
 //  
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
   // NOCHKSRC
  
 #include "JMPIProviderManager.h" #include "JMPIProviderManager.h"
  
Line 47 
Line 43 
 #include <Pegasus/Common/Logger.h> #include <Pegasus/Common/Logger.h>
 #include <Pegasus/Common/MessageLoader.h> //l10n #include <Pegasus/Common/MessageLoader.h> //l10n
 #include <Pegasus/Common/Constants.h> #include <Pegasus/Common/Constants.h>
   #include <Pegasus/Common/FileSystem.h>
   #include <Pegasus/Common/ArrayInternal.h>
  
 #include <Pegasus/Config/ConfigManager.h> #include <Pegasus/Config/ConfigManager.h>
  
 #include <Pegasus/ProviderManager2/ProviderName.h> #include <Pegasus/ProviderManager2/ProviderName.h>
 #include <Pegasus/ProviderManager2/JMPI/JMPIProvider.h> #include <Pegasus/ProviderManager2/JMPI/JMPIProvider.h>
 #include <Pegasus/ProviderManager2/JMPI/JMPIProviderModule.h> #include <Pegasus/ProviderManager2/JMPI/JMPIProviderModule.h>
 #include <Pegasus/ProviderManager2/ProviderManagerService.h>  
   
 #include <Pegasus/ProviderManager2/CMPI/CMPI_SelectExp.h>  
   
  
 PEGASUS_USING_STD; PEGASUS_USING_STD;
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
Line 163 
Line 157 
    for (int i = 0; i < (int)(sizeof (methodNames)/sizeof (methodNames[0])); i++)    for (int i = 0; i < (int)(sizeof (methodNames)/sizeof (methodNames[0])); i++)
    {    {
       jmethodID id = env->GetMethodID(jc,methodNames[i][1], methodNames[i][2]);       jmethodID id = env->GetMethodID(jc,methodNames[i][1], methodNames[i][2]);
       DDD(PEGASUS_STD(cout)<<"--- JMPIProviderManager::debugPrintMethodPointers: "<<methodNames[i][0]<<", "<<methodNames[i][1]<<", id = "<<PEGASUS_STD(hex)<<(int)id<<PEGASUS_STD(dec)<<PEGASUS_STD(endl));        DDD(PEGASUS_STD(cout)<<"--- JMPIProviderManager::debugPrintMethodPointers: "<<methodNames[i][0]<<", "<<methodNames[i][1]<<", id = "<<PEGASUS_STD(hex)<<(long)id<<PEGASUS_STD(dec)<<PEGASUS_STD(endl));
       env->ExceptionClear();       env->ExceptionClear();
    }    }
  
Line 354 
Line 348 
 JMPIProviderManager::ProvRegistrar JMPIProviderManager::provReg; JMPIProviderManager::ProvRegistrar JMPIProviderManager::provReg;
 Mutex                              JMPIProviderManager::mutexProvReg; Mutex                              JMPIProviderManager::mutexProvReg;
  
 JMPIProviderManager::JMPIProviderManager(Mode m)  JMPIProviderManager::JMPIProviderManager()
 { {
    mode=m;  
    _subscriptionInitComplete = false;    _subscriptionInitComplete = false;
  
 #ifdef PEGASUS_DEBUG #ifdef PEGASUS_DEBUG
Line 376 
Line 369 
 Boolean JMPIProviderManager::insertProvider(const ProviderName & name, Boolean JMPIProviderManager::insertProvider(const ProviderName & name,
             const String &ns, const String &cn)             const String &ns, const String &cn)
 { {
     String key(ns+String("::")+cn+String("::")+CIMValue(name.getCapabilitiesMask()).toString());      String key(ns + String("::") + cn);
  
     DDD(PEGASUS_STD(cout)<<"--- JMPIProviderManager::insertProvider: "<<key<<PEGASUS_STD(endl));     DDD(PEGASUS_STD(cout)<<"--- JMPIProviderManager::insertProvider: "<<key<<PEGASUS_STD(endl));
  
Line 493 
Line 486 
         break;         break;
  
     default:     default:
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL2,          PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL2,
                          "*** Unsupported Request "+request->getType());                     "*** Unsupported Request %d",
                      request->getType()
                     ));
         DDD(PEGASUS_STD(cout)<<"--- JMPIProviderManager::processMessage: Unsupported request "<<request->getType ()<<PEGASUS_STD(endl));         DDD(PEGASUS_STD(cout)<<"--- JMPIProviderManager::processMessage: Unsupported request "<<request->getType ()<<PEGASUS_STD(endl));
  
         response = handleUnsupportedRequest(request);         response = handleUnsupportedRequest(request);
Line 526 
Line 521 
 #define CHARS(cstring) (char*)(strlen(cstring)?(const char*)cstring:NULL) #define CHARS(cstring) (char*)(strlen(cstring)?(const char*)cstring:NULL)
  
  
 #define HandlerIntroBase(type,type1,message,request,response,handler,respType) \  #define HandlerIntroBase(type,type1,message,request,response,handler) \
     CIM##type##RequestMessage * request = \     CIM##type##RequestMessage * request = \
         dynamic_cast<CIM##type##RequestMessage *>(const_cast<Message *>(message)); \         dynamic_cast<CIM##type##RequestMessage *>(const_cast<Message *>(message)); \
     PEGASUS_ASSERT(request != 0); \     PEGASUS_ASSERT(request != 0); \
     CIM##type##ResponseMessage * response = \     CIM##type##ResponseMessage * response = \
         new CIM##type##ResponseMessage( \          dynamic_cast<CIM##type##ResponseMessage*>(request->buildResponse()); \
         request->messageId, \  
         CIMException(), \  
         request->queueIds.copyAndPop() \  
         respType \  
     PEGASUS_ASSERT(response != 0); \     PEGASUS_ASSERT(response != 0); \
     response->setKey(request->getKey()); \  
     response->setHttpMethod(request->getHttpMethod()); \  
     type1##ResponseHandler handler(request, response, _responseChunkCallback);     type1##ResponseHandler handler(request, response, _responseChunkCallback);
  
 #define VOIDINTRO );  
 #define NOVOIDINTRO(type) ,type);  
 #define METHODINTRO ,CIMValue(), Array<CIMParamValue>(), request->methodName );  
   
   
 #define HandlerIntroVoid(type,message,request,response,handler) \  
      HandlerIntroBase(type,type,message,request,response,handler,VOIDINTRO)  
   
 #define HandlerIntroMethod(type,message,request,response,handler) \  
      HandlerIntroBase(type,type,message,request,response,handler,METHODINTRO)  
   
 #define HandlerIntroInd(type,message,request,response,handler) \ #define HandlerIntroInd(type,message,request,response,handler) \
      HandlerIntroBase(type,Operation,message,request,response,handler,VOIDINTRO)       HandlerIntroBase(type,Operation,message,request,response,handler)
  
 #define HandlerIntroInit(type,message,request,response,handler) \ #define HandlerIntroInit(type,message,request,response,handler) \
      HandlerIntroBase(type,Operation,message,request,response,handler,VOIDINTRO)       HandlerIntroBase(type,Operation,message,request,response,handler)
  
 #define HandlerIntro(type,message,request,response,handler,respType) \  #define HandlerIntro(type,message,request,response,handler) \
      HandlerIntroBase(type,type,message,request,response,handler,NOVOIDINTRO(respType))       HandlerIntroBase(type,type,message,request,response,handler)
  
 #define HandlerCatch(handler) \ #define HandlerCatch(handler) \
     catch(CIMException & e)  \     catch(CIMException & e)  \
Line 573 
Line 551 
         handler.setStatus(CIM_ERR_FAILED, e.getContentLanguages(), e.getMessage()); \         handler.setStatus(CIM_ERR_FAILED, e.getContentLanguages(), e.getMessage()); \
     } \     } \
     catch(...) \     catch(...) \
     { PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, \      { PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, \
                 "Exception: Unknown"); \                 "Exception: Unknown"); \
         handler.setStatus(CIM_ERR_FAILED, "Unknown error."); \         handler.setStatus(CIM_ERR_FAILED, "Unknown error."); \
     }     }
Line 597 
Line 575 
 { {
     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleGetInstanceRequest");     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleGetInstanceRequest");
  
     HandlerIntro(GetInstance,message,request,response,handler,CIMInstance());      HandlerIntro(GetInstance,message,request,response,handler);
  
     typedef enum {     typedef enum {
        METHOD_UNKNOWN = 0,        METHOD_UNKNOWN = 0,
Line 651 
Line 629 
         {         {
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
  
             STAT_COPYDISPATCHER  
   
             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",
                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));
Line 662 
Line 638 
  
         JMPIProvider::pm_service_op_lock op_lock(&pr);         JMPIProvider::pm_service_op_lock op_lock(&pr);
  
         STAT_GETSTARTTIME;  
   
         jmethodID id               = NULL;         jmethodID id               = NULL;
         String    interfaceType;         String    interfaceType;
         String    interfaceVersion;         String    interfaceVersion;
Line 738 
Line 712 
  
            PEG_METHOD_EXIT();            PEG_METHOD_EXIT();
  
            STAT_COPYDISPATCHER  
   
            throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,            throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                           MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",                 MessageLoaderParms(
                                                               "Could not find a method for the provider based on InterfaceType."));                     "ProviderManager.JMPI.JMPIProviderManager.METHOD_NOT_FOUND",
                      "Could not find a method for the provider based on "
                          "InterfaceType."));
         }         }
  
         JMPIjvm::checkException(env);         JMPIjvm::checkException(env);
Line 751 
Line 725 
         {         {
         case METHOD_CIMINSTANCEPROVIDER:         case METHOD_CIMINSTANCEPROVIDER:
         {         {
             jint    jopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jopRef);              jobject jop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 782 
Line 756 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jcimClassRef = DEBUG_ConvertCToJava (CIMClass*, jint, pcls);              jlong   jcimClassRef = DEBUG_ConvertCToJava (CIMClass*, jlong, pcls);
             jobject jcimClass    = env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewI,jcimClassRef);              jobject jcimClass    = env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewJ,jcimClassRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jobjectArray jPropertyList = getList(jv,env,request->propertyList);             jobjectArray jPropertyList = getList(jv,env,request->propertyList);
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobject jciRet = env->CallObjectMethod((jobject)pr.jProvider,             jobject jciRet = env->CallObjectMethod((jobject)pr.jProvider,
                                                    id,                                                    id,
                                                    jop,                                                    jop,
Line 800 
Line 776 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             handler.processing();             handler.processing();
  
             if (jciRet) {             if (jciRet) {
                jint         jciRetRef = env->CallIntMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);                 jlong        jciRetRef = env->CallLongMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);
                CIMInstance *ciRet     = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciRetRef);                 CIMInstance *ciRet     = DEBUG_ConvertJavaToC (jlong, CIMInstance*, jciRetRef);
  
                handler.deliver(*ciRet);                handler.deliver(*ciRet);
             }             }
Line 817 
Line 791 
         /* Fix for 4238 */         /* Fix for 4238 */
         case METHOD_INSTANCEPROVIDER2:         case METHOD_INSTANCEPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
  
             jint    jopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jopRef);              jobject jop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 851 
Line 825 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jcimClassRef = DEBUG_ConvertCToJava (CIMClass*, jint, pcls);              jlong   jcimClassRef = DEBUG_ConvertCToJava (CIMClass*, jlong, pcls);
             jobject jcimClass    = env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewI,jcimClassRef);              jobject jcimClass    = env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewJ,jcimClassRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jobjectArray jPropertyList = getList(jv,env,request->propertyList);             jobjectArray jPropertyList = getList(jv,env,request->propertyList);
   
               StatProviderTimeMeasurement providerTime(response);
   
             jobject      jciRet        = env->CallObjectMethod((jobject)pr.jProvider,             jobject      jciRet        = env->CallObjectMethod((jobject)pr.jProvider,
                                                                id,                                                                id,
                                                                joc,                                                                joc,
Line 868 
Line 845 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             if (joc)             if (joc)
             {             {
                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);
Line 880 
Line 855 
             handler.processing();             handler.processing();
  
             if (jciRet) {             if (jciRet) {
                jint         jciRetRef = env->CallIntMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);                 jlong        jciRetRef = env->CallLongMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);
                CIMInstance *ciRet     = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciRetRef);                 CIMInstance *ciRet     = DEBUG_ConvertJavaToC (jlong, CIMInstance*, jciRetRef);
  
                handler.deliver(*ciRet);                handler.deliver(*ciRet);
             }             }
Line 892 
Line 867 
  
         case METHOD_INSTANCEPROVIDER:         case METHOD_INSTANCEPROVIDER:
         {         {
             jint    jopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jopRef);              jobject jop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 923 
Line 898 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jcimClassRef = DEBUG_ConvertCToJava (CIMClass*, jint, pcls);              jlong   jcimClassRef = DEBUG_ConvertCToJava (CIMClass*, jlong, pcls);
             jobject jcimClass    = env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewI,jcimClassRef);              jobject jcimClass    = env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewJ,jcimClassRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
               StatProviderTimeMeasurement providerTime(response);
   
             // Modified for Bugzilla# 3679             // Modified for Bugzilla# 3679
             jobject jciRet = env->CallObjectMethod((jobject)pr.jProvider,             jobject jciRet = env->CallObjectMethod((jobject)pr.jProvider,
                                                    id,                                                    id,
Line 937 
Line 914 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             handler.processing();             handler.processing();
  
             if (jciRet) {             if (jciRet) {
                jint         jciRetRef = env->CallIntMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);                 jlong        jciRetRef = env->CallLongMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);
                CIMInstance *ciRet     = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciRetRef);                 CIMInstance *ciRet     = DEBUG_ConvertJavaToC (jlong, CIMInstance*, jciRetRef);
  
                handler.deliver(*ciRet);                handler.deliver(*ciRet);
             }             }
Line 964 
Line 939 
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
  
     STAT_COPYDISPATCHER  
   
     return(response);     return(response);
 } }
  
Line 973 
Line 946 
 { {
     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleEnumerateInstanceRequest");     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleEnumerateInstanceRequest");
  
     HandlerIntro(EnumerateInstances,message,request,response,handler,Array<CIMInstance>());      HandlerIntro(EnumerateInstances,message,request,response,handler);
  
     typedef enum {     typedef enum {
        METHOD_UNKNOWN = 0,        METHOD_UNKNOWN = 0,
Line 1030 
Line 1003 
         {         {
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
  
             STAT_COPYDISPATCHER  
   
             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",                  MessageLoaderParms(
                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));                      "ProviderManager.JMPI.JMPIProviderManager.INIT_JVM_FAILED",
                       "Could not initialize the JVM (Java Virtual Machine) "
                           "runtime environment."));
         }         }
  
         JMPIProvider::pm_service_op_lock op_lock(&pr);         JMPIProvider::pm_service_op_lock op_lock(&pr);
  
         STAT_GETSTARTTIME;  
   
         jmethodID id               = NULL;         jmethodID id               = NULL;
         String    interfaceType;         String    interfaceType;
         String    interfaceVersion;         String    interfaceVersion;
Line 1070 
Line 1041 
            {            {
                env->ExceptionClear();                env->ExceptionClear();
  
                // public org.pegasus.jmpi.CIMInstance[] enumInstances (org.pegasus.jmpi.CIMObjectPath cop,                 // public org.pegasus.jmpi.CIMInstance[] enumerateInstances (org.pegasus.jmpi.CIMObjectPath cop,
                //                                                      boolean                        localOnly,                //                                                      boolean                        localOnly,
                //                                                      boolean                        includeQualifiers,                //                                                      boolean                        includeQualifiers,
                //                                                      boolean                        includeClassOrigin,                //                                                      boolean                        includeClassOrigin,
Line 1078 
Line 1049 
                //                                                      org.pegasus.jmpi.CIMClass      cimClass)                //                                                      org.pegasus.jmpi.CIMClass      cimClass)
                //         throws org.pegasus.jmpi.CIMException                //         throws org.pegasus.jmpi.CIMException
                id = env->GetMethodID((jclass)pr.jProviderClass,                id = env->GetMethodID((jclass)pr.jProviderClass,
                                      "enumInstances",                                       "enumerateInstances",
                                      "(Lorg/pegasus/jmpi/CIMObjectPath;ZZZ[Ljava/lang/String;Lorg/pegasus/jmpi/CIMClass;)[Lorg/pegasus/jmpi/CIMInstance;");                                      "(Lorg/pegasus/jmpi/CIMObjectPath;ZZZ[Ljava/lang/String;Lorg/pegasus/jmpi/CIMClass;)[Lorg/pegasus/jmpi/CIMInstance;");
  
                if (id != NULL)                if (id != NULL)
Line 1121 
Line 1092 
                //                                                                    java.lang.String[]                propertyList)                //                                                                    java.lang.String[]                propertyList)
                //         throws org.pegasus.jmpi.CIMException                //         throws org.pegasus.jmpi.CIMException
                id = env->GetMethodID((jclass)pr.jProviderClass,                id = env->GetMethodID((jclass)pr.jProviderClass,
                                      "enumInstances",                                       "enumerateInstances",
                                      "(Lorg/pegasus/jmpi/OperationContext;Lorg/pegasus/jmpi/CIMObjectPath;Lorg/pegasus/jmpi/CIMClass;ZZ[Ljava/lang/String;)[Lorg/pegasus/jmpi/CIMInstance;");                                      "(Lorg/pegasus/jmpi/OperationContext;Lorg/pegasus/jmpi/CIMObjectPath;Lorg/pegasus/jmpi/CIMClass;ZZ[Ljava/lang/String;)[Lorg/pegasus/jmpi/CIMInstance;");
  
                if (id != NULL)                if (id != NULL)
Line 1138 
Line 1109 
  
            PEG_METHOD_EXIT();            PEG_METHOD_EXIT();
  
            STAT_COPYDISPATCHER  
   
            throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,            throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                           MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",                                           MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",
                                                               "Could not find a method for the provider based on InterfaceType."));                                                               "Could not find a method for the provider based on InterfaceType."));
Line 1151 
Line 1120 
         {         {
         case METHOD_CIMINSTANCEPROVIDER:         case METHOD_CIMINSTANCEPROVIDER:
         {         {
             jint    jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jcopRef);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jcopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 1182 
Line 1151 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jccRef = DEBUG_ConvertCToJava (CIMClass*, jint, pcls);              jlong   jccRef = DEBUG_ConvertCToJava (CIMClass*, jlong, pcls);
             jobject jcc    = env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewI,jccRef);              jobject jcc    = env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewJ,jccRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jobjectArray jPropertyList = getList(jv,env,request->propertyList);             jobjectArray jPropertyList = getList(jv,env,request->propertyList);
   
               StatProviderTimeMeasurement providerTime(response);
   
             jobjectArray jAr           = (jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,             jobjectArray jAr           = (jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,
                                                                              id,                                                                              id,
                                                                              jcop,                                                                              jcop,
Line 1199 
Line 1171 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             handler.processing();             handler.processing();
             if (jAr) {             if (jAr) {
                 for (int i=0,m=env->GetArrayLength(jAr); i<m; i++) {                 for (int i=0,m=env->GetArrayLength(jAr); i<m; i++) {
Line 1210 
Line 1180 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint         jciRetRef = env->CallIntMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);                      jlong        jciRetRef = env->CallLongMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);
                     CIMInstance *ciRet     = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciRetRef);                      CIMInstance *ciRet     = DEBUG_ConvertJavaToC (jlong, CIMInstance*, jciRetRef);
  
                     /* Fix for 4237 */                     /* Fix for 4237 */
                     CIMClass cls;                     CIMClass cls;
Line 1250 
Line 1220 
  
         case METHOD_CIMINSTANCEPROVIDER2:         case METHOD_CIMINSTANCEPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
  
             jint    jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jcopRef);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jcopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 1284 
Line 1254 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jccRef = DEBUG_ConvertCToJava (CIMClass*, jint, pcls);              jlong   jccRef = DEBUG_ConvertCToJava (CIMClass*, jlong, pcls);
             jobject jcc    = env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewI,jccRef);              jobject jcc    = env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewJ,jccRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jobjectArray jPropertyList = getList(jv,env,request->propertyList);             jobjectArray jPropertyList = getList(jv,env,request->propertyList);
   
               StatProviderTimeMeasurement providerTime(response);
   
             jobjectArray jAr           = (jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,             jobjectArray jAr           = (jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,
                                                                              id,                                                                              id,
                                                                              joc,                                                                              joc,
Line 1301 
Line 1274 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             if (joc)             if (joc)
             {             {
                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);
Line 1319 
Line 1290 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint         jciRetRef = env->CallIntMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);                      jlong        jciRetRef = env->CallLongMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);
                     CIMInstance *ciRet     = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciRetRef);                      CIMInstance *ciRet     = DEBUG_ConvertJavaToC (jlong, CIMInstance*, jciRetRef);
  
                     /* Fix for 4237 */                     /* Fix for 4237 */
                     CIMClass cls;                     CIMClass cls;
Line 1360 
Line 1331 
         /* Fix for 4189 */         /* Fix for 4189 */
         case METHOD_INSTANCEPROVIDER2:         case METHOD_INSTANCEPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
  
             jint    jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jcopRef);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jcopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 1394 
Line 1365 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jccRef = DEBUG_ConvertCToJava (CIMClass*, jint, pcls);              jlong   jccRef = DEBUG_ConvertCToJava (CIMClass*, jlong, pcls);
             jobject jcc    = env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewI,jccRef);              jobject jcc    = env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewJ,jccRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jobjectArray jPropertyList = getList(jv,env,request->propertyList);             jobjectArray jPropertyList = getList(jv,env,request->propertyList);
   
               StatProviderTimeMeasurement providerTime(response);
   
             jobject      jVec          = env->CallObjectMethod((jobject)pr.jProvider,             jobject      jVec          = env->CallObjectMethod((jobject)pr.jProvider,
                                                                id,                                                                id,
                                                                joc,                                                                joc,
Line 1411 
Line 1385 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             if (joc)             if (joc)
             {             {
                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);
Line 1429 
Line 1401 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint         jciRetRef = env->CallIntMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);                      jlong        jciRetRef = env->CallLongMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);
                     CIMInstance *ciRet     = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciRetRef);                      CIMInstance *ciRet     = DEBUG_ConvertJavaToC (jlong, CIMInstance*, jciRetRef);
  
                     /* Fix for 4237 */                     /* Fix for 4237 */
                     CIMClass             cls;                     CIMClass             cls;
Line 1475 
Line 1447 
  
         case METHOD_INSTANCEPROVIDER:         case METHOD_INSTANCEPROVIDER:
         {         {
             jint    jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jcopRef);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jcopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 1506 
Line 1478 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jccRef = DEBUG_ConvertCToJava (CIMClass*, jint, pcls);              jlong   jccRef = DEBUG_ConvertCToJava (CIMClass*, jlong, pcls);
             jobject jcc    = env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewI,jccRef);              jobject jcc    = env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewJ,jccRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
               StatProviderTimeMeasurement providerTime(response);
   
             // Modified for Bugzilla# 3679             // Modified for Bugzilla# 3679
             jobject jVec = env->CallObjectMethod((jobject)pr.jProvider,             jobject jVec = env->CallObjectMethod((jobject)pr.jProvider,
                                                  id,                                                  id,
Line 1521 
Line 1495 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             handler.processing();             handler.processing();
             if (jVec) {             if (jVec) {
                 for (int i=0,m=env->CallIntMethod(jVec,JMPIjvm::jv.VectorSize); i<m; i++) {                 for (int i=0,m=env->CallIntMethod(jVec,JMPIjvm::jv.VectorSize); i<m; i++) {
Line 1532 
Line 1504 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint         jciRetRef = env->CallIntMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);                      jlong        jciRetRef = env->CallLongMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);
                     CIMInstance *ciRet     = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciRetRef);                      CIMInstance *ciRet     = DEBUG_ConvertJavaToC (jlong, CIMInstance*, jciRetRef);
  
                     /* Fix for 4237 */                     /* Fix for 4237 */
                     CIMClass cls;                     CIMClass cls;
Line 1588 
Line 1560 
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
  
     STAT_COPYDISPATCHER  
   
     return(response);     return(response);
 } }
  
Line 1597 
Line 1567 
 { {
     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "JMPIProviderManager::handleEnumerateInstanceNamesRequest");     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER, "JMPIProviderManager::handleEnumerateInstanceNamesRequest");
  
     HandlerIntro(EnumerateInstanceNames,message,request,response, handler,Array<CIMObjectPath>());      HandlerIntro(EnumerateInstanceNames,message,request,response, handler);
  
     typedef enum {     typedef enum {
        METHOD_UNKNOWN = 0,        METHOD_UNKNOWN = 0,
Line 1652 
Line 1622 
         {         {
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
  
             STAT_COPYDISPATCHER  
   
             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",
                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));
Line 1661 
Line 1629 
  
         JMPIProvider::pm_service_op_lock op_lock(&pr);         JMPIProvider::pm_service_op_lock op_lock(&pr);
  
         STAT_GETSTARTTIME;  
   
         jmethodID id               = NULL;         jmethodID id               = NULL;
         String    interfaceType;         String    interfaceType;
         String    interfaceVersion;         String    interfaceVersion;
Line 1747 
Line 1713 
  
            PEG_METHOD_EXIT();            PEG_METHOD_EXIT();
  
            STAT_COPYDISPATCHER  
   
            throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,            throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                           MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",                                           MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",
                                                               "Could not find a method for the provider based on InterfaceType."));                                                               "Could not find a method for the provider based on InterfaceType."));
Line 1760 
Line 1724 
         {         {
         case METHOD_CIMINSTANCEPROVIDER:         case METHOD_CIMINSTANCEPROVIDER:
         {         {
             jint    jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jcopRef);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jcopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 1791 
Line 1755 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jcimClassRef = DEBUG_ConvertCToJava (CIMClass*, jint, pcls);              jlong   jcimClassRef = DEBUG_ConvertCToJava (CIMClass*, jlong, pcls);
             jobject jcimClass    = env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewI,jcimClassRef);              jobject jcimClass    = env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewJ,jcimClassRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobjectArray jAr = (jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,             jobjectArray jAr = (jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,
                                                                    id,                                                                    id,
                                                                    jcop,                                                                    jcop,
Line 1803 
Line 1769 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             handler.processing();             handler.processing();
             if (jAr) {             if (jAr) {
                 for (int i=0,m=env->GetArrayLength(jAr); i<m; i++) {                 for (int i=0,m=env->GetArrayLength(jAr); i<m; i++) {
Line 1814 
Line 1778 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint           jcopRetRef = env->CallIntMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);                      jlong          jcopRetRef = env->CallLongMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);
                     CIMObjectPath *copRet     = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jcopRetRef);                      CIMObjectPath *copRet     = DEBUG_ConvertJavaToC (jlong, CIMObjectPath*, jcopRetRef);
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
Line 1828 
Line 1792 
  
         case METHOD_CIMINSTANCEPROVIDER2:         case METHOD_CIMINSTANCEPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
  
             jint    jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jcopRef);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jcopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 1862 
Line 1826 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jcimClassRef = DEBUG_ConvertCToJava (CIMClass*, jint, pcls);              jlong   jcimClassRef = DEBUG_ConvertCToJava (CIMClass*, jlong, pcls);
             jobject jcimClass    = env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewI,jcimClassRef);              jobject jcimClass    = env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewJ,jcimClassRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobjectArray jAr = (jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,             jobjectArray jAr = (jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,
                                                                    id,                                                                    id,
                                                                    joc,                                                                    joc,
Line 1875 
Line 1841 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             if (joc)             if (joc)
             {             {
                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);
Line 1893 
Line 1857 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint           jcopRetRef = env->CallIntMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);                      jlong          jcopRetRef = env->CallLongMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);
                     CIMObjectPath *copRet     = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jcopRetRef);                      CIMObjectPath *copRet     = DEBUG_ConvertJavaToC (jlong, CIMObjectPath*, jcopRetRef);
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
Line 1907 
Line 1871 
  
         case METHOD_INSTANCEPROVIDER2:         case METHOD_INSTANCEPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
  
             jint    jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jcopRef);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jcopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 1941 
Line 1905 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jcimClassRef = DEBUG_ConvertCToJava (CIMClass*, jint, pcls);              jlong   jcimClassRef = DEBUG_ConvertCToJava (CIMClass*, jlong, pcls);
             jobject jcimClass    = env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewI,jcimClassRef);              jobject jcimClass    = env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewJ,jcimClassRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobject jVec = env->CallObjectMethod((jobject)pr.jProvider,             jobject jVec = env->CallObjectMethod((jobject)pr.jProvider,
                                                  id,                                                  id,
                                                  joc,                                                  joc,
Line 1954 
Line 1920 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             if (joc)             if (joc)
             {             {
                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);
Line 1972 
Line 1936 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint           jcopRetRef = env->CallIntMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);                      jlong          jcopRetRef = env->CallLongMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);
                     CIMObjectPath *copRet     = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jcopRetRef);                      CIMObjectPath *copRet     = DEBUG_ConvertJavaToC (jlong, CIMObjectPath*, jcopRetRef);
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
Line 1986 
Line 1950 
  
         case METHOD_INSTANCEPROVIDER:         case METHOD_INSTANCEPROVIDER:
         {         {
             jint    jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jcopRef);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jcopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 2017 
Line 1981 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jcimClassRef = DEBUG_ConvertCToJava (CIMClass*, jint, pcls);              jlong   jcimClassRef = DEBUG_ConvertCToJava (CIMClass*, jlong, pcls);
             jobject jcimClass    = env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewI,jcimClassRef);              jobject jcimClass    = env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewJ,jcimClassRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobject jVec = env->CallObjectMethod((jobject)pr.jProvider,             jobject jVec = env->CallObjectMethod((jobject)pr.jProvider,
                                                  id,                                                  id,
                                                  jcop,                                                  jcop,
Line 2030 
Line 1996 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             handler.processing();             handler.processing();
             if (jVec) {             if (jVec) {
                 for (int i=0,m=env->CallIntMethod(jVec,JMPIjvm::jv.VectorSize); i<m; i++) {                 for (int i=0,m=env->CallIntMethod(jVec,JMPIjvm::jv.VectorSize); i<m; i++) {
Line 2041 
Line 2005 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint           jcopRetRef = env->CallIntMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);                      jlong          jcopRetRef = env->CallLongMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);
                     CIMObjectPath *copRet     = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jcopRetRef);                      CIMObjectPath *copRet     = DEBUG_ConvertJavaToC (jlong, CIMObjectPath*, jcopRetRef);
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
Line 2066 
Line 2030 
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
  
     STAT_COPYDISPATCHER  
   
     return(response);     return(response);
 } }
  
Line 2075 
Line 2037 
 { {
     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleCreateInstanceRequest");     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleCreateInstanceRequest");
  
     HandlerIntro(CreateInstance,message,request,response,handler,CIMObjectPath());      HandlerIntro(CreateInstance,message,request,response,handler);
  
     typedef enum {     typedef enum {
        METHOD_UNKNOWN = 0,        METHOD_UNKNOWN = 0,
Line 2124 
Line 2086 
         {         {
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
  
             STAT_COPYDISPATCHER  
   
             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",
                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));
Line 2133 
Line 2093 
  
         JMPIProvider::pm_service_op_lock op_lock(&pr);         JMPIProvider::pm_service_op_lock op_lock(&pr);
  
         STAT_GETSTARTTIME;  
   
         jmethodID id               = NULL;         jmethodID id               = NULL;
         String    interfaceType;         String    interfaceType;
         String    interfaceVersion;         String    interfaceVersion;
Line 2181 
Line 2139 
  
            PEG_METHOD_EXIT();            PEG_METHOD_EXIT();
  
            STAT_COPYDISPATCHER  
   
            throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,            throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                           MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",                                           MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",
                                                               "Could not find a method for the provider based on InterfaceType."));                                                               "Could not find a method for the provider based on InterfaceType."));
Line 2194 
Line 2150 
         {         {
         case METHOD_INSTANCEPROVIDER:         case METHOD_INSTANCEPROVIDER:
         {         {
             jint    jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jcopRef);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jcopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             CIMInstance *ci     = new CIMInstance (request->newInstance);             CIMInstance *ci     = new CIMInstance (request->newInstance);
             jint         jciRef = DEBUG_ConvertCToJava (CIMInstance*, jint, ci);              jlong        jciRef = DEBUG_ConvertCToJava (CIMInstance*, jlong, ci);
             jobject      jci    = env->NewObject(jv->CIMInstanceClassRef,jv->CIMInstanceNewI,jciRef);              jobject      jci    = env->NewObject(jv->CIMInstanceClassRef,jv->CIMInstanceNewJ,jciRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             DDD(PEGASUS_STD(cout)<<"--- JMPIProviderManager::handleCreateInstanceRequest: id = "<<id<<", jcop = "<<jcop<<", jci = "<<jci<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cout)<<"--- JMPIProviderManager::handleCreateInstanceRequest: id = "<<id<<", jcop = "<<jcop<<", jci = "<<jci<<PEGASUS_STD(endl));
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobject jcopRet = env->CallObjectMethod((jobject)pr.jProvider,             jobject jcopRet = env->CallObjectMethod((jobject)pr.jProvider,
                                                     id,                                                     id,
                                                     jcop,                                                     jcop,
Line 2214 
Line 2172 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             handler.processing();             handler.processing();
  
             if (jcopRet) {             if (jcopRet) {
                 jint           jCopRetRef = env->CallIntMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);                  jlong          jCopRetRef = env->CallLongMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);
                 CIMObjectPath *copRet     = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCopRetRef);                  CIMObjectPath *copRet     = DEBUG_ConvertJavaToC (jlong, CIMObjectPath*, jCopRetRef);
  
                 handler.deliver(*copRet);                 handler.deliver(*copRet);
             }             }
Line 2230 
Line 2186 
  
         case METHOD_INSTANCEPROVIDER2:         case METHOD_INSTANCEPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
  
             jint    jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jcopRef);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jcopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             CIMInstance *ci     = new CIMInstance (request->newInstance);             CIMInstance *ci     = new CIMInstance (request->newInstance);
             jint         jciRef = DEBUG_ConvertCToJava (CIMInstance*, jint, ci);              jlong        jciRef = DEBUG_ConvertCToJava (CIMInstance*, jlong, ci);
             jobject      jci    = env->NewObject(jv->CIMInstanceClassRef,jv->CIMInstanceNewI,jciRef);              jobject      jci    = env->NewObject(jv->CIMInstanceClassRef,jv->CIMInstanceNewJ,jciRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             DDD(PEGASUS_STD(cout)<<"--- JMPIProviderManager::handleCreateInstanceRequest: id = "<<id<<", jcop = "<<jcop<<", jci = "<<jci<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cout)<<"--- JMPIProviderManager::handleCreateInstanceRequest: id = "<<id<<", jcop = "<<jcop<<", jci = "<<jci<<PEGASUS_STD(endl));
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobject jcopRet = env->CallObjectMethod((jobject)pr.jProvider,             jobject jcopRet = env->CallObjectMethod((jobject)pr.jProvider,
                                                     id,                                                     id,
                                                     joc,                                                     joc,
Line 2254 
Line 2212 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             if (joc)             if (joc)
             {             {
                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);
Line 2266 
Line 2222 
             handler.processing();             handler.processing();
  
             if (jcopRet) {             if (jcopRet) {
                 jint           jCopRetRef = env->CallIntMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);                  jlong          jCopRetRef = env->CallLongMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);
                 CIMObjectPath *copRet     = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCopRetRef);                  CIMObjectPath *copRet     = DEBUG_ConvertJavaToC (jlong, CIMObjectPath*, jCopRetRef);
  
                 handler.deliver(*copRet);                 handler.deliver(*copRet);
             }             }
Line 2288 
Line 2244 
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
  
     STAT_COPYDISPATCHER  
   
     return(response);     return(response);
 } }
  
Line 2297 
Line 2251 
 { {
     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleModifyInstanceRequest");     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleModifyInstanceRequest");
  
     HandlerIntroVoid(ModifyInstance,message,request,response,handler);      HandlerIntro(ModifyInstance,message,request,response,handler);
  
     typedef enum {     typedef enum {
        METHOD_UNKNOWN = 0,        METHOD_UNKNOWN = 0,
Line 2339 
Line 2293 
  
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,"Calling provider.modifyInstance: " + pr.getName());         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,"Calling provider.modifyInstance: " + pr.getName());
  
         DDD(PEGASUS_STD(cout)<<"--- JMPIProviderManager::handleModifyInstanceRequest: Calling provider "<<PEGASUS_STD(hex)<<(int)&pr<<PEGASUS_STD(dec)<<", name = "<<pr.getName ()<<", module = "<<pr.getModule()<<" modifyInstance: "<<pr.getName()<<PEGASUS_STD(endl));          DDD(PEGASUS_STD(cout)<<"--- JMPIProviderManager::handleModifyInstanceRequest: Calling provider "<<PEGASUS_STD(hex)<<(long)&pr<<PEGASUS_STD(dec)<<", name = "<<pr.getName ()<<", module = "<<pr.getModule()<<" modifyInstance: "<<pr.getName()<<PEGASUS_STD(endl));
  
         JvmVector *jv = 0;         JvmVector *jv = 0;
  
Line 2349 
Line 2303 
         {         {
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
  
             STAT_COPYDISPATCHER  
   
             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",
                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));
Line 2358 
Line 2310 
  
         JMPIProvider::pm_service_op_lock op_lock(&pr);         JMPIProvider::pm_service_op_lock op_lock(&pr);
  
         STAT_GETSTARTTIME;  
   
         jmethodID id               = NULL;         jmethodID id               = NULL;
         String    interfaceType;         String    interfaceType;
         String    interfaceVersion;         String    interfaceVersion;
Line 2426 
Line 2376 
  
            PEG_METHOD_EXIT();            PEG_METHOD_EXIT();
  
            STAT_COPYDISPATCHER  
   
            throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,            throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                           MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",                                           MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",
                                                               "Could not find a method for the provider based on InterfaceType."));                                                               "Could not find a method for the provider based on InterfaceType."));
Line 2439 
Line 2387 
         {         {
         case METHOD_INSTANCEPROVIDER2:         case METHOD_INSTANCEPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
  
             jint    jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jcopRef);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jcopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             CIMInstance *ci     = new CIMInstance (request->modifiedInstance);             CIMInstance *ci     = new CIMInstance (request->modifiedInstance);
             jint         jciRef = DEBUG_ConvertCToJava (CIMInstance*, jint, ci);              jlong        jciRef = DEBUG_ConvertCToJava (CIMInstance*, jlong, ci);
             jobject      jci    = env->NewObject(jv->CIMInstanceClassRef,jv->CIMInstanceNewI,jciRef);              jobject      jci    = env->NewObject(jv->CIMInstanceClassRef,jv->CIMInstanceNewJ,jciRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jobjectArray jPropertyList = getList(jv,env,request->propertyList);             jobjectArray jPropertyList = getList(jv,env,request->propertyList);
  
               StatProviderTimeMeasurement providerTime(response);
   
             env->CallVoidMethod((jobject)pr.jProvider,             env->CallVoidMethod((jobject)pr.jProvider,
                                 id,                                 id,
                                 joc,                                 joc,
Line 2463 
Line 2413 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             if (joc)             if (joc)
             {             {
                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);
Line 2476 
Line 2424 
  
         case METHOD_CIMINSTANCEPROVIDER:         case METHOD_CIMINSTANCEPROVIDER:
         {         {
             jint    jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jcopRef);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jcopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             CIMInstance *ci     = new CIMInstance (request->modifiedInstance);             CIMInstance *ci     = new CIMInstance (request->modifiedInstance);
             jint         jciRef = DEBUG_ConvertCToJava (CIMInstance*, jint, ci);              jlong        jciRef = DEBUG_ConvertCToJava (CIMInstance*, jlong, ci);
             jobject      jci    = env->NewObject(jv->CIMInstanceClassRef,jv->CIMInstanceNewI,jciRef);              jobject      jci    = env->NewObject(jv->CIMInstanceClassRef,jv->CIMInstanceNewJ,jciRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jobjectArray jPropertyList = getList(jv,env,request->propertyList);             jobjectArray jPropertyList = getList(jv,env,request->propertyList);
  
               StatProviderTimeMeasurement providerTime(response);
   
             env->CallVoidMethod((jobject)pr.jProvider,             env->CallVoidMethod((jobject)pr.jProvider,
                                 id,                                 id,
                                 jcop,                                 jcop,
Line 2497 
Line 2447 
                                 jPropertyList);                                 jPropertyList);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
   
             STAT_PMS_PROVIDEREND;  
             break;             break;
         }         }
  
         case METHOD_INSTANCEPROVIDER:         case METHOD_INSTANCEPROVIDER:
         {         {
             jint    jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jcopRef);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jcopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             CIMInstance *ci     = new CIMInstance (request->modifiedInstance);             CIMInstance *ci     = new CIMInstance (request->modifiedInstance);
             jint         jciRef = DEBUG_ConvertCToJava (CIMInstance*, jint, ci);              jlong        jciRef = DEBUG_ConvertCToJava (CIMInstance*, jlong, ci);
             jobject      jci    = env->NewObject(jv->CIMInstanceClassRef,jv->CIMInstanceNewI,jciRef);              jobject      jci    = env->NewObject(jv->CIMInstanceClassRef,jv->CIMInstanceNewJ,jciRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
               StatProviderTimeMeasurement providerTime(response);
   
             env->CallVoidMethod((jobject)pr.jProvider,             env->CallVoidMethod((jobject)pr.jProvider,
                                 id,                                 id,
                                 jcop,                                 jcop,
                                 jci);                                 jci);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
   
             STAT_PMS_PROVIDEREND;  
             break;             break;
         }         }
  
Line 2539 
Line 2487 
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
  
     STAT_COPYDISPATCHER  
   
     return(response);     return(response);
 } }
  
Line 2548 
Line 2494 
 { {
     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleDeleteInstanceRequest");     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleDeleteInstanceRequest");
  
     HandlerIntroVoid(DeleteInstance,message,request,response,handler);      HandlerIntro(DeleteInstance,message,request,response,handler);
  
     typedef enum {     typedef enum {
        METHOD_UNKNOWN = 0,        METHOD_UNKNOWN = 0,
Line 2597 
Line 2543 
         {         {
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
  
             STAT_COPYDISPATCHER  
   
             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",
                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));
Line 2606 
Line 2550 
  
         JMPIProvider::pm_service_op_lock op_lock(&pr);         JMPIProvider::pm_service_op_lock op_lock(&pr);
  
         STAT_GETSTARTTIME;  
   
         jmethodID id               = NULL;         jmethodID id               = NULL;
         String    interfaceType;         String    interfaceType;
         String    interfaceVersion;         String    interfaceVersion;
Line 2652 
Line 2594 
  
            PEG_METHOD_EXIT();            PEG_METHOD_EXIT();
  
            STAT_COPYDISPATCHER  
   
            throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,            throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                           MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",                                           MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",
                                                               "Could not find a method for the provider based on InterfaceType."));                                                               "Could not find a method for the provider based on InterfaceType."));
Line 2665 
Line 2605 
         {         {
         case METHOD_INSTANCEPROVIDER2:         case METHOD_INSTANCEPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
  
             jint    jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jcopRef);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jcopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
               StatProviderTimeMeasurement providerTime(response);
   
             env->CallVoidMethod((jobject)pr.jProvider,             env->CallVoidMethod((jobject)pr.jProvider,
                                 id,                                 id,
                                 joc,                                 joc,
Line 2680 
Line 2622 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             if (joc)             if (joc)
             {             {
                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);
Line 2693 
Line 2633 
  
         case METHOD_INSTANCEPROVIDER:         case METHOD_INSTANCEPROVIDER:
         {         {
             jint    jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jcopRef);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jcopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
               StatProviderTimeMeasurement providerTime(response);
   
             env->CallVoidMethod((jobject)pr.jProvider,             env->CallVoidMethod((jobject)pr.jProvider,
                                 id,                                 id,
                                 jcop);                                 jcop);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
   
             STAT_PMS_PROVIDEREND;  
             break;             break;
         }         }
  
Line 2721 
Line 2661 
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
  
     STAT_COPYDISPATCHER  
   
     return(response);     return(response);
 } }
  
Line 2730 
Line 2668 
 { {
     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleExecQueryRequest");     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleExecQueryRequest");
  
     HandlerIntro(ExecQuery,message,request,response,handler,Array<CIMObject>());      HandlerIntro(ExecQuery,message,request,response,handler);
  
     typedef enum {     typedef enum {
        METHOD_UNKNOWN = 0,        METHOD_UNKNOWN = 0,
Line 2787 
Line 2725 
         {         {
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
  
             STAT_COPYDISPATCHER  
   
             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",
                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));
Line 2796 
Line 2732 
  
         JMPIProvider::pm_service_op_lock op_lock(&pr);         JMPIProvider::pm_service_op_lock op_lock(&pr);
  
         STAT_GETSTARTTIME;  
   
         jmethodID id               = NULL;         jmethodID id               = NULL;
         String    interfaceType;         String    interfaceType;
         String    interfaceVersion;         String    interfaceVersion;
Line 2890 
Line 2824 
  
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
  
             STAT_COPYDISPATCHER  
   
             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                            MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",                                            MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",
                                                                "Could not find a method for the provider based on InterfaceType."));                                                                "Could not find a method for the provider based on InterfaceType."));
Line 2903 
Line 2835 
         {         {
         case METHOD_CIMINSTANCEPROVIDER:         case METHOD_CIMINSTANCEPROVIDER:
         {         {
             jint    jcopref = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopref = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef, jv->CIMObjectPathNewI, jcopref);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef, jv->CIMObjectPathNewJ, jcopref);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 2937 
Line 2869 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint jcls = DEBUG_ConvertCToJava (CIMClass*, jint, pcls);              jlong jcls = DEBUG_ConvertCToJava (CIMClass*, jlong, pcls);
  
             jobject jCc=env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewI,jcls);              jobject jCc=env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewJ,jcls);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobjectArray jAr = (jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,             jobjectArray jAr = (jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,
                                                                    id,                                                                    id,
                                                                    jcop,                                                                    jcop,
Line 2952 
Line 2886 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             handler.processing();             handler.processing();
             if (jAr) {             if (jAr) {
                 for (int i=0,m=env->GetArrayLength(jAr); i<m; i++) {                 for (int i=0,m=env->GetArrayLength(jAr); i<m; i++) {
Line 2963 
Line 2895 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint         jciRetRef = env->CallIntMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);                      jlong        jciRetRef = env->CallLongMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);
                     CIMInstance *ciRet     = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciRetRef);                      CIMInstance *ciRet     = DEBUG_ConvertJavaToC (jlong, CIMInstance*, jciRetRef);
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
Line 2977 
Line 2909 
  
         case METHOD_CIMINSTANCEPROVIDER2:         case METHOD_CIMINSTANCEPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
  
             jint    jcopref = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopref = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef, jv->CIMObjectPathNewI, jcopref);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef, jv->CIMObjectPathNewJ, jcopref);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 3014 
Line 2946 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint jcls = DEBUG_ConvertCToJava (CIMClass*, jint, pcls);              jlong jcls = DEBUG_ConvertCToJava (CIMClass*, jlong, pcls);
  
             jobject jCc=env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewI,jcls);              jobject jCc=env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewJ,jcls);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobjectArray jAr = (jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,             jobjectArray jAr = (jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,
                                                                    id,                                                                    id,
                                                                    joc,                                                                    joc,
Line 3030 
Line 2964 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             if (joc)             if (joc)
             {             {
                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);
Line 3048 
Line 2980 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint         jciRetRef = env->CallIntMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);                      jlong        jciRetRef = env->CallLongMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);
                     CIMInstance *ciRet     = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciRetRef);                      CIMInstance *ciRet     = DEBUG_ConvertJavaToC (jlong, CIMInstance*, jciRetRef);
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
Line 3062 
Line 2994 
  
         case METHOD_INSTANCEPROVIDER2:         case METHOD_INSTANCEPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
  
             jint    jcopref = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopref = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef, jv->CIMObjectPathNewI, jcopref);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef, jv->CIMObjectPathNewJ, jcopref);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 3097 
Line 3029 
  
             CIMClass *pcls = new CIMClass (cls);             CIMClass *pcls = new CIMClass (cls);
  
             JMPIjvm::checkException(env);              jlong jcls = DEBUG_ConvertCToJava (CIMClass*, jlong, pcls);
   
             jint jcls = DEBUG_ConvertCToJava (CIMClass*, jint, pcls);  
  
             jobject jCc=env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewI,jcls);              jobject jCc=env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewJ,jcls);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jobjectArray jAr = (jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,              StatProviderTimeMeasurement providerTime(response);
   
               jobject jVec = env->CallObjectMethod ((jobject)pr.jProvider,
                                                                    id,                                                                    id,
                                                                    joc,                                                                    joc,
                                                                    jcop,                                                                    jcop,
Line 3115 
Line 3047 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             if (joc)             if (joc)
             {             {
                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);
Line 3125 
Line 3055 
             }             }
  
             handler.processing();             handler.processing();
             if (jAr) {              if (jVec)
                 for (int i=0,m=env->GetArrayLength(jAr); i<m; i++) {              {
                   for (int i = 0, m = env->CallIntMethod (jVec, JMPIjvm::jv.VectorSize); i < m; i++)
                   {
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jobject jciRet = env->GetObjectArrayElement(jAr,i);                      jobject jciRet = env->CallObjectMethod(jVec,JMPIjvm::jv.VectorElementAt,i);
                       DDD (PEGASUS_STD(cout)<<"--- JMPIProviderManager::handleExecQueryRequest: jciRet = "<<jciRet<<PEGASUS_STD(endl));
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint         jciRetRef = env->CallIntMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);                      jlong        jciRetRef = env->CallLongMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);
                     CIMInstance *ciRet     = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciRetRef);                      CIMInstance *ciRet     = DEBUG_ConvertJavaToC (jlong, CIMInstance*, jciRetRef);
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     handler.deliver(*ciRet);                     handler.deliver(*ciRet);
                 }                 }
             }             }
               DDD (PEGASUS_STD(cout)<<"--- JMPIProviderManager::handleExecQueryRequest: done!"<<PEGASUS_STD(endl));
             handler.complete();             handler.complete();
             break;             break;
         }         }
  
         case METHOD_INSTANCEPROVIDER:         case METHOD_INSTANCEPROVIDER:
         {         {
             jint    jcopref = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopref = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef, jv->CIMObjectPathNewI, jcopref);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef, jv->CIMObjectPathNewJ, jcopref);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 3181 
Line 3115 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint jcls = DEBUG_ConvertCToJava (CIMClass*, jint, pcls);              jlong jcls = DEBUG_ConvertCToJava (CIMClass*, jlong, pcls);
  
             jobject jCc=env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewI,jcls);              jobject jCc=env->NewObject(jv->CIMClassClassRef,jv->CIMClassNewJ,jcls);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint jql = 0; // @BUG - how to convert?              jlong jql = 0; // @BUG - how to convert?
  
             jobjectArray jVec = (jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,              StatProviderTimeMeasurement providerTime(response);
   
               jobject jVec = env->CallObjectMethod ((jobject)pr.jProvider,
                                                                     id,                                                                     id,
                                                                     jcop,                                                                     jcop,
                                                                     jquery,                                                                     jquery,
Line 3198 
Line 3134 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             handler.processing();             handler.processing();
             if (jVec) {             if (jVec) {
                 for (int i=0,m=env->GetArrayLength(jVec); i<m; i++) {                  for (int i=0,m=env->CallIntMethod(jVec,JMPIjvm::jv.VectorSize); i<m; i++) {
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jobject jciRet = env->GetObjectArrayElement(jVec,i);                      jobject jciRet = env->CallObjectMethod(jVec,JMPIjvm::jv.VectorElementAt,i);
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint         jciRetRef = env->CallIntMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);                      jlong        jciRetRef = env->CallLongMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);
                     CIMInstance *ciRet     = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciRetRef);                      CIMInstance *ciRet     = DEBUG_ConvertJavaToC (jlong, CIMInstance*, jciRetRef);
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
Line 3234 
Line 3168 
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
  
     STAT_COPYDISPATCHER  
   
     return(response);     return(response);
 } }
  
Line 3243 
Line 3175 
 { {
     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleAssociatorsRequest");     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleAssociatorsRequest");
  
     HandlerIntro(Associators,message,request,response,handler,Array<CIMObject>());      HandlerIntro(Associators,message,request,response,handler);
  
     typedef enum {     typedef enum {
        METHOD_UNKNOWN = 0,        METHOD_UNKNOWN = 0,
Line 3304 
Line 3236 
         {         {
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
  
             STAT_COPYDISPATCHER  
   
             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",
                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));
Line 3313 
Line 3243 
  
         JMPIProvider::pm_service_op_lock op_lock(&pr);         JMPIProvider::pm_service_op_lock op_lock(&pr);
  
         STAT_GETSTARTTIME;  
   
         jmethodID id               = NULL;         jmethodID id               = NULL;
         String    interfaceType;         String    interfaceType;
         String    interfaceVersion;         String    interfaceVersion;
Line 3426 
Line 3354 
  
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
  
             STAT_COPYDISPATCHER  
   
             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                            MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",                                            MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",
                                                                "Could not find a method for the provider based on InterfaceType."));                                                                "Could not find a method for the provider based on InterfaceType."));
Line 3439 
Line 3365 
         {         {
         case METHOD_CIMASSOCIATORPROVIDER:         case METHOD_CIMASSOCIATORPROVIDER:
         {         {
             jint    jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, assocPath);              jlong   jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, assocPath);
             jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jAssociationNameRef);              jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jAssociationNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jPathNameRef);              jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jPathNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 3459 
Line 3385 
  
 #ifdef PEGASUS_DEBUG #ifdef PEGASUS_DEBUG
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: assocName          = "<<assocPath->toString ()<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: assocName          = "<<assocPath->toString ()<<PEGASUS_STD(endl));
               DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: pathName           = "<<objectPath->toString ()<<PEGASUS_STD(endl));
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: resultClass        = "<<request->resultClass<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: resultClass        = "<<request->resultClass<<PEGASUS_STD(endl));
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: role               = "<<request->role<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: role               = "<<request->role<<PEGASUS_STD(endl));
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: resultRole         = "<<request->resultRole<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: resultRole         = "<<request->resultRole<<PEGASUS_STD(endl));
Line 3466 
Line 3393 
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: includeClassOrigin = "<<false<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: includeClassOrigin = "<<false<<PEGASUS_STD(endl));
 #endif #endif
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobjectArray jAr=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,             jobjectArray jAr=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,
                                                                   id,                                                                   id,
                                                                   jAssociationName,                                                                   jAssociationName,
Line 3479 
Line 3408 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             handler.processing();             handler.processing();
             if (jAr) {             if (jAr) {
                 for (int i=0,m=env->GetArrayLength(jAr); i<m; i++) {                 for (int i=0,m=env->GetArrayLength(jAr); i<m; i++) {
Line 3490 
Line 3417 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint jciRetRef = env->CallIntMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);                      jlong jciRetRef = env->CallLongMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     CIMInstance         *ciRet = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciRetRef);                      CIMInstance         *ciRet = DEBUG_ConvertJavaToC (jlong, CIMInstance*, jciRetRef);
                     CIMClass             cls;                     CIMClass             cls;
  
                     try                     try
Line 3534 
Line 3461 
  
         case METHOD_CIMASSOCIATORPROVIDER2:         case METHOD_CIMASSOCIATORPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
  
             jint    jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, assocPath);              jlong   jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, assocPath);
             jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jAssociationNameRef);              jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jAssociationNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jPathNameRef);              jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jPathNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 3557 
Line 3484 
  
 #ifdef PEGASUS_DEBUG #ifdef PEGASUS_DEBUG
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: assocName          = "<<assocPath->toString ()<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: assocName          = "<<assocPath->toString ()<<PEGASUS_STD(endl));
               DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: pathName           = "<<objectPath->toString ()<<PEGASUS_STD(endl));
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: resultClass        = "<<request->resultClass<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: resultClass        = "<<request->resultClass<<PEGASUS_STD(endl));
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: role               = "<<request->role<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: role               = "<<request->role<<PEGASUS_STD(endl));
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: resultRole         = "<<request->resultRole<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: resultRole         = "<<request->resultRole<<PEGASUS_STD(endl));
Line 3564 
Line 3492 
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: includeClassOrigin = "<<false<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: includeClassOrigin = "<<false<<PEGASUS_STD(endl));
 #endif #endif
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobjectArray jAr=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,             jobjectArray jAr=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,
                                                                   id,                                                                   id,
                                                                   joc,                                                                   joc,
Line 3578 
Line 3508 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             if (joc)             if (joc)
             {             {
                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);
Line 3596 
Line 3524 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint jciRetRef = env->CallIntMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);                      jlong jciRetRef = env->CallLongMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     CIMInstance         *ciRet = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciRetRef);                      CIMInstance         *ciRet = DEBUG_ConvertJavaToC (jlong, CIMInstance*, jciRetRef);
                     CIMClass             cls;                     CIMClass             cls;
  
                     try                     try
Line 3640 
Line 3568 
  
         case METHOD_ASSOCIATORPROVIDER2:         case METHOD_ASSOCIATORPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
  
             jint    jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, assocPath);              jlong   jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, assocPath);
             jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jAssociationNameRef);              jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jAssociationNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jPathNameRef);              jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jPathNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 3663 
Line 3591 
  
 #ifdef PEGASUS_DEBUG #ifdef PEGASUS_DEBUG
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: assocName          = "<<assocPath->toString ()<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: assocName          = "<<assocPath->toString ()<<PEGASUS_STD(endl));
               DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: pathName           = "<<objectPath->toString ()<<PEGASUS_STD(endl));
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: resultClass        = "<<request->resultClass<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: resultClass        = "<<request->resultClass<<PEGASUS_STD(endl));
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: role               = "<<request->role<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: role               = "<<request->role<<PEGASUS_STD(endl));
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: resultRole         = "<<request->resultRole<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: resultRole         = "<<request->resultRole<<PEGASUS_STD(endl));
Line 3670 
Line 3599 
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: includeClassOrigin = "<<false<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: includeClassOrigin = "<<false<<PEGASUS_STD(endl));
 #endif #endif
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobjectArray jVec=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,             jobjectArray jVec=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,
                                                                   id,                                                                   id,
                                                                   joc,                                                                   joc,
Line 3684 
Line 3615 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             if (joc)             if (joc)
             {             {
                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);
Line 3702 
Line 3631 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint jciRetRef = env->CallIntMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);                      jlong jciRetRef = env->CallLongMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     CIMInstance         *ciRet = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciRetRef);                      CIMInstance         *ciRet = DEBUG_ConvertJavaToC (jlong, CIMInstance*, jciRetRef);
                     CIMClass             cls;                     CIMClass             cls;
  
                     try                     try
Line 3746 
Line 3675 
  
         case METHOD_ASSOCIATORPROVIDER:         case METHOD_ASSOCIATORPROVIDER:
         {         {
             jint    jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, assocPath);              jlong   jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, assocPath);
             jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jAssociationNameRef);              jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jAssociationNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jPathNameRef);              jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jPathNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 3774 
Line 3703 
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: includeClassOrigin = "<<false<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorsRequest: includeClassOrigin = "<<false<<PEGASUS_STD(endl));
 #endif #endif
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobjectArray jVec=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,             jobjectArray jVec=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,
                                                                  id,                                                                  id,
                                                                  jAssociationName,                                                                  jAssociationName,
Line 3787 
Line 3718 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             handler.processing();             handler.processing();
             if (jVec) {             if (jVec) {
                 for (int i=0,m=env->CallIntMethod(jVec,JMPIjvm::jv.VectorSize); i<m; i++) {                 for (int i=0,m=env->CallIntMethod(jVec,JMPIjvm::jv.VectorSize); i<m; i++) {
Line 3798 
Line 3727 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint                 jciRetRef = env->CallIntMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);                      jlong                jciRetRef = env->CallLongMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);
                     CIMInstance         *ciRet     = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciRetRef);                      CIMInstance         *ciRet     = DEBUG_ConvertJavaToC (jlong, CIMInstance*, jciRetRef);
                     CIMClass             cls;                     CIMClass             cls;
  
                     try                     try
Line 3850 
Line 3779 
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
  
     STAT_COPYDISPATCHER  
   
     return(response);     return(response);
 } }
  
Line 3859 
Line 3786 
 { {
     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleAssociatorNamesRequest");     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleAssociatorNamesRequest");
  
     HandlerIntro(AssociatorNames,message,request,response,handler,Array<CIMObjectPath>());      HandlerIntro(AssociatorNames,message,request,response,handler);
  
     typedef enum {     typedef enum {
        METHOD_UNKNOWN = 0,        METHOD_UNKNOWN = 0,
Line 3913 
Line 3840 
         {         {
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
  
             STAT_COPYDISPATCHER  
   
             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",
                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));
Line 3922 
Line 3847 
  
         JMPIProvider::pm_service_op_lock op_lock(&pr);         JMPIProvider::pm_service_op_lock op_lock(&pr);
  
         STAT_GETSTARTTIME;  
   
         jmethodID id               = NULL;         jmethodID id               = NULL;
         String    interfaceType;         String    interfaceType;
         String    interfaceVersion;         String    interfaceVersion;
Line 4019 
Line 3942 
  
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
  
             STAT_COPYDISPATCHER  
   
             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                            MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",                                            MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",
                                                                "Could not find a method for the provider based on InterfaceType."));                                                                "Could not find a method for the provider based on InterfaceType."));
Line 4032 
Line 3953 
         {         {
         case METHOD_CIMASSOCIATORPROVIDER:         case METHOD_CIMASSOCIATORPROVIDER:
         {         {
             jint    jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, assocPath);              jlong   jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, assocPath);
             jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jAssociationNameRef);              jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jAssociationNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jPathNameRef);              jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jPathNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 4055 
Line 3976 
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorNamesRequest: resultRole  = "<<request->resultRole<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorNamesRequest: resultRole  = "<<request->resultRole<<PEGASUS_STD(endl));
 #endif #endif
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobjectArray jAr=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,             jobjectArray jAr=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,
                                                                   id,                                                                   id,
                                                                   jAssociationName,                                                                   jAssociationName,
Line 4065 
Line 3988 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             handler.processing();             handler.processing();
             if (jAr) {             if (jAr) {
                 for (int i=0,m=env->GetArrayLength(jAr); i<m; i++) {                 for (int i=0,m=env->GetArrayLength(jAr); i<m; i++) {
Line 4076 
Line 3997 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint           jcopRetRef = env->CallIntMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);                      jlong          jcopRetRef = env->CallLongMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);
                     CIMObjectPath *copRet     = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jcopRet);                      CIMObjectPath *copRet     = DEBUG_ConvertJavaToC (jlong, CIMObjectPath*, jcopRetRef);
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
Line 4090 
Line 4011 
  
         case METHOD_CIMASSOCIATORPROVIDER2:         case METHOD_CIMASSOCIATORPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
             jint    jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, assocPath);              jlong   jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, assocPath);
             jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jAssociationNameRef);              jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jAssociationNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jPathNameRef);              jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jPathNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 4115 
Line 4036 
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorNamesRequest: resultRole  = "<<request->resultRole<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorNamesRequest: resultRole  = "<<request->resultRole<<PEGASUS_STD(endl));
 #endif #endif
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobjectArray jAr=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,             jobjectArray jAr=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,
                                                                   id,                                                                   id,
                                                                   joc,                                                                   joc,
Line 4126 
Line 4049 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             if (joc)             if (joc)
             {             {
                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);
Line 4144 
Line 4065 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint           jcopRetRef = env->CallIntMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);                      jlong          jcopRetRef = env->CallLongMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);
                     CIMObjectPath *copRet     = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jcopRet);                      CIMObjectPath *copRet     = DEBUG_ConvertJavaToC (jlong, CIMObjectPath*, jcopRetRef);
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
Line 4158 
Line 4079 
  
         case METHOD_ASSOCIATORPROVIDER:         case METHOD_ASSOCIATORPROVIDER:
         {         {
             jint    jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, assocPath);              jlong   jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, assocPath);
             jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jAssociationNameRef);              jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jAssociationNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jPathNameRef);              jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jPathNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 4182 
Line 4103 
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorNamesRequest: resultRole  = "<<request->resultRole<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorNamesRequest: resultRole  = "<<request->resultRole<<PEGASUS_STD(endl));
 #endif #endif
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobjectArray jVec=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,             jobjectArray jVec=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,
                                                                   id,                                                                   id,
                                                                   jAssociationName,                                                                   jAssociationName,
Line 4192 
Line 4115 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             handler.processing();             handler.processing();
             if (jVec) {             if (jVec) {
                 for (int i=0,m=env->CallIntMethod(jVec,JMPIjvm::jv.VectorSize); i<m; i++) {                 for (int i=0,m=env->CallIntMethod(jVec,JMPIjvm::jv.VectorSize); i<m; i++) {
Line 4203 
Line 4124 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint           jcopRetRef = env->CallIntMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);                      jlong          jcopRetRef = env->CallLongMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);
                     CIMObjectPath *copRet     = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jcopRetRef);                      CIMObjectPath *copRet     = DEBUG_ConvertJavaToC (jlong, CIMObjectPath*, jcopRetRef);
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
Line 4217 
Line 4138 
  
         case METHOD_ASSOCIATORPROVIDER2:         case METHOD_ASSOCIATORPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
  
             jint    jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, assocPath);              jlong   jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, assocPath);
             jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jAssociationNameRef);              jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jAssociationNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jPathNameRef);              jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jPathNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 4244 
Line 4165 
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorNamesRequest: resultRole  = "<<request->resultRole<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleAssociatorNamesRequest: resultRole  = "<<request->resultRole<<PEGASUS_STD(endl));
 #endif #endif
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobjectArray jVec=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,             jobjectArray jVec=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,
                                                                   id,                                                                   id,
                                                                   joc,                                                                   joc,
Line 4255 
Line 4178 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             if (joc)             if (joc)
             {             {
                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);
Line 4273 
Line 4194 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint           jcopRetRef = env->CallIntMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);                      jlong          jcopRetRef = env->CallLongMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);
                     CIMObjectPath *copRet     = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jcopRetRef);                      CIMObjectPath *copRet     = DEBUG_ConvertJavaToC (jlong, CIMObjectPath*, jcopRetRef);
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
Line 4298 
Line 4219 
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
  
     STAT_COPYDISPATCHER  
   
     return(response);     return(response);
 } }
  
Line 4307 
Line 4226 
 { {
     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleReferencesRequest");     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleReferencesRequest");
  
     HandlerIntro(References,message,request,response,handler,Array<CIMObject>());      HandlerIntro(References,message,request,response,handler);
  
     typedef enum {     typedef enum {
        METHOD_UNKNOWN = 0,        METHOD_UNKNOWN = 0,
Line 4368 
Line 4287 
         {         {
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
  
             STAT_COPYDISPATCHER  
   
             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",
                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));
Line 4377 
Line 4294 
  
         JMPIProvider::pm_service_op_lock op_lock(&pr);         JMPIProvider::pm_service_op_lock op_lock(&pr);
  
         STAT_GETSTARTTIME;  
   
         jmethodID id               = NULL;         jmethodID id               = NULL;
         String    interfaceType;         String    interfaceType;
         String    interfaceVersion;         String    interfaceVersion;
Line 4478 
Line 4393 
  
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
  
             STAT_COPYDISPATCHER  
   
             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                            MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",                                            MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",
                                                                "Could not find a method for the provider based on InterfaceType."));                                                                "Could not find a method for the provider based on InterfaceType."));
Line 4491 
Line 4404 
         {         {
         case METHOD_CIMASSOCIATORPROVIDER:         case METHOD_CIMASSOCIATORPROVIDER:
         {         {
             jint    jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, resultPath);              jlong   jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, resultPath);
             jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jAssociationNameRef);              jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jAssociationNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jPathNameRef);              jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jPathNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 4514 
Line 4427 
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleReferencesRequest: includeClassOrigin = "<<false<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleReferencesRequest: includeClassOrigin = "<<false<<PEGASUS_STD(endl));
 #endif #endif
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobjectArray jAr=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,             jobjectArray jAr=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,
                                                                   id,                                                                   id,
                                                                   jAssociationName,                                                                   jAssociationName,
Line 4525 
Line 4440 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             handler.processing();             handler.processing();
             if (jAr) {             if (jAr) {
                 for (int i=0,m=env->GetArrayLength(jAr); i<m; i++) {                 for (int i=0,m=env->GetArrayLength(jAr); i<m; i++) {
Line 4536 
Line 4449 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint jciRetRef = env->CallIntMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);                      jlong jciRetRef = env->CallLongMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     CIMInstance         *ciRet = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciRetRef);                      CIMInstance         *ciRet = DEBUG_ConvertJavaToC (jlong, CIMInstance*, jciRetRef);
                     CIMClass             cls;                     CIMClass             cls;
  
                     try                     try
Line 4580 
Line 4493 
  
         case METHOD_CIMASSOCIATORPROVIDER2:         case METHOD_CIMASSOCIATORPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
  
             jint    jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, resultPath);              jlong   jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, resultPath);
             jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jAssociationNameRef);              jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jAssociationNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jPathNameRef);              jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jPathNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 4606 
Line 4519 
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleReferencesRequest: includeClassOrigin = "<<false<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleReferencesRequest: includeClassOrigin = "<<false<<PEGASUS_STD(endl));
 #endif #endif
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobjectArray jAr=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,             jobjectArray jAr=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,
                                                                   id,                                                                   id,
                                                                   joc,                                                                   joc,
Line 4618 
Line 4533 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             if (joc)             if (joc)
             {             {
                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);
Line 4636 
Line 4549 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint jciRetRef = env->CallIntMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);                      jlong jciRetRef = env->CallLongMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     CIMInstance         *ciRet = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciRetRef);                      CIMInstance         *ciRet = DEBUG_ConvertJavaToC (jlong, CIMInstance*, jciRetRef);
                     CIMClass             cls;                     CIMClass             cls;
  
                     try                     try
Line 4680 
Line 4593 
  
         case METHOD_ASSOCIATORPROVIDER:         case METHOD_ASSOCIATORPROVIDER:
         {         {
             jint    jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, resultPath);              jlong   jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, resultPath);
             jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jAssociationNameRef);              jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jAssociationNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jPathNameRef);              jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jPathNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 4704 
Line 4617 
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleReferencesRequest: includeClassOrigin = "<<false<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleReferencesRequest: includeClassOrigin = "<<false<<PEGASUS_STD(endl));
 #endif #endif
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobjectArray jVec=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,             jobjectArray jVec=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,
                                                                   id,                                                                   id,
                                                                   jAssociationName,                                                                   jAssociationName,
Line 4715 
Line 4630 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             handler.processing();             handler.processing();
             if (jVec) {             if (jVec) {
                 for (int i=0,m=env->CallIntMethod(jVec,JMPIjvm::jv.VectorSize); i<m; i++) {                 for (int i=0,m=env->CallIntMethod(jVec,JMPIjvm::jv.VectorSize); i<m; i++) {
Line 4726 
Line 4639 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint                 jciRetRef = env->CallIntMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);                      jlong                jciRetRef = env->CallLongMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);
                     CIMInstance         *ciRet     = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciRetRef);                      CIMInstance         *ciRet     = DEBUG_ConvertJavaToC (jlong, CIMInstance*, jciRetRef);
                     CIMClass             cls;                     CIMClass             cls;
  
                     try                     try
Line 4767 
Line 4680 
  
         case METHOD_ASSOCIATORPROVIDER2:         case METHOD_ASSOCIATORPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
  
             jint    jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, resultPath);              jlong   jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, resultPath);
             jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jAssociationNameRef);              jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jAssociationNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jPathNameRef);              jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jPathNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 4794 
Line 4707 
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleReferencesRequest: includeClassOrigin = "<<false<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleReferencesRequest: includeClassOrigin = "<<false<<PEGASUS_STD(endl));
 #endif #endif
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobjectArray jVec=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,             jobjectArray jVec=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,
                                                                   id,                                                                   id,
                                                                   joc,                                                                   joc,
Line 4806 
Line 4721 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             if (joc)             if (joc)
             {             {
                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);
Line 4824 
Line 4737 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint                 jciRetRef = env->CallIntMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);                      jlong                jciRetRef = env->CallLongMethod(jciRet,JMPIjvm::jv.CIMInstanceCInst);
                     CIMInstance         *ciRet     = DEBUG_ConvertJavaToC (jint, CIMInstance*, jciRetRef);                      CIMInstance         *ciRet     = DEBUG_ConvertJavaToC (jlong, CIMInstance*, jciRetRef);
                     CIMClass             cls;                     CIMClass             cls;
  
                     try                     try
Line 4876 
Line 4789 
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
  
     STAT_COPYDISPATCHER  
   
     return(response);     return(response);
 } }
  
Line 4885 
Line 4796 
 { {
     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleReferenceNamesRequest");     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleReferenceNamesRequest");
  
     HandlerIntro(ReferenceNames,message,request,response,handler,Array<CIMObjectPath>());      HandlerIntro(ReferenceNames,message,request,response,handler);
  
     typedef enum {     typedef enum {
        METHOD_UNKNOWN = 0,        METHOD_UNKNOWN = 0,
Line 4938 
Line 4849 
         {         {
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
  
             STAT_COPYDISPATCHER  
   
             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",
                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));
Line 4947 
Line 4856 
  
         JMPIProvider::pm_service_op_lock op_lock(&pr);         JMPIProvider::pm_service_op_lock op_lock(&pr);
  
         STAT_GETSTARTTIME;  
   
         jmethodID id               = NULL;         jmethodID id               = NULL;
         String    interfaceType;         String    interfaceType;
         String    interfaceVersion;         String    interfaceVersion;
Line 5036 
Line 4943 
  
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
  
             STAT_COPYDISPATCHER  
   
             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                            MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",                                            MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",
                                                                "Could not find a method for the provider based on InterfaceType."));                                                                "Could not find a method for the provider based on InterfaceType."));
Line 5049 
Line 4954 
         {         {
         case METHOD_CIMASSOCIATORPROVIDER:         case METHOD_CIMASSOCIATORPROVIDER:
         {         {
             jint    jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, resultPath);              jlong   jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, resultPath);
             jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jAssociationNameRef);              jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jAssociationNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jPathNameRef);              jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jPathNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 5068 
Line 4973 
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleReferenceNamesRequest: role               = "<<request->role<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleReferenceNamesRequest: role               = "<<request->role<<PEGASUS_STD(endl));
 #endif #endif
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobjectArray jAr=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,             jobjectArray jAr=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,
                                                                   id,                                                                   id,
                                                                   jPathName,                                                                   jPathName,
Line 5076 
Line 4983 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             handler.processing();             handler.processing();
             if (jAr) {             if (jAr) {
                 for (int i=0,m=env->GetArrayLength(jAr); i<m; i++) {                 for (int i=0,m=env->GetArrayLength(jAr); i<m; i++) {
Line 5087 
Line 4992 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint jcopRetRef = env->CallIntMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);                      jlong jcopRetRef = env->CallLongMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     CIMObjectPath *copRet = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jcopRetRef);                      CIMObjectPath *copRet = DEBUG_ConvertJavaToC (jlong, CIMObjectPath*, jcopRetRef);
  
                     handler.deliver(*copRet);                     handler.deliver(*copRet);
                 }                 }
Line 5102 
Line 5007 
  
         case METHOD_CIMASSOCIATORPROVIDER2:         case METHOD_CIMASSOCIATORPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
  
             jint    jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, resultPath);              jlong   jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, resultPath);
             jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jAssociationNameRef);              jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jAssociationNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jPathNameRef);              jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jPathNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 5124 
Line 5029 
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleReferenceNamesRequest: role               = "<<request->role<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleReferenceNamesRequest: role               = "<<request->role<<PEGASUS_STD(endl));
 #endif #endif
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobjectArray jAr=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,             jobjectArray jAr=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,
                                                                   id,                                                                   id,
                                                                   joc,                                                                   joc,
Line 5133 
Line 5040 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             if (joc)             if (joc)
             {             {
                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);
Line 5151 
Line 5056 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint jcopRetRef = env->CallIntMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);                      jlong jcopRetRef = env->CallLongMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     CIMObjectPath *copRet = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jcopRetRef);                      CIMObjectPath *copRet = DEBUG_ConvertJavaToC (jlong, CIMObjectPath*, jcopRetRef);
  
                     handler.deliver(*copRet);                     handler.deliver(*copRet);
                 }                 }
Line 5166 
Line 5071 
  
         case METHOD_ASSOCIATORPROVIDER:         case METHOD_ASSOCIATORPROVIDER:
         {         {
             jint    jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, resultPath);              jlong   jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, resultPath);
             jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jAssociationNameRef);              jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jAssociationNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jPathNameRef);              jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jPathNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 5186 
Line 5091 
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleReferenceNamesRequest: role               = "<<request->role<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleReferenceNamesRequest: role               = "<<request->role<<PEGASUS_STD(endl));
 #endif #endif
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobjectArray jVec=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,             jobjectArray jVec=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,
                                                                   id,                                                                   id,
                                                                   jAssociationName,                                                                   jAssociationName,
Line 5194 
Line 5101 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             handler.processing();             handler.processing();
             if (jVec) {             if (jVec) {
                 for (int i=0,m=env->CallIntMethod(jVec,JMPIjvm::jv.VectorSize); i<m; i++) {                 for (int i=0,m=env->CallIntMethod(jVec,JMPIjvm::jv.VectorSize); i<m; i++) {
Line 5205 
Line 5110 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint jcopRetRef = env->CallIntMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);                      jlong jcopRetRef = env->CallLongMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     CIMObjectPath *copRet = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jcopRetRef);                      CIMObjectPath *copRet = DEBUG_ConvertJavaToC (jlong, CIMObjectPath*, jcopRetRef);
  
                     handler.deliver(*copRet);                     handler.deliver(*copRet);
                 }                 }
Line 5220 
Line 5125 
  
         case METHOD_ASSOCIATORPROVIDER2:         case METHOD_ASSOCIATORPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
  
             jint    jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, resultPath);              jlong   jAssociationNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, resultPath);
             jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jAssociationNameRef);              jobject jAssociationName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jAssociationNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jPathNameRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jPathNameRef);              jobject jPathName    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jPathNameRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 5243 
Line 5148 
             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleReferenceNamesRequest: role               = "<<request->role<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cerr)<<"--- JMPIProviderManager::handleReferenceNamesRequest: role               = "<<request->role<<PEGASUS_STD(endl));
 #endif #endif
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobjectArray jVec=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,             jobjectArray jVec=(jobjectArray)env->CallObjectMethod((jobject)pr.jProvider,
                                                                   id,                                                                   id,
                                                                   joc,                                                                   joc,
Line 5252 
Line 5159 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             if (joc)             if (joc)
             {             {
                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);
Line 5270 
Line 5175 
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     jint jcopRetRef = env->CallIntMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);                      jlong jcopRetRef = env->CallLongMethod(jcopRet,JMPIjvm::jv.CIMObjectPathCInst);
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     CIMObjectPath *copRet = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jcopRetRef);                      CIMObjectPath *copRet = DEBUG_ConvertJavaToC (jlong, CIMObjectPath*, jcopRetRef);
  
                     handler.deliver(*copRet);                     handler.deliver(*copRet);
                 }                 }
Line 5296 
Line 5201 
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
  
     STAT_COPYDISPATCHER  
   
     return(response);     return(response);
 } }
  
Line 5305 
Line 5208 
 { {
     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleGetPropertyRequest");     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleGetPropertyRequest");
  
     HandlerIntro(GetProperty,message,request,response,handler,CIMValue());      HandlerIntro(GetProperty,message,request,response,handler);
  
     typedef enum {     typedef enum {
        METHOD_UNKNOWN = 0,        METHOD_UNKNOWN = 0,
Line 5354 
Line 5257 
         {         {
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
  
             STAT_COPYDISPATCHER  
   
             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",
                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));
Line 5363 
Line 5264 
  
         JMPIProvider::pm_service_op_lock op_lock(&pr);         JMPIProvider::pm_service_op_lock op_lock(&pr);
  
         STAT_GETSTARTTIME;  
   
         jmethodID id               = NULL;         jmethodID id               = NULL;
         String    interfaceType;         String    interfaceType;
         String    interfaceVersion;         String    interfaceVersion;
Line 5415 
Line 5314 
  
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
  
             STAT_COPYDISPATCHER  
   
             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                            MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",                                            MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",
                                                                "Could not find a method for the provider based on InterfaceType."));                                                                "Could not find a method for the provider based on InterfaceType."));
Line 5428 
Line 5325 
         {         {
         case METHOD_PROPERTYPROVIDER:         case METHOD_PROPERTYPROVIDER:
         {         {
             jint    jcopref = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopref = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef, jv->CIMObjectPathNewI, jcopref);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef, jv->CIMObjectPathNewJ, jcopref);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 5441 
Line 5338 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_GETSTARTTIME;              StatProviderTimeMeasurement providerTime(response);
  
             jobject jvalRet = env->CallObjectMethod ((jobject)pr.jProvider,             jobject jvalRet = env->CallObjectMethod ((jobject)pr.jProvider,
                                                      id,                                                      id,
Line 5451 
Line 5348 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             handler.processing();             handler.processing();
  
             if (jvalRet)             if (jvalRet)
             {             {
                jint      jvalRetRef = env->CallIntMethod(jvalRet,JMPIjvm::jv.CIMValueCInst);                 jlong     jvalRetRef = env->CallLongMethod(jvalRet,JMPIjvm::jv.CIMValueCInst);
                CIMValue *valRet     = DEBUG_ConvertJavaToC (jint, CIMValue*, jvalRetRef);                 CIMValue *valRet     = DEBUG_ConvertJavaToC (jlong, CIMValue*, jvalRetRef);
  
                JMPIjvm::checkException(env);                JMPIjvm::checkException(env);
  
Line 5470 
Line 5365 
  
         case METHOD_PROPERTYPROVIDER2:         case METHOD_PROPERTYPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
  
             jint    jcopref = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopref = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef, jv->CIMObjectPathNewI, jcopref);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef, jv->CIMObjectPathNewJ, jcopref);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 5486 
Line 5381 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_GETSTARTTIME;              StatProviderTimeMeasurement providerTime(response);
  
             jobject jvalRet = env->CallObjectMethod ((jobject)pr.jProvider,             jobject jvalRet = env->CallObjectMethod ((jobject)pr.jProvider,
                                                      id,                                                      id,
Line 5497 
Line 5392 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             if (joc)             if (joc)
             {             {
                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);
Line 5510 
Line 5403 
  
             if (jvalRet)             if (jvalRet)
             {             {
                jint      jvalRetRef = env->CallIntMethod(jvalRet,JMPIjvm::jv.CIMValueCInst);                 jlong     jvalRetRef = env->CallLongMethod(jvalRet,JMPIjvm::jv.CIMValueCInst);
                CIMValue *valRet     = DEBUG_ConvertJavaToC (jint, CIMValue*, jvalRetRef);                 CIMValue *valRet     = DEBUG_ConvertJavaToC (jlong, CIMValue*, jvalRetRef);
  
                JMPIjvm::checkException(env);                JMPIjvm::checkException(env);
  
Line 5534 
Line 5427 
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
  
     STAT_COPYDISPATCHER  
   
     return(response);     return(response);
 } }
  
Line 5543 
Line 5434 
 { {
     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleSetPropertyRequest");     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleSetPropertyRequest");
  
     HandlerIntroVoid(SetProperty,message,request,response,handler);      HandlerIntro(SetProperty,message,request,response,handler);
  
     typedef enum {     typedef enum {
        METHOD_UNKNOWN = 0,        METHOD_UNKNOWN = 0,
Line 5592 
Line 5483 
         {         {
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
  
             STAT_COPYDISPATCHER  
   
             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",
                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));
Line 5601 
Line 5490 
  
         JMPIProvider::pm_service_op_lock op_lock(&pr);         JMPIProvider::pm_service_op_lock op_lock(&pr);
  
         STAT_GETSTARTTIME;  
   
         jmethodID id               = NULL;         jmethodID id               = NULL;
         String    interfaceType;         String    interfaceType;
         String    interfaceVersion;         String    interfaceVersion;
Line 5655 
Line 5542 
  
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
  
             STAT_COPYDISPATCHER  
   
             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                            MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",                                            MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",
                                                                "Could not find a method for the provider based on InterfaceType."));                                                                "Could not find a method for the provider based on InterfaceType."));
Line 5668 
Line 5553 
         {         {
         case METHOD_PROPERTYPROVIDER:         case METHOD_PROPERTYPROVIDER:
         {         {
             jint    jcopref = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopref = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef, jv->CIMObjectPathNewI, jcopref);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef, jv->CIMObjectPathNewJ, jcopref);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 5685 
Line 5570 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jvalref = DEBUG_ConvertCToJava (CIMValue*, jint, val);              jlong   jvalref = DEBUG_ConvertCToJava (CIMValue*, jlong, val);
             jobject jval    = env->NewObject(jv->CIMValueClassRef, jv->CIMValueNewI, jvalref);              jobject jval    = env->NewObject(jv->CIMValueClassRef, jv->CIMValueNewJ, jvalref);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_GETSTARTTIME;              StatProviderTimeMeasurement providerTime(response);
  
             env->CallVoidMethod ((jobject)pr.jProvider,             env->CallVoidMethod ((jobject)pr.jProvider,
                                  id,                                  id,
Line 5700 
Line 5585 
                                  jval);                                  jval);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
   
             STAT_PMS_PROVIDEREND;  
             break;             break;
         }         }
  
         case METHOD_PROPERTYPROVIDER2:         case METHOD_PROPERTYPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
  
             jint    jcopref = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopref = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef, jv->CIMObjectPathNewI, jcopref);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef, jv->CIMObjectPathNewJ, jcopref);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 5727 
Line 5610 
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             jint    jvalref = DEBUG_ConvertCToJava (CIMValue*, jint, val);              jlong   jvalref = DEBUG_ConvertCToJava (CIMValue*, jlong, val);
             jobject jval    = env->NewObject(jv->CIMValueClassRef, jv->CIMValueNewI, jvalref);              jobject jval    = env->NewObject(jv->CIMValueClassRef, jv->CIMValueNewJ, jvalref);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_GETSTARTTIME;              StatProviderTimeMeasurement providerTime(response);
  
             env->CallVoidMethod ((jobject)pr.jProvider,             env->CallVoidMethod ((jobject)pr.jProvider,
                                  id,                                  id,
Line 5750 
Line 5633 
  
                JMPIjvm::checkException(env);                JMPIjvm::checkException(env);
             }             }
   
             STAT_PMS_PROVIDEREND;  
             break;             break;
         }         }
  
Line 5768 
Line 5649 
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
  
     STAT_COPYDISPATCHER  
   
     return(response);     return(response);
 } }
  
Line 5777 
Line 5656 
 { {
     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleInvokeMethodRequest");     PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,"JMPIProviderManager::handleInvokeMethodRequest");
  
     HandlerIntroMethod(InvokeMethod,message,request,response,handler);      HandlerIntro(InvokeMethod,message,request,response,handler);
  
     typedef enum {     typedef enum {
        METHOD_UNKNOWN = 0,        METHOD_UNKNOWN = 0,
Line 5827 
Line 5706 
         {         {
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
  
             STAT_COPYDISPATCHER  
   
             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",
                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));
Line 5836 
Line 5713 
  
         JMPIProvider::pm_service_op_lock op_lock(&pr);         JMPIProvider::pm_service_op_lock op_lock(&pr);
  
         STAT_GETSTARTTIME;  
   
         jmethodID id               = NULL;         jmethodID id               = NULL;
         String    interfaceType;         String    interfaceType;
         String    interfaceVersion;         String    interfaceVersion;
Line 5929 
Line 5804 
  
            PEG_METHOD_EXIT();            PEG_METHOD_EXIT();
  
            STAT_COPYDISPATCHER  
   
            throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,            throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                           MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",                                           MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",
                                                               "Could not find a method for the provider based on InterfaceType."));                                                               "Could not find a method for the provider based on InterfaceType."));
Line 5942 
Line 5815 
         {         {
         case METHOD_CIMMETHODPROVIDER:         case METHOD_CIMMETHODPROVIDER:
         {         {
             jint    jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jcopRef);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jcopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 5957 
Line 5830 
  
             for (Uint32 i=0; i<m; i++) {             for (Uint32 i=0; i<m; i++) {
               CIMParamValue *parm    = new CIMParamValue(request->inParameters[i]);               CIMParamValue *parm    = new CIMParamValue(request->inParameters[i]);
               jint           jArgRef = DEBUG_ConvertCToJava (CIMParamValue*, jint, parm);                jlong          jArgRef = DEBUG_ConvertCToJava (CIMParamValue*, jlong, parm);
               jobject        jArg    = env->NewObject(jv->CIMArgumentClassRef,jv->CIMArgumentNewI,jArgRef);                jobject        jArg    = env->NewObject(jv->CIMArgumentClassRef,jv->CIMArgumentNewJ,jArgRef);
  
               env->SetObjectArrayElement(jArIn,i,jArg);               env->SetObjectArrayElement(jArIn,i,jArg);
             }             }
  
             jobjectArray jArOut=(jobjectArray)env->NewObjectArray(24,jv->CIMArgumentClassRef,NULL);             jobjectArray jArOut=(jobjectArray)env->NewObjectArray(24,jv->CIMArgumentClassRef,NULL);
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobject jValueRet = env->CallObjectMethod((jobject)pr.jProvider,             jobject jValueRet = env->CallObjectMethod((jobject)pr.jProvider,
                                                       id,                                                       id,
                                                       jcop,                                                       jcop,
Line 5973 
Line 5848 
                                                       jArOut);                                                       jArOut);
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             handler.processing();             handler.processing();
  
             jint      jValueRetRef = env->CallIntMethod(jValueRet,JMPIjvm::jv.CIMValueCInst);              jlong     jValueRetRef = env->CallLongMethod(jValueRet,JMPIjvm::jv.CIMValueCInst);
             CIMValue *valueRet     = DEBUG_ConvertJavaToC (jint, CIMValue*, jValueRetRef);              CIMValue *valueRet     = DEBUG_ConvertJavaToC (jlong, CIMValue*, jValueRetRef);
  
             handler.deliver(*valueRet);             handler.deliver(*valueRet);
  
Line 5990 
Line 5863 
                 if (jArg==NULL)                 if (jArg==NULL)
                    break;                    break;
  
                 jint           jpRef = env->CallIntMethod(jArg,JMPIjvm::jv.CIMArgumentCInst);                  jlong          jpRef = env->CallLongMethod(jArg,JMPIjvm::jv.CIMArgumentCInst);
                 CIMParamValue *p     = DEBUG_ConvertJavaToC (jint, CIMParamValue*, jpRef);                  CIMParamValue *p     = DEBUG_ConvertJavaToC (jlong, CIMParamValue*, jpRef);
  
                 JMPIjvm::checkException(env);                 JMPIjvm::checkException(env);
  
Line 6004 
Line 5877 
  
         case METHOD_CIMMETHODPROVIDER2:         case METHOD_CIMMETHODPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
  
             jint    jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jcopRef);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jcopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 6022 
Line 5895 
  
             for (Uint32 i=0; i<m; i++) {             for (Uint32 i=0; i<m; i++) {
               CIMParamValue *parm    = new CIMParamValue(request->inParameters[i]);               CIMParamValue *parm    = new CIMParamValue(request->inParameters[i]);
               jint           jArgRef = DEBUG_ConvertCToJava (CIMParamValue*, jint, parm);                jlong          jArgRef = DEBUG_ConvertCToJava (CIMParamValue*, jlong, parm);
               jobject        jArg    = env->NewObject(jv->CIMArgumentClassRef,jv->CIMArgumentNewI,jArgRef);                jobject        jArg    = env->NewObject(jv->CIMArgumentClassRef,jv->CIMArgumentNewJ,jArgRef);
  
               env->SetObjectArrayElement(jArIn,i,jArg);               env->SetObjectArrayElement(jArIn,i,jArg);
             }             }
  
             jobjectArray jArOut=(jobjectArray)env->NewObjectArray(24,jv->CIMArgumentClassRef,NULL);             jobjectArray jArOut=(jobjectArray)env->NewObjectArray(24,jv->CIMArgumentClassRef,NULL);
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobject jValueRet = env->CallObjectMethod((jobject)pr.jProvider,             jobject jValueRet = env->CallObjectMethod((jobject)pr.jProvider,
                                                       id,                                                       id,
                                                       joc,                                                       joc,
Line 6039 
Line 5914 
                                                       jArOut);                                                       jArOut);
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             if (joc)             if (joc)
             {             {
                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);
Line 6050 
Line 5923 
  
             handler.processing();             handler.processing();
  
             jint      jValueRetRef = env->CallIntMethod(jValueRet,JMPIjvm::jv.CIMValueCInst);              jlong     jValueRetRef = env->CallLongMethod(jValueRet,JMPIjvm::jv.CIMValueCInst);
             CIMValue *valueRet     = DEBUG_ConvertJavaToC (jint, CIMValue*, jValueRetRef);              CIMValue *valueRet     = DEBUG_ConvertJavaToC (jlong, CIMValue*, jValueRetRef);
  
             handler.deliver(*valueRet);             handler.deliver(*valueRet);
  
Line 6063 
Line 5936 
                 if (jArg==NULL)                 if (jArg==NULL)
                    break;                    break;
  
                 jint           jpRef = env->CallIntMethod(jArg,JMPIjvm::jv.CIMArgumentCInst);                  jlong          jpRef = env->CallLongMethod(jArg,JMPIjvm::jv.CIMArgumentCInst);
                 CIMParamValue *p     = DEBUG_ConvertJavaToC (jint, CIMParamValue*, jpRef);                  CIMParamValue *p     = DEBUG_ConvertJavaToC (jlong, CIMParamValue*, jpRef);
  
                 JMPIjvm::checkException(env);                 JMPIjvm::checkException(env);
  
Line 6077 
Line 5950 
  
         case METHOD_METHODPROVIDER:         case METHOD_METHODPROVIDER:
         {         {
             jint    jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jcopRef);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jcopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 6095 
Line 5968 
                 const CIMParamValue &parm  = request->inParameters[i];                 const CIMParamValue &parm  = request->inParameters[i];
                 const CIMValue       v     = parm.getValue();                 const CIMValue       v     = parm.getValue();
                 CIMProperty         *p     = new CIMProperty(parm.getParameterName(),v,v.getArraySize());                 CIMProperty         *p     = new CIMProperty(parm.getParameterName(),v,v.getArraySize());
                 jint                 jpRef = DEBUG_ConvertCToJava (CIMProperty*, jint, p);                  jlong                jpRef = DEBUG_ConvertCToJava (CIMProperty*, jlong, p);
                 jobject              jp    = env->NewObject(jv->CIMPropertyClassRef,jv->CIMPropertyNewI,jpRef);                  jobject              jp    = env->NewObject(jv->CIMPropertyClassRef,jv->CIMPropertyNewJ,jpRef);
  
                 env->CallVoidMethod(jVecIn,jv->VectorAddElement,jp);                 env->CallVoidMethod(jVecIn,jv->VectorAddElement,jp);
              }              }
Line 6104 
Line 5977 
             jobject jVecOut=env->NewObject(jv->VectorClassRef,jv->VectorNew);             jobject jVecOut=env->NewObject(jv->VectorClassRef,jv->VectorNew);
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobject jValueRet = env->CallObjectMethod((jobject)pr.jProvider,             jobject jValueRet = env->CallObjectMethod((jobject)pr.jProvider,
                                                       id,                                                       id,
                                                       jcop,                                                       jcop,
Line 6112 
Line 5987 
                                                       jVecOut);                                                       jVecOut);
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             handler.processing();             handler.processing();
  
             jint      jValueRetRef = env->CallIntMethod(jValueRet,JMPIjvm::jv.CIMValueCInst);              jlong     jValueRetRef = env->CallLongMethod(jValueRet,JMPIjvm::jv.CIMValueCInst);
             CIMValue *valueRet     = DEBUG_ConvertJavaToC (jint, CIMValue*, jValueRetRef);              CIMValue *valueRet     = DEBUG_ConvertJavaToC (jlong, CIMValue*, jValueRetRef);
  
             handler.deliver(*valueRet);             handler.deliver(*valueRet);
  
Line 6129 
Line 6002 
  
                 JMPIjvm::checkException(env);                 JMPIjvm::checkException(env);
  
                 jint         jpRef = env->CallIntMethod(jProp,JMPIjvm::jv.CIMPropertyCInst);                  jlong        jpRef = env->CallLongMethod(jProp,JMPIjvm::jv.CIMPropertyCInst);
                 CIMProperty *p     = DEBUG_ConvertJavaToC (jint, CIMProperty*, jpRef);                  CIMProperty *p     = DEBUG_ConvertJavaToC (jlong, CIMProperty*, jpRef);
  
                 JMPIjvm::checkException(env);                 JMPIjvm::checkException(env);
  
Line 6143 
Line 6016 
  
         case METHOD_METHODPROVIDER2:         case METHOD_METHODPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
  
             jint    jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, objectPath);              jlong   jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, objectPath);
             jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jcopRef);              jobject jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jcopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 6164 
Line 6037 
                 const CIMParamValue &parm  = request->inParameters[i];                 const CIMParamValue &parm  = request->inParameters[i];
                 const CIMValue       v     = parm.getValue();                 const CIMValue       v     = parm.getValue();
                 CIMProperty         *p     = new CIMProperty(parm.getParameterName(),v,v.getArraySize());                 CIMProperty         *p     = new CIMProperty(parm.getParameterName(),v,v.getArraySize());
                 jint                 jpRef = DEBUG_ConvertCToJava (CIMProperty*, jint, p);                  jlong                jpRef = DEBUG_ConvertCToJava (CIMProperty*, jlong, p);
                 jobject              jp    = env->NewObject(jv->CIMPropertyClassRef,jv->CIMPropertyNewI,jpRef);                  jobject              jp    = env->NewObject(jv->CIMPropertyClassRef,jv->CIMPropertyNewJ,jpRef);
  
                 env->CallVoidMethod(jVecIn,jv->VectorAddElement,jp);                 env->CallVoidMethod(jVecIn,jv->VectorAddElement,jp);
              }              }
Line 6173 
Line 6046 
             jobject jVecOut=env->NewObject(jv->VectorClassRef,jv->VectorNew);             jobject jVecOut=env->NewObject(jv->VectorClassRef,jv->VectorNew);
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
               StatProviderTimeMeasurement providerTime(response);
   
             jobject jValueRet = env->CallObjectMethod((jobject)pr.jProvider,             jobject jValueRet = env->CallObjectMethod((jobject)pr.jProvider,
                                                       id,                                                       id,
                                                       joc,                                                       joc,
Line 6182 
Line 6057 
                                                       jVecOut);                                                       jVecOut);
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
             STAT_PMS_PROVIDEREND;  
   
             if (joc)             if (joc)
             {             {
                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);                env->CallVoidMethod (joc, JMPIjvm::jv.OperationContextUnassociate);
Line 6193 
Line 6066 
  
             handler.processing();             handler.processing();
  
             jint      jValueRetRef = env->CallIntMethod(jValueRet,JMPIjvm::jv.CIMValueCInst);              jlong     jValueRetRef = env->CallLongMethod(jValueRet,JMPIjvm::jv.CIMValueCInst);
             CIMValue *valueRet     = DEBUG_ConvertJavaToC (jint, CIMValue*, jValueRetRef);              CIMValue *valueRet     = DEBUG_ConvertJavaToC (jlong, CIMValue*, jValueRetRef);
  
             handler.deliver(*valueRet);             handler.deliver(*valueRet);
  
Line 6206 
Line 6079 
  
                 JMPIjvm::checkException(env);                 JMPIjvm::checkException(env);
  
                 jint         jpRef = env->CallIntMethod(jProp,JMPIjvm::jv.CIMPropertyCInst);                  jlong        jpRef = env->CallLongMethod(jProp,JMPIjvm::jv.CIMPropertyCInst);
                 CIMProperty *p     = DEBUG_ConvertJavaToC (jint, CIMProperty*, jpRef);                  CIMProperty *p     = DEBUG_ConvertJavaToC (jlong, CIMProperty*, jpRef);
  
                 JMPIjvm::checkException(env);                 JMPIjvm::checkException(env);
  
Line 6231 
Line 6104 
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
  
     STAT_COPYDISPATCHER  
   
     return(response);     return(response);
 } }
  
Line 6247 
Line 6118 
     return 0;     return 0;
 } }
  
 CMPI_SelectExp *  WQLSelectStatement *
 newSelectExp (CIMOMHandleQueryContext *qContext,  newSelectExp (String& query,
               OperationContext        *ctx,                String& queryLanguage)
               String&                  query,  
               String&                  queryLanguage,  
               CIMNamespaceName&        nameSpace,  
               Array<CIMName>&          classNames,  
               CIMPropertyList&         propertyList)  
 { {
    CMPI_SelectExp *eSelx = NULL;     WQLSelectStatement *stmt = new WQLSelectStatement (queryLanguage, query);
   
    eSelx = new CMPI_SelectExp (*ctx,  
                                qContext,  
                                query,  
                                queryLanguage);  
  
    if (!eSelx)     try
    {    {
       return eSelx;        WQLParser::parse (query, *stmt);
    }    }
      catch (const Exception &e)
    for (Uint32 i = 0, n = classNames.size (); i < n; i++)  
    {    {
        CIMObjectPath className (System::getHostName(),        cerr << "Error: newSelectExp caught: " << e.getMessage () << endl;
                                 nameSpace,  
                                 classNames[i]);  
   
        eSelx->classNames.append (className);  
    }  
   
    if (!propertyList.isNull ())  
    {  
       Array<CIMName> p      = propertyList.getPropertyNameArray ();  
       int            pCount = p.size ();  
   
       eSelx->props = (const char**)malloc ((1 + pCount) * sizeof (char*));  
   
       for (int i = 0; i < pCount; i++)  
       {  
          eSelx->props[i] = strdup (p[i].getString ().getCString ());  
       }  
   
       eSelx->props[pCount] = NULL;  
    }    }
  
    return eSelx;     return stmt;
 } }
  
 Message * JMPIProviderManager::handleCreateSubscriptionRequest(const Message * message) throw() Message * JMPIProviderManager::handleCreateSubscriptionRequest(const Message * message) throw()
Line 6416 
Line 6257 
  
            CIMOMHandleQueryContext *qContext = new CIMOMHandleQueryContext (CIMNamespaceName (request->nameSpace.getString ()),            CIMOMHandleQueryContext *qContext = new CIMOMHandleQueryContext (CIMNamespaceName (request->nameSpace.getString ()),
                                                                             *pr._cimom_handle);                                                                             *pr._cimom_handle);
            CMPI_SelectExp          *eSelx    = newSelectExp (qContext,  
                                                              prec->ctx,  
                                                              srec->query,  
                                                              srec->queryLanguage,  
                                                              request->nameSpace,  
                                                              request->classNames,  
                                                              srec->propertyList);  
   
            srec->eSelx    = eSelx;  
            srec->qContext = qContext;            srec->qContext = qContext;
  
            CIMObjectPath sPath (request->subscriptionInstance.getPath ().getClassName ().getString ());             CIMObjectPath        sPath = request->subscriptionInstance.getPath ();
              Array<CIMKeyBinding> kb;
   
              // Technically we only need Name and Handler for uniqueness
              kb = sPath.getKeyBindings ();
   
              // Add an entry for every provider.
              kb.append (CIMKeyBinding ("Provider",
                                        pr.getName (),
                                        CIMKeyBinding::STRING));
  
            sPath.setNameSpace (request->subscriptionInstance.getPath ().getNameSpace ());             sPath.setKeyBindings (kb);
  
            AutoMutex lock (mutexSelxTab);            AutoMutex lock (mutexSelxTab);
  
Line 6437 
Line 6278 
  
            selxTab.insert (sPath.toString (), srec);            selxTab.insert (sPath.toString (), srec);
  
            DDD(PEGASUS_STD(cout)<<"--- JMPIProviderManager::handleCreateSubscriptionRequest: For selxTab "<<sPath.toString ()<<", srec = "<<PEGASUS_STD(hex)<<(int)srec<<PEGASUS_STD(dec)<<", eSelx = "<<PEGASUS_STD(hex)<<(int)eSelx<<PEGASUS_STD(dec)<<", qContext = "<<PEGASUS_STD(hex)<<(int)qContext<<PEGASUS_STD(dec)<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cout)<<"--- JMPIProviderManager::handleCreateSubscriptionRequest: For selxTab "<<sPath.toString ()<<", srec = "<<PEGASUS_STD(hex)<<(long)srec<<PEGASUS_STD(dec)<<", qContext = "<<PEGASUS_STD(hex)<<(long)qContext<<PEGASUS_STD(dec)<<PEGASUS_STD(endl));
         }         }
  
         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, "Calling provider.createSubscriptionRequest: " + pr.getName());         PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, "Calling provider.createSubscriptionRequest: " + pr.getName());
Line 6452 
Line 6293 
         {         {
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
  
             STAT_COPYDISPATCHER  
   
             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",
                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));
Line 6461 
Line 6300 
  
         JMPIProvider::pm_service_op_lock op_lock(&pr);         JMPIProvider::pm_service_op_lock op_lock(&pr);
  
         STAT_GETSTARTTIME;  
   
         jmethodID id               = NULL;         jmethodID id               = NULL;
         String    interfaceType;         String    interfaceType;
         String    interfaceVersion;         String    interfaceVersion;
Line 6513 
Line 6350 
  
            PEG_METHOD_EXIT();            PEG_METHOD_EXIT();
  
            STAT_COPYDISPATCHER  
   
            throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,            throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                           MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",                                           MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",
                                                               "Could not find a method for the provider based on InterfaceType."));                                                               "Could not find a method for the provider based on InterfaceType."));
Line 6526 
Line 6361 
         {         {
         case METHOD_EVENTPROVIDER:         case METHOD_EVENTPROVIDER:
         {         {
             CMPI_SelectExp *eSelx     = newSelectExp (srec->qContext,              WQLSelectStatement *stmt       = newSelectExp (srec->query,
                                                       prec->ctx,                                                             srec->queryLanguage);
                                                       srec->query,              jlong               jStmtRef   = DEBUG_ConvertCToJava (WQLSelectStatement *, jlong, stmt);
                                                       srec->queryLanguage,              jobject             jSelectExp = env->NewObject(jv->SelectExpClassRef,jv->SelectExpNewJ,jStmtRef);
                                                       request->nameSpace,  
                                                       request->classNames,  
                                                       srec->propertyList);  
             jint            jEselxRef = DEBUG_ConvertCToJava (CMPI_SelectExp*, jint, eSelx);  
             jobject         jEselx    = env->NewObject(jv->SelectExpClassRef,jv->SelectExpNewI,jEselxRef);  
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 6545 
Line 6375 
             CIMObjectPath *cop     = new CIMObjectPath (System::getHostName(),             CIMObjectPath *cop     = new CIMObjectPath (System::getHostName(),
                                                         request->nameSpace,                                                         request->nameSpace,
                                                         request->classNames[0]);                                                         request->classNames[0]);
             jint           jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, cop);              jlong          jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, cop);
             jobject        jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jcopRef);              jobject        jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jcopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
               StatProviderTimeMeasurement providerTime(response);
   
             env->CallVoidMethod ((jobject)pr.jProvider,             env->CallVoidMethod ((jobject)pr.jProvider,
                                  id,                                  id,
                                  jEselx,                                   jSelectExp,
                                  jType,                                  jType,
                                  jcop,                                  jcop,
                                  (jboolean)fNewPrec);                                  (jboolean)fNewPrec);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
   
             STAT_PMS_PROVIDEREND;  
             break;             break;
         }         }
  
         case METHOD_EVENTPROVIDER2:         case METHOD_EVENTPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
  
             CMPI_SelectExp *eSelx     = newSelectExp (srec->qContext,              WQLSelectStatement *stmt       = newSelectExp (srec->query,
                                                       prec->ctx,                                                             srec->queryLanguage);
                                                       srec->query,              jlong               jStmtRef   = DEBUG_ConvertCToJava (WQLSelectStatement *, jlong, stmt);
                                                       srec->queryLanguage,              jobject             jSelectExp = env->NewObject(jv->SelectExpClassRef,jv->SelectExpNewJ,jStmtRef);
                                                       request->nameSpace,  
                                                       request->classNames,  
                                                       srec->propertyList);  
             jint            jEselxRef = DEBUG_ConvertCToJava (CMPI_SelectExp*, jint, eSelx);  
             jobject         jEselx    = env->NewObject(jv->SelectExpClassRef,jv->SelectExpNewI,jEselxRef);  
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 6587 
Line 6412 
             CIMObjectPath *cop     = new CIMObjectPath (System::getHostName(),             CIMObjectPath *cop     = new CIMObjectPath (System::getHostName(),
                                                         request->nameSpace,                                                         request->nameSpace,
                                                         request->classNames[0]);                                                         request->classNames[0]);
             jint           jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, cop);              jlong          jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, cop);
             jobject        jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jcopRef);              jobject        jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jcopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
               StatProviderTimeMeasurement providerTime(response);
   
             env->CallVoidMethod ((jobject)pr.jProvider,             env->CallVoidMethod ((jobject)pr.jProvider,
                                  id,                                  id,
                                  joc,                                  joc,
                                  jEselx,                                   jSelectExp,
                                  jType,                                  jType,
                                  jcop,                                  jcop,
                                  (jboolean)fNewPrec);                                  (jboolean)fNewPrec);
Line 6608 
Line 6435 
  
                JMPIjvm::checkException(env);                JMPIjvm::checkException(env);
             }             }
   
             STAT_PMS_PROVIDEREND;  
             break;             break;
         }         }
  
Line 6709 
Line 6534 
         }         }
  
         {         {
            CIMObjectPath sPath (request->subscriptionInstance.getPath ().getClassName ().getString ());             CIMObjectPath        sPath = request->subscriptionInstance.getPath ();
              Array<CIMKeyBinding> kb;
   
              // Technically we only need Name and Handler for uniqueness
              kb = sPath.getKeyBindings ();
  
            sPath.setNameSpace (request->subscriptionInstance.getPath ().getNameSpace ());             // Add an entry for every provider.
              kb.append (CIMKeyBinding ("Provider",
                                        pr.getName (),
                                        CIMKeyBinding::STRING));
   
              sPath.setKeyBindings (kb);
  
            String sPathString = sPath.toString ();            String sPathString = sPath.toString ();
  
Line 6719 
Line 6553 
  
            DDD(PEGASUS_STD(cout)<<"--- JMPIProviderManager::handleDeleteSubscriptionRequest: Removing selxTab "<<sPathString<<PEGASUS_STD(endl));            DDD(PEGASUS_STD(cout)<<"--- JMPIProviderManager::handleDeleteSubscriptionRequest: Removing selxTab "<<sPathString<<PEGASUS_STD(endl));
  
            selxTab.lookup (sPathString, srec);             if (!selxTab.lookup (sPathString, srec))
              {
                  PEGASUS_ASSERT(0);
              }
  
            DDD(PEGASUS_STD(cout)<<"--- JMPIProviderManager::handleDeleteSubscriptionRequest: For selxTab "<<sPathString<<", srec = "<<PEGASUS_STD(hex)<<(int)srec<<PEGASUS_STD(dec)<<", eSelx = "<<PEGASUS_STD(hex)<<(int)srec->eSelx<<PEGASUS_STD(dec)<<", qContext = "<<PEGASUS_STD(hex)<<(int)srec->qContext<<PEGASUS_STD(dec)<<PEGASUS_STD(endl));             DDD(PEGASUS_STD(cout)<<"--- JMPIProviderManager::handleDeleteSubscriptionRequest: For selxTab "<<sPathString<<", srec = "<<PEGASUS_STD(hex)<<(long)srec<<PEGASUS_STD(dec)<<", qContext = "<<PEGASUS_STD(hex)<<(long)srec->qContext<<PEGASUS_STD(dec)<<PEGASUS_STD(endl));
  
            selxTab.remove (sPathString);            selxTab.remove (sPathString);
         }         }
Line 6738 
Line 6575 
         {         {
             PEG_METHOD_EXIT();             PEG_METHOD_EXIT();
  
             STAT_COPYDISPATCHER  
   
             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,             throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",                                            MessageLoaderParms("ProviderManager.JMPI.INIT_JVM_FAILED",
                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));                                                               "Could not initialize the JVM (Java Virtual Machine) runtime environment."));
Line 6747 
Line 6582 
  
         JMPIProvider::pm_service_op_lock op_lock(&pr);         JMPIProvider::pm_service_op_lock op_lock(&pr);
  
         STAT_GETSTARTTIME;  
   
         jmethodID id               = NULL;         jmethodID id               = NULL;
         String    interfaceType;         String    interfaceType;
         String    interfaceVersion;         String    interfaceVersion;
Line 6799 
Line 6632 
  
            PEG_METHOD_EXIT();            PEG_METHOD_EXIT();
  
            STAT_COPYDISPATCHER  
   
            throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,            throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_FAILED,
                                           MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",                                           MessageLoaderParms ("ProviderManager.JMPI.METHOD_NOT_FOUND",
                                                               "Could not find a method for the provider based on InterfaceType."));                                                               "Could not find a method for the provider based on InterfaceType."));
Line 6812 
Line 6643 
         {         {
         case METHOD_EVENTPROVIDER:         case METHOD_EVENTPROVIDER:
         {         {
             CMPI_SelectExp *eSelx     = newSelectExp (srec->qContext,              WQLSelectStatement *stmt       = newSelectExp (srec->query,
                                                       prec->ctx,                                                             srec->queryLanguage);
                                                       srec->query,              jlong               jStmtRef   = DEBUG_ConvertCToJava (WQLSelectStatement *, jlong, stmt);
                                                       srec->queryLanguage,              jobject             jSelectExp = env->NewObject(jv->SelectExpClassRef,jv->SelectExpNewJ,jStmtRef);
                                                       request->nameSpace,  
                                                       request->classNames,  
                                                       srec->propertyList);  
             jint            jEselxRef = DEBUG_ConvertCToJava (CMPI_SelectExp*, jint, eSelx);  
             jobject         jEselx    = env->NewObject(jv->SelectExpClassRef,jv->SelectExpNewI,jEselxRef);  
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 6831 
Line 6657 
             CIMObjectPath *cop     = new CIMObjectPath (System::getHostName(),             CIMObjectPath *cop     = new CIMObjectPath (System::getHostName(),
                                                         request->nameSpace,                                                         request->nameSpace,
                                                         request->classNames[0]);                                                         request->classNames[0]);
             jint           jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, cop);              jlong          jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, cop);
             jobject        jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jcopRef);              jobject        jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jcopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
               StatProviderTimeMeasurement providerTime(response);
   
             env->CallVoidMethod ((jobject)pr.jProvider,             env->CallVoidMethod ((jobject)pr.jProvider,
                                  id,                                  id,
                                  jEselx,                                   jSelectExp,
                                  jType,                                  jType,
                                  jcop,                                  jcop,
                                  (jboolean)fFreePrec);                                  (jboolean)fFreePrec);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
   
             STAT_PMS_PROVIDEREND;  
             break;             break;
         }         }
  
         case METHOD_EVENTPROVIDER2:         case METHOD_EVENTPROVIDER2:
         {         {
             jint    jocRef = DEBUG_ConvertCToJava (OperationContext*, jint, &request->operationContext);              jlong   jocRef = DEBUG_ConvertCToJava (OperationContext*, jlong, &request->operationContext);
             jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewI,jocRef);              jobject joc    = env->NewObject(jv->OperationContextClassRef,jv->OperationContextNewJ,jocRef);
  
             CMPI_SelectExp *eSelx     = newSelectExp (srec->qContext,              WQLSelectStatement *stmt       = newSelectExp (srec->query,
                                                       prec->ctx,                                                             srec->queryLanguage);
                                                       srec->query,              jlong               jStmtRef   = DEBUG_ConvertCToJava (WQLSelectStatement *, jlong, stmt);
                                                       srec->queryLanguage,              jobject             jSelectExp = env->NewObject(jv->SelectExpClassRef,jv->SelectExpNewJ,jStmtRef);
                                                       request->nameSpace,  
                                                       request->classNames,  
                                                       srec->propertyList);  
             jint            jEselxRef = DEBUG_ConvertCToJava (CMPI_SelectExp*, jint, eSelx);  
             jobject         jEselx    = env->NewObject(jv->SelectExpClassRef,jv->SelectExpNewI,jEselxRef);  
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
Line 6873 
Line 6694 
             CIMObjectPath *cop     = new CIMObjectPath (System::getHostName(),             CIMObjectPath *cop     = new CIMObjectPath (System::getHostName(),
                                                         request->nameSpace,                                                         request->nameSpace,
                                                         request->classNames[0]);                                                         request->classNames[0]);
             jint           jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jint, cop);              jlong          jcopRef = DEBUG_ConvertCToJava (CIMObjectPath*, jlong, cop);
             jobject        jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewI,jcopRef);              jobject        jcop    = env->NewObject(jv->CIMObjectPathClassRef,jv->CIMObjectPathNewJ,jcopRef);
  
             JMPIjvm::checkException(env);             JMPIjvm::checkException(env);
  
               StatProviderTimeMeasurement providerTime(response);
   
             env->CallVoidMethod ((jobject)pr.jProvider,             env->CallVoidMethod ((jobject)pr.jProvider,
                                  id,                                  id,
                                  joc,                                  joc,
                                  jEselx,                                   jSelectExp,
                                  jType,                                  jType,
                                  jcop,                                  jcop,
                                  (jboolean)fFreePrec);                                  (jboolean)fFreePrec);
Line 6894 
Line 6717 
  
                JMPIjvm::checkException(env);                JMPIjvm::checkException(env);
             }             }
   
             STAT_PMS_PROVIDEREND;  
             break;             break;
         }         }
  
Line 6915 
Line 6736 
  
     if (srec)     if (srec)
     {     {
        if (  srec->eSelx  
           && srec->eSelx->props  
           )  
        {  
           const char **props = srec->eSelx->props;  
   
           while (*props)  
           {  
              const char *prop = *props;  
   
              props++;  
   
              if (prop)  
              {  
                 free ((void *)prop);  
              }  
           }  
   
           free ((void *)srec->eSelx->props);  
        }  
        delete srec->eSelx;  
        delete srec->qContext;        delete srec->qContext;
     }     }
     delete srec;     delete srec;
Line 6951 
Line 6751 
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
  
     STAT_COPYDISPATCHER  
   
     return(response);     return(response);
 } }
  
Line 6995 
Line 6793 
  
     PEGASUS_ASSERT(response != 0);     PEGASUS_ASSERT(response != 0);
  
     // preserve message key  
     response->setKey(request->getKey());  
   
     //     //
     //  Set HTTP method in response from request     //  Set HTTP method in response from request
     //     //
Line 7029 
Line 6824 
  
     PEGASUS_ASSERT(response != 0);     PEGASUS_ASSERT(response != 0);
  
     // preserve message key  
     response->setKey(request->getKey());  
   
     //  Set HTTP method in response from request     //  Set HTTP method in response from request
     response->setHttpMethod (request->getHttpMethod ());     response->setHttpMethod (request->getHttpMethod ());
  
Line 7057 
Line 6849 
  
     PEGASUS_ASSERT(response != 0);     PEGASUS_ASSERT(response != 0);
  
     // preserve message key  
     response->setKey(request->getKey());  
   
     //  Set HTTP method in response from request     //  Set HTTP method in response from request
     response->setHttpMethod (request->getHttpMethod ());     response->setHttpMethod (request->getHttpMethod ());
  
Line 7166 
Line 6955 
         }         }
         catch(...)         catch(...)
         {         {
             PEG_TRACE_STRING (TRC_PROVIDERMANAGER, Tracer::LEVEL2,              PEG_TRACE_CSTRING (TRC_PROVIDERMANAGER, Tracer::LEVEL2,
                 "Unknown error in handleSubscriptionInitCompleteRequest");                 "Unknown error in handleSubscriptionInitCompleteRequest");
         }         }
     }     }
Line 7197 
Line 6986 
 { {
     String providerName;     String providerName;
     String fileName;     String fileName;
     String interfaceName;      String moduleName;
     CIMValue genericValue;     CIMValue genericValue;
  
       genericValue = providerId.getModule().getProperty(
           providerId.getModule().findProperty("Name")).getValue();
       genericValue.get(moduleName);
   
     genericValue = providerId.getProvider().getProperty(     genericValue = providerId.getProvider().getProperty(
         providerId.getProvider().findProperty("Name")).getValue();         providerId.getProvider().findProperty("Name")).getValue();
     genericValue.get(providerName);     genericValue.get(providerName);
Line 7209 
Line 7002 
     genericValue.get(fileName);     genericValue.get(fileName);
     fileName = resolveFileName(fileName);     fileName = resolveFileName(fileName);
  
     // ATTN: This attribute is probably not required      return ProviderName(moduleName, providerName, fileName);
     genericValue = providerId.getModule().getProperty(  
         providerId.getModule().findProperty("InterfaceType")).getValue();  
     genericValue.get(interfaceName);  
   
     return ProviderName(providerName, fileName, interfaceName, 0);  
 } }
  
 String JMPIProviderManager::resolveFileName(String fileName) String JMPIProviderManager::resolveFileName(String fileName)
 { {
     String name;      String name = ConfigManager::getHomedPath(ConfigManager::getInstance()->getCurrentValue("providerDir"));
     #if defined(PEGASUS_OS_TYPE_WINDOWS)      // physfilename = everything up to the delimiter pointing at class start
     name = fileName; // + String(".dll");      // in case there is no delimiter anymore, it takes the entire filename
     #elif defined(PEGASUS_OS_HPUX) && defined(PEGASUS_PLATFORM_HPUX_PARISC_ACC)      String physfilename = fileName.subString(0, fileName.find(":"));
     name = ConfigManager::getHomedPath(ConfigManager::getInstance()->getCurrentValue("providerDir"));      // look in all(multiple) homed pathes for the physical file
     name.append(String("/") + fileName); // + String(".sl"));      name = FileSystem::getAbsoluteFileName(name, physfilename);
     #elif defined(PEGASUS_OS_HPUX) && !defined(PEGASUS_PLATFORM_HPUX_PARISC_ACC)      // construct back the fully specified jar:<classname> provider name
     name = ConfigManager::getHomedPath(ConfigManager::getInstance()->getCurrentValue("providerDir"));      name = FileSystem::extractFilePath(name) + fileName;
     name.append(String("/") + fileName); // + String(".so"));  
     #elif defined(PEGASUS_OS_OS400)  
     name = filrName;  
     #else  
     name = ConfigManager::getHomedPath(ConfigManager::getInstance()->getCurrentValue("providerDir"));  
     name.append(String("/") + fileName); // + String(".so"));  
     #endif  
     return name;     return name;
 } }
  


Legend:
Removed from v.1.45  
changed lines
  Added in v.1.65

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2