(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.70 and 1.80

version 1.70, 2008/03/18 15:32:50 version 1.80, 2009/12/15 11:39:40
Line 1 
Line 1 
 //%2006////////////////////////////////////////////////////////////////////////  //%LICENSE////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development  // Licensed to The Open Group (TOG) under one or more contributor license
 // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.  // agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
 // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;  // this work for additional information regarding copyright ownership.
 // IBM Corp.; EMC Corporation, The Open Group.  // Each contributor licenses this file to you under the OpenPegasus Open
 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;  // Source License; you may not use this file except in compliance with the
 // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.  // License.
 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;  
 // EMC Corporation; VERITAS Software Corporation; The Open Group.  
 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;  
 // EMC Corporation; Symantec Corporation; The Open Group.  
 // //
 // Permission is hereby granted, free of charge, to any person obtaining a copy  // Permission is hereby granted, free of charge, to any person obtaining a
 // of this software and associated documentation files (the "Software"), to  // copy of this software and associated documentation files (the "Software"),
 // deal in the Software without restriction, including without limitation the  // to deal in the Software without restriction, including without limitation
 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or  // the rights to use, copy, modify, merge, publish, distribute, sublicense,
 // sell copies of the Software, and to permit persons to whom the Software is  // and/or sell copies of the Software, and to permit persons to whom the
 // furnished to do so, subject to the following conditions:  // Software is furnished to do so, subject to the following conditions:
 // //
 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN  // The above copyright notice and this permission notice shall be included
 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED  // in all copies or substantial portions of the Software.
 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT  
 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR  
 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT  
 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN  
 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION  
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  
 // //
 //==============================================================================  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
   // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
   // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
   // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
   // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
   // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
   // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
   //
   //////////////////////////////////////////////////////////////////////////
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
 #include "JMPIProviderManager.h" #include "JMPIProviderManager.h"
Line 64 
Line 62 
  
 #include "Convert.h" #include "Convert.h"
  
   
   //
   //  The following tests were added to allow the provider to supply a
   //  CIMObjectPath in the response.  Before this, the path was always
   //  rebuild by the response functions from the instance.  This resulted
   //  in cases where the key properties were not in the returned instance
   //  (ex. excluded by the property list) so that the path could not be built.
   //  The preferred behavior is for the provider to build the path on response.
   //  However, to cover existing providers the alternate of allowing the
   //  ProviderManager has been kept if the path in the instance is not considered
   //  to exist.
   //  PLEASE: provider writers build/set a proper path into returned objects
   //  See bug 8062
   
   /*
       local function to implement the CIMObjectPath required for a response
       object.
       If there is a path defined in the instance, we simply return this path.
       If not, we use the class to build a path from the instance.
       Note that we are depending on some value in the keybindings to determine
       if we have a path.
   */
   
   void _fixCIMObjectPath(CIMInstance* instance, CIMClass& cls)
   {
       CIMObjectPath op = instance->getPath();
       const Array<CIMKeyBinding> kb = op.getKeyBindings();
       if (kb.size() == 0)
       {
           CIMObjectPath iop = instance->buildPath(cls);
           /* Fix for 4237*/
           iop.setNameSpace(op.getNameSpace());
           instance->setPath(iop);
       }
   }
   
 void JMPIProviderManager::debugPrintMethodPointers (JNIEnv *env, jclass jc) void JMPIProviderManager::debugPrintMethodPointers (JNIEnv *env, jclass jc)
 { {
    PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,    PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,
Line 237 
Line 271 
    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]);
       PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL3,        PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL4,
           "Method: %s, %s, id = %p",           "Method: %s, %s, id = %p",
           methodNames[i][0],methodNames[i][1],id));           methodNames[i][0],methodNames[i][1],id));
  
Line 300 
Line 334 
                                             jmidToString);                                             jmidToString);
             const char *pszResult = env->GetStringUTFChars(jstringResult, 0);             const char *pszResult = env->GetStringUTFChars(jstringResult, 0);
  
             PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL3,              PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL4,
                 "Introspect java object: %s",pszResult));                 "Introspect java object: %s",pszResult));
  
             env->ReleaseStringUTFChars (jstringResult, pszResult);             env->ReleaseStringUTFChars (jstringResult, pszResult);
Line 400 
Line 434 
    }    }
    else    else
    {    {
       PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL3,        PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL2,
           "inferfaceType not found.");           "inferfaceType not found.");
       fRet = false;       fRet = false;
    }    }
Line 420 
Line 454 
    }    }
    else    else
    {    {
       PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL3,        PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL2,
           "inferfaceVersion not found.");           "inferfaceVersion not found.");
       fRet = false;       fRet = false;
    }    }
Line 619 
Line 653 
         response = handleSubscriptionInitCompleteRequest (request);         response = handleSubscriptionInitCompleteRequest (request);
         break;         break;
  
       case CIM_INDICATION_SERVICE_DISABLED_REQUEST_MESSAGE:
           response = handleIndicationServiceDisabledRequest (request);
           break;
   
     default:     default:
         PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL2,          PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                    "Unsupported Request %d",                    "Unsupported Request %d",
                    request->getType()                    request->getType()
                   ));                   ));
Line 675 
Line 713 
  
 #define HandlerCatch(handler) \ #define HandlerCatch(handler) \
     catch(CIMException & e)  \     catch(CIMException & e)  \
     { PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, \      {   PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL1,"CIMException: %s", \
                 "Exception: " + e.getMessage()); \              (const char*)e.getMessage().getCString())); \
         handler.setStatus(e.getCode(), e.getContentLanguages(), \         handler.setStatus(e.getCode(), e.getContentLanguages(), \
         e.getMessage()); \         e.getMessage()); \
     } \     } \
     catch(Exception & e) \     catch(Exception & e) \
     { PEG_TRACE_STRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, \      {   PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL1,"Exception: %s", \
                 "Exception: " + e.getMessage()); \              (const char*)e.getMessage().getCString())); \
         handler.setStatus(CIM_ERR_FAILED, e.getContentLanguages(), \         handler.setStatus(CIM_ERR_FAILED, e.getContentLanguages(), \
         e.getMessage()); \         e.getMessage()); \
     } \     } \
     catch(...) \     catch(...) \
     { PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4, \      { PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL1, \
                 "Exception: Unknown"); \                 "Exception: Unknown"); \
         handler.setStatus(CIM_ERR_FAILED, "Unknown error."); \         handler.setStatus(CIM_ERR_FAILED, "Unknown error."); \
     }     }
  
 static jobjectArray getList(JvmVector *jv, JNIEnv *env, CIMPropertyList &list) static jobjectArray getList(JvmVector *jv, JNIEnv *env, CIMPropertyList &list)
 { {
     Uint32 s=list.size();  
     jobjectArray pl=NULL;     jobjectArray pl=NULL;
     if (s) {      if (!list.isNull())
       {
           Uint32 s=list.size();
        jstring initial=env->NewString(NULL,0);        jstring initial=env->NewString(NULL,0);
        pl=(jobjectArray)env->NewObjectArray(s,jv->StringClassRef,initial);        pl=(jobjectArray)env->NewObjectArray(s,jv->StringClassRef,initial);
        for (Uint32 i=0; i<s; i++) {          for (Uint32 i=0; i<s; i++)
           {
            env->SetObjectArrayElement            env->SetObjectArrayElement
               (pl,i,env->NewStringUTF(list[i].getString().getCString()));               (pl,i,env->NewStringUTF(list[i].getString().getCString()));
        }        }
Line 727 
Line 767 
  
     try     try
     {     {
         PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL3,          PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL4,
              "handleGetInstanceRequest: "              "handleGetInstanceRequest: "
                  "name space = %s class name = %s",                  "name space = %s class name = %s",
              (const char*)request->nameSpace.getString().getCString(),              (const char*)request->nameSpace.getString().getCString(),
Line 772 
Line 812 
  
         if (!env)         if (!env)
         {         {
             PEG_TRACE_CSTRING( TRC_PROVIDERMANAGER, Tracer::LEVEL2,              PEG_TRACE_CSTRING( TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                 "handleGetInstanceRequest:"                 "handleGetInstanceRequest:"
                     "Could not initialize the JVM (Java Virtual Machine) "                     "Could not initialize the JVM (Java Virtual Machine) "
                     "runtime environment.");                     "runtime environment.");
Line 810 
Line 850 
            if (id != NULL)            if (id != NULL)
            {            {
                eMethodFound = METHOD_INSTANCEPROVIDER;                eMethodFound = METHOD_INSTANCEPROVIDER;
                PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,                 PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                    "handleGetInstanceRequest: "                    "handleGetInstanceRequest: "
                        "Found METHOD_INSTANCEPROVIDER.");                        "Found METHOD_INSTANCEPROVIDER.");
            }            }
Line 829 
Line 869 
                if (id != NULL)                if (id != NULL)
                {                {
                    eMethodFound = METHOD_CIMINSTANCEPROVIDER;                    eMethodFound = METHOD_CIMINSTANCEPROVIDER;
                    PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL4,                     PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                        "handleGetInstanceRequest: "                        "handleGetInstanceRequest: "
                            "Found METHOD_CIMINSTANCEPROVIDER.");                            "Found METHOD_CIMINSTANCEPROVIDER.");
                }                }
Line 857 
Line 897 
  
         if (id == NULL)         if (id == NULL)
         {         {
            PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL2,             PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                "handleGetInstanceRequest: No method provider found!");                "handleGetInstanceRequest: No method provider found!");
  
            PEG_METHOD_EXIT();            PEG_METHOD_EXIT();
Line 917 
Line 957 
             }             }
             catch (CIMException e)             catch (CIMException e)
             {             {
                PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL2,                 PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                    "handleGetInstanceRequest: "                    "handleGetInstanceRequest: "
                    "Caught CIMExcetion(METHOD_CIMINSTANCEPROVIDER) "                    "Caught CIMExcetion(METHOD_CIMINSTANCEPROVIDER) "
                        "during cimom_handle->getClass(%s): %s ",                        "during cimom_handle->getClass(%s): %s ",
Line 1033 
Line 1073 
             }             }
             catch (CIMException e)             catch (CIMException e)
             {             {
                PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL2,                 PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                    "handleGetInstanceRequest: "                    "handleGetInstanceRequest: "
                    "Caught CIMExcetion (METHOD_INSTANCEPROVIDER2) "                    "Caught CIMExcetion (METHOD_INSTANCEPROVIDER2) "
                        "during cimom_handle->getClass(%s): %s ",                        "during cimom_handle->getClass(%s): %s ",
Line 1144 
Line 1184 
             }             }
             catch (CIMException e)             catch (CIMException e)
             {             {
                PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL2,                 PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                    "handleGetInstanceRequest: "                    "handleGetInstanceRequest: "
                    "Caught CIMExcetion (METHOD_INSTANCEPROVIDER) "                    "Caught CIMExcetion (METHOD_INSTANCEPROVIDER) "
                        "during cimom_handle->getClass(%s): %s ",                        "during cimom_handle->getClass(%s): %s ",
Line 1199 
Line 1239 
  
         case METHOD_UNKNOWN:         case METHOD_UNKNOWN:
         {         {
             PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL2,              PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                 "handleGetInstanceRequest: Unknown method provider!");                 "handleGetInstanceRequest: Unknown method provider!");
             break;             break;
         }         }
Line 1280 
Line 1320 
  
         if (!env)         if (!env)
         {         {
             PEG_TRACE_CSTRING( TRC_PROVIDERMANAGER, Tracer::LEVEL2,              PEG_TRACE_CSTRING( TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                 "handleEnumerateInstanceRequest: "                 "handleEnumerateInstanceRequest: "
                     "Could not initialize the JVM (Java Virtual Machine) "                     "Could not initialize the JVM (Java Virtual Machine) "
                     "runtime environment.");                     "runtime environment.");
Line 1381 
Line 1421 
  
         if (id == NULL)         if (id == NULL)
         {         {
             PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL2,              PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                 "handleEnumerateInstances: No method provider found!");                 "handleEnumerateInstances: No method provider found!");
  
            PEG_METHOD_EXIT();            PEG_METHOD_EXIT();
Line 1441 
Line 1481 
             }             }
             catch (CIMException e)             catch (CIMException e)
             {             {
                PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL2,                 PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                    "handleEnumerateInstances: "                    "handleEnumerateInstances: "
                    "Caught CIMExcetion(METHOD_CIMINSTANCEPROVIDER) "                    "Caught CIMExcetion(METHOD_CIMINSTANCEPROVIDER) "
                        "during cimom_handle->getClass(%s): %s ",                        "during cimom_handle->getClass(%s): %s ",
Line 1529 
Line 1569 
                     }                     }
                     catch (CIMException e)                     catch (CIMException e)
                     {                     {
                        PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL2,                         PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                            "handleEnumerateInstances: "                            "handleEnumerateInstances: "
                            "Caught CIMExcetion "                            "Caught CIMExcetion "
                                "during cimom_handle->getClass(%s): %s ",                                "during cimom_handle->getClass(%s): %s ",
Line 1542 
Line 1582 
                        throw;                        throw;
                     }                     }
  
                     const CIMObjectPath& op  = ciRet->getPath();  
                     CIMObjectPath        iop = ciRet->buildPath(cls);  
   
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     handler.deliver(*ciRet);                     handler.deliver(*ciRet);
Line 1605 
Line 1642 
             }             }
             catch (CIMException e)             catch (CIMException e)
             {             {
                PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL2,                 PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                    "handleEnumerateInstances: "                    "handleEnumerateInstances: "
                    "Caught CIMExcetion(METHOD_CIMINSTANCEPROVIDER) "                    "Caught CIMExcetion(METHOD_CIMINSTANCEPROVIDER) "
                        "during cimom_handle->getClass(%s): %s ",                        "during cimom_handle->getClass(%s): %s ",
Line 1699 
Line 1736 
                     }                     }
                     catch (CIMException e)                     catch (CIMException e)
                     {                     {
                        PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL2,                         PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                            "handleEnumerateInstancesRequest: "                            "handleEnumerateInstancesRequest: "
                            "Caught CIMExcetion "                            "Caught CIMExcetion "
                               "cimom_handle->getClass(%s): %s ",                               "cimom_handle->getClass(%s): %s ",
Line 1712 
Line 1749 
                        throw;                        throw;
                     }                     }
  
                     const CIMObjectPath& op  = ciRet->getPath();  
                     CIMObjectPath        iop = ciRet->buildPath(cls);  
   
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     handler.deliver(*ciRet);                     handler.deliver(*ciRet);
Line 1778 
Line 1812 
             }             }
             catch (CIMException e)             catch (CIMException e)
             {             {
                PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL2,                 PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                    "handleEnumerateInstancesRequest: "                    "handleEnumerateInstancesRequest: "
                    "Caught CIMExcetion(METHOD_INSTANCEPROVIDER2) "                    "Caught CIMExcetion(METHOD_INSTANCEPROVIDER2) "
                        "during cimom_handle->getClass(%s): %s ",                        "during cimom_handle->getClass(%s): %s ",
Line 1877 
Line 1911 
                     }                     }
                     catch (CIMException e)                     catch (CIMException e)
                     {                     {
                        PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL2,                         PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                            "handleEnumerateInstancesRequest: "                            "handleEnumerateInstancesRequest: "
                            "Caught CIMExcetion "                            "Caught CIMExcetion "
                               "cimom_handle->getClass(%s): %s ",                               "cimom_handle->getClass(%s): %s ",
Line 1890 
Line 1924 
                        throw;                        throw;
                     }                     }
  
                     const CIMObjectPath& op  = ciRet->getPath();                      _fixCIMObjectPath(ciRet, cls);
                     CIMObjectPath        iop = ciRet->buildPath(cls);  
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     iop.setNameSpace(op.getNameSpace());  
   
                     ciRet->setPath(iop);  
                     /* Fix for 4237*/  
   
                     handler.deliver(*ciRet);                     handler.deliver(*ciRet);
                 }                 }
             }             }
Line 1950 
Line 1978 
             }             }
             catch (CIMException e)             catch (CIMException e)
             {             {
                PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL2,                 PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                    "handleEnumerateInstancesRequest: "                    "handleEnumerateInstancesRequest: "
                    "Caught CIMExcetion(METHOD_INSTANCEPROVIDER) "                    "Caught CIMExcetion(METHOD_INSTANCEPROVIDER) "
                        "during cimom_handle->getClass(%s): %s ",                        "during cimom_handle->getClass(%s): %s ",
Line 2040 
Line 2068 
                     }                     }
                     catch (CIMException e)                     catch (CIMException e)
                     {                     {
                        PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL2,                         PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                            "handleEnumerateInstancesRequest: "                            "handleEnumerateInstancesRequest: "
                            "Caught CIMExcetion "                            "Caught CIMExcetion "
                                "during cimom_handle->getClass(%s): %s ",                                "during cimom_handle->getClass(%s): %s ",
Line 2052 
Line 2080 
                        PEG_METHOD_EXIT();                        PEG_METHOD_EXIT();
                        throw;                        throw;
                     }                     }
                       _fixCIMObjectPath(ciRet, cls);
                     const CIMObjectPath& op  = ciRet->getPath();  
                     CIMObjectPath        iop = ciRet->buildPath(cls);  
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     iop.setNameSpace(op.getNameSpace());  
   
                     ciRet->setPath(iop);  
                     /* Fix for 4237*/  
   
                     handler.deliver(*ciRet);                     handler.deliver(*ciRet);
                 }                 }
             }             }
Line 2072 
Line 2093 
  
         case METHOD_UNKNOWN:         case METHOD_UNKNOWN:
         {         {
             PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL2,              PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                 "handleEnumerateInstancesRequest: Unknown method provider!");                 "handleEnumerateInstancesRequest: Unknown method provider!");
             break;             break;
         }         }
Line 2107 
Line 2128 
     JNIEnv          *env           = NULL;     JNIEnv          *env           = NULL;
  
     try {     try {
         PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL3,          PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL4,
              "handleEnumerateInstanceNamesRequest: "              "handleEnumerateInstanceNamesRequest: "
                  "name space = %s class name = %s",                  "name space = %s class name = %s",
              (const char*)request->nameSpace.getString().getCString(),              (const char*)request->nameSpace.getString().getCString(),
Line 2252 
Line 2273 
  
         if (id == NULL)         if (id == NULL)
         {         {
             PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL2,              PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                 "handleEnumerateInstanceNamesRequest: "                 "handleEnumerateInstanceNamesRequest: "
                     "No method provider found!");                     "No method provider found!");
  
Line 2314 
Line 2335 
             }             }
             catch (CIMException e)             catch (CIMException e)
             {             {
                PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL2,                 PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                    "handleEnumerateInstanceNamesRequest: "                    "handleEnumerateInstanceNamesRequest: "
                    "Caught CIMExcetion(METHOD_CIMINSTANCEPROVIDER) "                    "Caught CIMExcetion(METHOD_CIMINSTANCEPROVIDER) "
                        "during cimom_handle->getClass(%s): %s ",                        "during cimom_handle->getClass(%s): %s ",
Line 2430 
Line 2451 
             }             }
             catch (CIMException e)             catch (CIMException e)
             {             {
                PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL2,                 PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                    "handleEnumerateInstanceNamesRequest: "                    "handleEnumerateInstanceNamesRequest: "
                    "Caught CIMExcetion(METHOD_CIMINSTANCEPROVIDER2) "                    "Caught CIMExcetion(METHOD_CIMINSTANCEPROVIDER2) "
                        "during cimom_handle->getClass(%s): %s ",                        "during cimom_handle->getClass(%s): %s ",
Line 2551 
Line 2572 
             }             }
             catch (CIMException e)             catch (CIMException e)
             {             {
                PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL2,                 PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                    "handleEnumerateInstanceNamesRequest: "                    "handleEnumerateInstanceNamesRequest: "
                    "Caught CIMExcetion(METHOD_INSTANCEPROVIDER2) "                    "Caught CIMExcetion(METHOD_INSTANCEPROVIDER2) "
                        "during cimom_handle->getClass(%s): %s ",                        "during cimom_handle->getClass(%s): %s ",
Line 2670 
Line 2691 
             }             }
             catch (CIMException e)             catch (CIMException e)
             {             {
                PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL2,                 PEG_TRACE((TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                    "handleEnumerateInstanceNamesRequest: "                    "handleEnumerateInstanceNamesRequest: "
                    "Caught CIMExcetion(METHOD_INSTANCEPROVIDER) "                    "Caught CIMExcetion(METHOD_INSTANCEPROVIDER) "
                        "during cimom_handle->getClass(%s): %s ",                        "during cimom_handle->getClass(%s): %s ",
Line 2741 
Line 2762 
  
         case METHOD_UNKNOWN:         case METHOD_UNKNOWN:
         {         {
             PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL2,              PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                 "handleEnumerateInstanceNamesRequest: "                 "handleEnumerateInstanceNamesRequest: "
                     "Unknown method provider!");                     "Unknown method provider!");
             break;             break;
Line 2815 
Line 2836 
  
         if (!env)         if (!env)
         {         {
             PEG_TRACE_CSTRING( TRC_PROVIDERMANAGER, Tracer::LEVEL2,              PEG_TRACE_CSTRING( TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                 "handleCreateInstanceRequest: "                 "handleCreateInstanceRequest: "
                     "Could not initialize the JVM (Java Virtual Machine) "                     "Could not initialize the JVM (Java Virtual Machine) "
                     "runtime environment.");                     "runtime environment.");
Line 2880 
Line 2901 
  
         if (id == NULL)         if (id == NULL)
         {         {
             PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL2,              PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                 "handleCreateInstanceRequest: No method provider found!");                 "handleCreateInstanceRequest: No method provider found!");
  
            PEG_METHOD_EXIT();            PEG_METHOD_EXIT();
Line 3022 
Line 3043 
  
         case METHOD_UNKNOWN:         case METHOD_UNKNOWN:
         {         {
             PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL2,              PEG_TRACE_CSTRING(TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                 "handleCreateInstanceRequest: Unknown method provider!");                 "handleCreateInstanceRequest: Unknown method provider!");
             break;             break;
         }         }
Line 3103 
Line 3124 
  
         if (!env)         if (!env)
         {         {
             PEG_TRACE_CSTRING( TRC_PROVIDERMANAGER, Tracer::LEVEL2,              PEG_TRACE_CSTRING( TRC_PROVIDERMANAGER, Tracer::LEVEL1,
                 "handleModifyInstanceRequest: "                 "handleModifyInstanceRequest: "
                     "Could not initialize the JVM (Java Virtual Machine) "                     "Could not initialize the JVM (Java Virtual Machine) "
                     "runtime environment.");                     "runtime environment.");
Line 4609 
Line 4630 
                        throw;                        throw;
                     }                     }
  
                     const CIMObjectPath& op    = ciRet->getPath();                      _fixCIMObjectPath(ciRet, cls);
                     CIMObjectPath        iop   = ciRet->buildPath(cls);  
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     iop.setNameSpace(op.getNameSpace());  
                     ciRet->setPath(iop);  
   
                     handler.deliver(*ciRet);                     handler.deliver(*ciRet);
                 }                 }
             }             }
Line 4778 
Line 4795 
                        throw;                        throw;
                     }                     }
  
                     const CIMObjectPath& op    = ciRet->getPath();                      _fixCIMObjectPath(ciRet, cls);
                     CIMObjectPath        iop   = ciRet->buildPath(cls);  
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     iop.setNameSpace(op.getNameSpace());  
                     ciRet->setPath(iop);  
   
                     handler.deliver(*ciRet);                     handler.deliver(*ciRet);
                 }                 }
             }             }
Line 4956 
Line 4969 
                        throw;                        throw;
                     }                     }
  
                     const CIMObjectPath& op    = ciRet->getPath();                      _fixCIMObjectPath(ciRet, cls);
                     CIMObjectPath        iop   = ciRet->buildPath(cls);  
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     iop.setNameSpace(op.getNameSpace());  
                     ciRet->setPath(iop);  
   
                     handler.deliver(*ciRet);                     handler.deliver(*ciRet);
                 }                 }
             }             }
Line 5111 
Line 5120 
                        throw;                        throw;
                     }                     }
  
                     const CIMObjectPath& op = ciRet->getPath();                      _fixCIMObjectPath(ciRet, cls);
                     CIMObjectPath iop = ciRet->buildPath(cls);  
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     iop.setNameSpace(op.getNameSpace());  
                     ciRet->setPath(iop);  
   
                     handler.deliver(*ciRet);                     handler.deliver(*ciRet);
                 }                 }
             }             }
Line 6076 
Line 6081 
                        throw;                        throw;
                     }                     }
  
                     const CIMObjectPath& op    = ciRet->getPath();                      _fixCIMObjectPath(ciRet, cls);
                     CIMObjectPath        iop   = ciRet->buildPath(cls);  
  
                     JMPIjvm::checkException(env);                     JMPIjvm::checkException(env);
  
                     iop.setNameSpace(op.getNameSpace());                      CIMObject coRet(*ciRet);
                     ciRet->setPath(iop);                      handler.deliver(coRet);
   
                     handler.deliver(*ciRet);  
                 }                 }
             }             }
             handler.complete();             handler.complete();
Line 6237 
Line 6239 
                     iop.setNameSpace(op.getNameSpace());                     iop.setNameSpace(op.getNameSpace());
                     ciRet->setPath(iop);                     ciRet->setPath(iop);
  
                     handler.deliver(*ciRet);                      CIMObject coRet(*ciRet);
                       handler.deliver(coRet);
                 }                 }
             }             }
             handler.complete();             handler.complete();
Line 6376 
Line 6379 
                     iop.setNameSpace(op.getNameSpace());                     iop.setNameSpace(op.getNameSpace());
                     ciRet->setPath(iop);                     ciRet->setPath(iop);
  
                     handler.deliver(*ciRet);                      CIMObject coRet(*ciRet);
                       handler.deliver(coRet);
                 }                 }
             }             }
             handler.complete();             handler.complete();
Line 6534 
Line 6538 
                     iop.setNameSpace(op.getNameSpace());                     iop.setNameSpace(op.getNameSpace());
                     ciRet->setPath(iop);                     ciRet->setPath(iop);
  
                     handler.deliver(*ciRet);                      CIMObject coRet(*ciRet);
                       handler.deliver(coRet);
                 }                 }
             }             }
             handler.complete();             handler.complete();
Line 8265 
Line 8270 
     String& providerName,     String& providerName,
     String& location)     String& location)
 { {
     Uint32 pos = pInstance.findProperty(CIMName ("Name"));      Uint32 pos = pInstance.findProperty(PEGASUS_PROPERTYNAME_NAME);
     pInstance.getProperty(pos).getValue().get(providerName);     pInstance.getProperty(pos).getValue().get(providerName);
  
     pos = pmInstance.findProperty(CIMName ("Location"));     pos = pmInstance.findProperty(CIMName ("Location"));
Line 9029 
Line 9034 
     // get provider module name     // get provider module name
     String moduleName;     String moduleName;
     CIMInstance mInstance = request->providerModule;     CIMInstance mInstance = request->providerModule;
     Uint32 pos = mInstance.findProperty(CIMName ("Name"));      Uint32 pos = mInstance.findProperty(PEGASUS_PROPERTYNAME_NAME);
  
     if(pos != PEG_NOT_FOUND)     if(pos != PEG_NOT_FOUND)
     {     {
Line 9111 
Line 9116 
     return(response);     return(response);
 } }
  
   Message* JMPIProviderManager::handleIndicationServiceDisabledRequest(
       Message* message)
   {
       PEG_METHOD_ENTER(TRC_PROVIDERMANAGER,
           "JMPIProviderManager::_handleIndicationServiceDisabledRequest");
   
       CIMIndicationServiceDisabledRequestMessage* request =
           dynamic_cast<CIMIndicationServiceDisabledRequestMessage*>(message);
       PEGASUS_ASSERT(request != 0);
   
       CIMIndicationServiceDisabledResponseMessage* response =
           dynamic_cast<CIMIndicationServiceDisabledResponseMessage*>(
               request->buildResponse());
       PEGASUS_ASSERT(response != 0);
   
       _subscriptionInitComplete = false;
   
       PEG_METHOD_EXIT ();
       return response;
   }
   
 Message * JMPIProviderManager::handleSubscriptionInitCompleteRequest( Message * JMPIProviderManager::handleSubscriptionInitCompleteRequest(
     const Message * message)     const Message * message)
 { {
Line 9180 
Line 9206 
     CIMValue genericValue;     CIMValue genericValue;
  
     genericValue = providerId.getModule().getProperty(     genericValue = providerId.getModule().getProperty(
         providerId.getModule().findProperty("Name")).getValue();          providerId.getModule().findProperty(
               PEGASUS_PROPERTYNAME_NAME)).getValue();
     genericValue.get(moduleName);     genericValue.get(moduleName);
  
     genericValue = providerId.getProvider().getProperty(     genericValue = providerId.getProvider().getProperty(
         providerId.getProvider().findProperty("Name")).getValue();          providerId.getProvider().findProperty(
               PEGASUS_PROPERTYNAME_NAME)).getValue();
     genericValue.get(providerName);     genericValue.get(providerName);
  
     genericValue = providerId.getModule().getProperty(     genericValue = providerId.getModule().getProperty(


Legend:
Removed from v.1.70  
changed lines
  Added in v.1.80

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2