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

Diff for /pegasus/src/Pegasus/ProviderManager2/JMPI/JMPIImpl.cpp between version 1.35 and 1.35.2.1

version 1.35, 2006/02/08 22:10:20 version 1.35.2.1, 2006/03/10 21:47:05
Line 114 
Line 114 
 /*30*/ "org/pegasus/jmpi/CIMInstanceException", /*30*/ "org/pegasus/jmpi/CIMInstanceException",
 /*31*/ "org/pegasus/jmpi/CIMObject", /*31*/ "org/pegasus/jmpi/CIMObject",
 /*32*/ "java/lang/Character", /*32*/ "java/lang/Character",
   /*33*/ "org/pegasus/jmpi/OperationContext",
   /*34*/ "java/lang/Class",
 }; };
  
 const METHOD_STRUCT instanceMethodNames[]={ const METHOD_STRUCT instanceMethodNames[]={
Line 165 
Line 167 
 /*45 CIMValueNewI            */ { /*CIMValue      */19, "<init>",          "(I)V" }, /*45 CIMValueNewI            */ { /*CIMValue      */19, "<init>",          "(I)V" },
 /*46 CIMObjectNewIZ          */ { /*CIMObject     */31, "<init>",          "(IZ)V" }, /*46 CIMObjectNewIZ          */ { /*CIMObject     */31, "<init>",          "(IZ)V" },
 /*47 CharacterNewC           */ { /*Character     */32, "<init>",          "(C)V" }, /*47 CharacterNewC           */ { /*Character     */32, "<init>",          "(C)V" },
   /*48 OperationContextNewI        */ { /*OperationContext */33, "<init>",          "(I)V" },
   /*49 OperationContextUnassociate */ { /*OperationContext */33, "unassociate",     "()V" },
   /*50 ClassGetInterfaces          */ { /*Class            */34, "getInterfaces",   "()[Ljava/lang/Class;" },
   /*51 ClassGetName                */ { /*Class            */34, "getName",         "()Ljava/lang/String;" },
 }; };
  
 const METHOD_STRUCT staticMethodNames[]={ const METHOD_STRUCT staticMethodNames[]={
Line 5017 
Line 5023 
    DEBUG_ConvertCleanup (jint, jInst);    DEBUG_ConvertCleanup (jint, jInst);
 } }
  
   /*
    * Class:     OperationContext
    * Method:    _get
    * Signature: (ILjava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
    */
   JNIEXPORT jobject JNICALL Java_org_pegasus_jmpi_OperationContext__1get
     (JNIEnv *jEnv, jobject jThs, jint jInst, jstring jContainer, jstring jKey)
   {
      OperationContext *poc  = DEBUG_ConvertJavaToC (jint, OperationContext*, jInst);
      jobject           jRet = 0;
   
      if (!poc)
      {
         return jRet;
      }
   
      const char *pszContainer = jEnv->GetStringUTFChars (jContainer, NULL);
      const char *pszKey       = jEnv->GetStringUTFChars (jKey, NULL);
      String      container (pszContainer);
      String      key       (pszKey);
   
   ///printf ("container: %s\n", pszContainer);
   ///printf ("key: %s\n", pszKey);
   
      try {
         if (container == "IdentityContainer")
         {
            IdentityContainer ic = poc->get (IdentityContainer::NAME);
   
   /////////printf ("ic\n");
   
            if (key == "userName")
            {
               String userName = ic.getUserName ();
   
   ////////////printf ("userName: %s\n", (const char*)userName.getCString ());
   
               jRet = jEnv->NewStringUTF ((const char*)userName.getCString ());
            }
         }
         else if (container == "SubscriptionInstanceContainer")
         {
            SubscriptionInstanceContainer sic = poc->get (SubscriptionInstanceContainer::NAME);
   
            if (key == "subscriptionInstance")
            {
               CIMInstance ci     = sic.getInstance ();
               jint        jciRef = DEBUG_ConvertCToJava (CIMInstance*, jint, new CIMInstance (ci));
   
               jRet = jEnv->NewObject (JMPIjvm::jv.CIMInstanceClassRef,
                                       JMPIjvm::jv.CIMInstanceNewI,
                                       jciRef);
            }
         }
         else if (container == "SubscriptionInstanceNamesContainer")
         {
            SubscriptionInstanceNamesContainer sinc = poc->get (SubscriptionInstanceNamesContainer::NAME);
   
            if (key == "subscriptionInstanceNames")
            {
               Array<CIMObjectPath> copa        = sinc.getInstanceNames ();
               jobjectArray         jcopa       = 0;
               int                  jcopaLength = copa.size ();
   
               jcopa = jEnv->NewObjectArray (jcopaLength,
                                             JMPIjvm::jv.CIMObjectPathClassRef,
                                             0);
   
               for (int i = 0; i < jcopaLength; i++)
               {
                  jEnv->SetObjectArrayElement (jcopa,
                                               i,
                                               jEnv->NewObject (JMPIjvm::jv.CIMObjectPathClassRef,
                                                                JMPIjvm::jv.CIMObjectPathNewI,
                                                                new CIMObjectPath (copa[i])));
               }
   
               jRet = (jobject)jcopa;
            }
         }
         else if (container == "SubscriptionFilterConditionContainer")
         {
            SubscriptionFilterConditionContainer sfcc = poc->get (SubscriptionFilterConditionContainer::NAME);
   
   /////////printf ("sfcc\n");
   
            if (key == "filterCondition")
            {
               String filterCondition = sfcc.getFilterCondition ();
   
   ////////////printf ("filterCondition: %s\n", (const char*)filterCondition.getCString ());
   
               jRet = jEnv->NewStringUTF ((const char*)filterCondition.getCString ());
            }
            else if (key == "queryLanguage")
            {
               String queryLanguage = sfcc.getQueryLanguage ();
   
               jRet = jEnv->NewStringUTF ((const char*)queryLanguage.getCString ());
            }
         }
         else if (container == "SubscriptionFilterQueryContainer")
         {
            SubscriptionFilterQueryContainer sfqc = poc->get (SubscriptionFilterQueryContainer::NAME);
   
            if (key == "filterQuery")
            {
               String filterQuery = sfqc.getFilterQuery ();
   
               jRet = jEnv->NewStringUTF ((const char*)filterQuery.getCString ());
            }
            else if (key == "queryLanguage")
            {
               String queryLanguage = sfqc.getQueryLanguage ();
   
               jRet = jEnv->NewStringUTF ((const char*)queryLanguage.getCString ());
            }
            else if (key == "sourceNameSpace")
            {
               CIMNamespaceName cimNameSpaceName = sfqc.getSourceNameSpace ();
               String           nameSpaceName    = cimNameSpaceName.getString ();
   
               jRet = jEnv->NewStringUTF ((const char*)nameSpaceName.getCString ());
            }
         }
         else if (container == "SnmpTrapOidContainer")
         {
            SnmpTrapOidContainer stoc = poc->get (SnmpTrapOidContainer::NAME);
   
            if (key == "snmpTrapOid")
            {
               String snmpTrapOid = stoc.getSnmpTrapOid ();
   
               jRet = jEnv->NewStringUTF ((const char*)snmpTrapOid.getCString ());
            }
         }
      }
      Catch(jEnv);
   
   ///printf ("jRet: %08X\n", (int)jRet);
   
      jEnv->ReleaseStringUTFChars (jContainer, pszContainer);
      jEnv->ReleaseStringUTFChars (jKey, pszKey);
   
      return jRet;
   }
   
 } // extern "C" } // extern "C"
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.35  
changed lines
  Added in v.1.35.2.1

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2