⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jmpiassociationprovider.java

📁 Pegasus is an open-source implementationof the DMTF CIM and WBEM standards. It is designed to be por
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
         if (equals (localObjectPath, elmPath))         {            return elm;         }      }      return null;   }   private Vector _enumerateInstances (Vector instances)   {      return instances;   }   private Vector _enumerateInstanceNames (Vector instances)   {      Vector   returnPaths       = new Vector ();      Iterator iteratorInstances = instances.iterator ();      while (iteratorInstances.hasNext ())      {         CIMInstance elm = (CIMInstance)iteratorInstances.next ();         returnPaths.addElement (elm.getObjectPath ());      }      return returnPaths;   }   private Vector _associators (Vector        associationInstances,                                CIMObjectPath localObjectPath,                                String        role,                                String        resultClass,                                String        resultRole)   {      Vector vectorReturn = new Vector ();      // Filter the instances from the list of association instances against      // the specified role filter      //      Vector assocInstances = null;      assocInstances = _filterAssociationInstancesByRole (associationInstances,                                                          localObjectPath,                                                          role);      if (DEBUG)      {         System.err.println ("JMPIAssociationProvider::_associators: assocInstances.size () = " + assocInstances.size ());      }      // Now filter the result association instances against the specified      // resultClass and resultRole filters      //      for (int i = 0, si = assocInstances.size (); i < si; i++)      {         Vector resultPaths;         resultPaths = _filterAssociationInstances ((CIMInstance)assocInstances.elementAt (i),                                                    localObjectPath,                                                    resultClass,                                                    resultRole);         if (DEBUG)         {            System.err.println ("JMPIAssociationProvider::_associators: resultPaths.size () = " + resultPaths.size ());         }         for (int j = 0, sj = resultPaths.size (); j < sj; j++)         {            String className = ((CIMObjectPath)resultPaths.elementAt (j)).getObjectName ();            if (className.equalsIgnoreCase (SAMPLE_TEACHER))            {               if (DEBUG)               {                  System.err.println ("JMPIAssociationProvider::_associators: teacherInstances.size () = " + teacherInstances.size ());               }               // find instance that corresponds to the reference               for (int k = 0, s = teacherInstances.size (); k < s; k++)               {                  CIMObjectPath path = ((CIMInstance)teacherInstances.elementAt (k)).getObjectPath ();                  if (DEBUG)                  {                     System.err.println ("JMPIAssociationProvider::_associators: path                      = " + path);                     System.err.println ("JMPIAssociationProvider::_associators: resultPaths.elementAt (" + j + ") = " + resultPaths.elementAt (j));                  }                  if (equals (((CIMObjectPath)resultPaths.elementAt (j)), path))                  {                     if (DEBUG)                     {                        System.err.println ("JMPIAssociationProvider::_associators: adding!");                     }                     // return the instance                     // Note: See below.                     vectorReturn.addElement (((CIMInstance)teacherInstances.elementAt (k)).clone ());                  }               }            }            else if (className.equalsIgnoreCase (SAMPLE_STUDENT))            {               if (DEBUG)               {                  System.err.println ("JMPIAssociationProvider::_associators: studentInstances.size () = " + studentInstances.size ());               }               // find instance that corresponds to the reference               for (int k = 0, s = studentInstances.size (); k < s; k++)               {                  CIMObjectPath path = ((CIMInstance)studentInstances.elementAt (k)).getObjectPath ();                  if (DEBUG)                  {                     System.err.println ("JMPIAssociationProvider::_associators: path                      = " + path);                     System.err.println ("JMPIAssociationProvider::_associators: resultPaths.elementAt (" + j + ") = " + resultPaths.elementAt (j));                  }                  if (equals (((CIMObjectPath)resultPaths.elementAt (j)), path))                  {                     if (DEBUG)                     {                        System.err.println ("JMPIAssociationProvider::_associators: adding!");                     }                     // return the instance                     // Note: We must clone what is being returned since otherwise our                     //       copy will be modified.                     //       The CIMObjectPath will change from:                     //          root/SampleProvider:JMPIAssociation_Student.Identifier=1,Name="Student1"                     //       to:                     //          root/SampleProvider:JMPIAssociation_Student.Name="Student1"                     vectorReturn.addElement (((CIMInstance)studentInstances.elementAt (k)).clone ());                  }               }            }         }      }      return vectorReturn;   }   private Vector _associatorNames (Vector        associationInstances,                                    CIMObjectPath localObjectPath,                                    String        role,                                    String        resultClass,                                    String        resultRole)   {      Vector vectorReturn = new Vector ();      // Filter the instances from the list of association instances against      // the specified role filter      //      Vector assocInstances;      assocInstances = _filterAssociationInstancesByRole (associationInstances,                                                          localObjectPath,                                                          role);      if (DEBUG)      {         System.err.println ("JMPIAssociationProvider::_associatorNames: assocInstances.size () = " + assocInstances.size ());      }      // Now filter the result association instances against the specified      // resultClass and resultRole filters      //      for (int i = 0, si = assocInstances.size (); i < si; i++)      {         Vector resultPaths;         resultPaths = _filterAssociationInstances ((CIMInstance)assocInstances.elementAt (i),                                                    localObjectPath,                                                    resultClass,                                                    resultRole);         if (DEBUG)         {            System.err.println ("JMPIAssociationProvider::_associatorNames: resultPaths.size () = " + resultPaths.size ());         }         vectorReturn.addAll (resultPaths);      }      return vectorReturn;   }   private Vector _filterAssociationInstancesByRole (Vector        associationInstances,                                                     CIMObjectPath targetObjectPath,                                                     String        role)   {      Vector returnInstances = new Vector ();      if (DEBUG)      {         System.err.println ("JMPIAssociationProvider::_filterAssociationInstancesByRole: associationInstances.size () = " + associationInstances.size ());         System.err.println ("JMPIAssociationProvider::_filterAssociationInstancesByRole: targetObjectPath             = " + targetObjectPath);         System.err.println ("JMPIAssociationProvider::_filterAssociationInstancesByRole: role                         = " + role);      }      try      {         // Filter the instances from the list of association instances against         // the specified role filter         //         for (int i = 0, si = associationInstances.size (); i < si; i++)         {             CIMInstance instance = (CIMInstance)associationInstances.elementAt (i);             // Search the association instance for all reference properties             for (int j = 0, sj = instance.getPropertyCount (); j < sj; j++)             {                 CIMProperty p = instance.getProperty (j);                 if (p.getType ().getType () == CIMDataType.REFERENCE)                 {                     CIMObjectPath copRef = (CIMObjectPath)p.getValue ().getValue ();                     if (DEBUG)                     {                        System.err.println ("JMPIAssociationProvider::_filterAssociationInstancesByRole: p                            = " + p);                        System.err.println ("JMPIAssociationProvider::_filterAssociationInstancesByRole: copRef                       = " + copRef);                     }                     if (  (role.equalsIgnoreCase (""))                        || (p.getName ().equalsIgnoreCase (role))                        )                     {                        if (DEBUG)                        {                            System.err.println ("JMPIAssociationProvider::_filterAssociationInstancesByRole: targetObjectPath             = " + targetObjectPath);                        }                        if (targetObjectPath.toString ().equalsIgnoreCase (copRef.toString ()))                        {                           if (DEBUG)                           {                               System.err.println ("JMPIAssociationProvider::_filterAssociationInstancesByRole: adding!");                           }                           returnInstances.addElement (instance);                        }                     }                  }              }          }      }      catch (CIMException e)      {      }      return returnInstances;   }   private Vector _filterAssociationInstances (CIMInstance   assocInstance,                                               CIMObjectPath sourceObjectPath,                                               String        resultClass,                                               String        resultRole)   {      Vector returnPaths = new Vector ();      try      {         if (DEBUG)         {            System.err.println ("JMPIAssociationProvider::_filterAssociationInstances: assocInstance.getPropertyCount () = " + assocInstance.getPropertyCount ());            System.err.println ("JMPIAssociationProvider::_filterAssociationInstances: sourceObjectPath                  = " + sourceObjectPath);            System.err.println ("JMPIAssociationProvider::_filterAssociationInstances: resultClass                       = " + resultClass);            System.err.println ("JMPIAssociationProvider::_filterAssociationInstances: resultRole                        = " + resultRole);         }         // get all Reference properties         for (int i = 0, si = assocInstance.getPropertyCount (); i < si; i++)         {            CIMProperty p = assocInstance.getProperty (i);            if (p.getType ().getType () == CIMDataType.REFERENCE)            {               CIMObjectPath copRef = (CIMObjectPath)p.getValue ().getValue ();               if (DEBUG)               {                  System.err.println ("JMPIAssociationProvider::_filterAssociationInstances: p                                 = " + p);                  System.err.println ("JMPIAssociationProvider::_filterAssociationInstances: copRef                            = " + copRef);               }               if (!equals (sourceObjectPath, copRef))               {                  if (  resultClass.equalsIgnoreCase ("")                     || resultClass == copRef.getObjectName ()                     )                  {                     if (  (resultRole.equalsIgnoreCase (""))                        || (p.getName ().equalsIgnoreCase (resultRole))                        )                     {                        if (DEBUG)                        {                            System.err.println ("JMPIAssociationProvider::_filterAssociationInstances: adding!");                        }                        returnPaths.addElement (copRef);                     }                  }               }            }         }      }      catch (CIMException e)      {      }      return returnPaths;   }   private boolean equals (CIMObjectPath l, CIMObjectPath r)   {      String ls = l.toString ();      String rs = r.toString ();      return ls.equalsIgnoreCase (rs);   }   private Vector         teacherInstances       = new Vector ();   private Vector         studentInstances       = new Vector ();   private Vector         TSassociationInstances = new Vector ();   private Vector         ASassociationInstances = new Vector ();   private String         NAMESPACE              = new String ("root/SampleProvider");   // Class names   private String         SAMPLE_TEACHER         = new String ("JMPIAssociation_Teacher");   private String         SAMPLE_STUDENT         = new String ("JMPIAssociation_Student");   private String         SAMPLE_TEACHERSTUDENT  = new String ("JMPIAssociation_TeacherStudent");   private String         SAMPLE_ADVISORSTUDENT  = new String ("JMPIAssociation_AdvisorStudent");}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -