(file) Return to InteropAssociationProvider.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / ControlProviders / InteropProvider

Diff for /pegasus/src/Pegasus/ControlProviders/InteropProvider/InteropAssociationProvider.cpp between version 1.2 and 1.5.4.1

version 1.2, 2006/11/03 19:53:38 version 1.5.4.1, 2008/02/22 23:13:52
Line 27 
Line 27 
 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION // 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. // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 // //
 //==============================================================================  //=============================================================================
   //
   //%////////////////////////////////////////////////////////////////////////////
  
  
 /////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
Line 36 
Line 38 
 //  Server Profile //  Server Profile
 // //
 //  Please see PG_ServerProfile20.mof in the directory //  Please see PG_ServerProfile20.mof in the directory
 //  $(PEGASUS_ROOT)/Schemas/Pegasus/InterOp/VER20 for retails regarding the  //  $(PEGASUS_ROOT)/Schemas/Pegasus/InterOp/VER20 for details regarding the
 //  classes supported by this control provider. //  classes supported by this control provider.
 // //
 //  Interop forces all creates to the PEGASUS_NAMESPACENAME_INTEROP //  Interop forces all creates to the PEGASUS_NAMESPACENAME_INTEROP
Line 74 
Line 76 
     PEG_METHOD_ENTER(TRC_CONTROLPROVIDER,     PEG_METHOD_ENTER(TRC_CONTROLPROVIDER,
             "InteropProvider::associators()");             "InteropProvider::associators()");
     initProvider();     initProvider();
     Tracer::trace(TRC_CONTROLPROVIDER, Tracer::LEVEL4,      PEG_TRACE((TRC_CONTROLPROVIDER, Tracer::LEVEL4,
         "%s associators. objectName= %s , assocClass= %s resultClass= %s role= %s resultRole %includeQualifiers= %s, includeClassOrigin= %s, PropertyList= %s",          "%s associators. objectName= %s, assocClass= %s resultClass= %s "
               "role= %s resultRole %s, includeQualifiers= %s, "
               "includeClassOrigin= %s, PropertyList= %s",
         thisProvider,         thisProvider,
         (const char *)objectName.toString().getCString(),         (const char *)objectName.toString().getCString(),
         (const char *)associationClass.getString().getCString(),         (const char *)associationClass.getString().getCString(),
Line 84 
Line 88 
         (const char *)resultRole.getCString(),         (const char *)resultRole.getCString(),
                       boolToString(includeQualifiers),                       boolToString(includeQualifiers),
                       boolToString(includeClassOrigin),                       boolToString(includeClassOrigin),
         (const char *)propertyListToString(propertyList).getCString());          (const char *)propertyListToString(propertyList).getCString()));
  
     handler.processing();     handler.processing();
     String originRole = role;     String originRole = role;
     String targetRole = resultRole;     String targetRole = resultRole;
       Uint32 numIterations = 1;
     //     //
     // The localReferences call retrieves instances of the desired association     // The localReferences call retrieves instances of the desired association
     // class and sets the originRole and targetRole properties if currently     // class and sets the originRole and targetRole properties if currently
     // empty.     // empty.
     //     //
     Array<CIMInstance> refs = localReferences(context, objectName,      if (associationClass.equal(PEGASUS_CLASSNAME_PG_REFERENCEDPROFILE))
         associationClass, originRole, targetRole, CIMPropertyList(),      {
           if (originRole.size() == 0 && targetRole.size() == 0)
           {
               originRole = String("Antecedent");
               targetRole = String("Dependent");
               numIterations = 2;
           }
       }
       for (Uint32 i = 0; i < numIterations; ++i)
       {
           Array<CIMInstance> refs = localReferences(
               context,
               objectName,
               associationClass,
               originRole,
               targetRole,
               CIMPropertyList(),
         resultClass);         resultClass);
     for(Uint32 i = 0, n = refs.size(); i < n; ++i)     for(Uint32 i = 0, n = refs.size(); i < n; ++i)
     {     {
         CIMInstance & currentRef = refs[i];         CIMInstance & currentRef = refs[i];
         // Retrieve the "other side" of the association         // Retrieve the "other side" of the association
         CIMObjectPath currentTarget = getRequiredValue<CIMObjectPath>(         CIMObjectPath currentTarget = getRequiredValue<CIMObjectPath>(
             currentRef, targetRole);                  currentRef,
         CIMInstance tmpInstance = localGetInstance(context, currentTarget,                  targetRole);
               CIMInstance tmpInstance = localGetInstance(
                   context,
                   currentTarget,
             propertyList);             propertyList);
         tmpInstance.setPath(currentTarget);         tmpInstance.setPath(currentTarget);
         handler.deliver(tmpInstance);         handler.deliver(tmpInstance);
     }     }
           if (numIterations == 2)
           {
               originRole = String("Dependent");
               targetRole = String("Antecedent");
           }
       }
     handler.complete();     handler.complete();
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
Line 130 
Line 160 
     PEG_METHOD_ENTER(TRC_CONTROLPROVIDER,     PEG_METHOD_ENTER(TRC_CONTROLPROVIDER,
         "InteropProvider::associatorNames()");         "InteropProvider::associatorNames()");
     initProvider();     initProvider();
     Tracer::trace(TRC_CONTROLPROVIDER, Tracer::LEVEL4,      PEG_TRACE((TRC_CONTROLPROVIDER, Tracer::LEVEL4,
         "%s associatorNames. objectName= %s , assocClass= %s resultClass= %s role= %s resultRole",          "%s associatorNames.objectName= %s, assocClass= %s resultClass= %s "
               "role= %s resultRole = %s",
         thisProvider,         thisProvider,
         (const char *)objectName.toString().getCString(),         (const char *)objectName.toString().getCString(),
         (const char *)associationClass.getString().getCString(),         (const char *)associationClass.getString().getCString(),
         (const char *)resultClass.getString().getCString(),         (const char *)resultClass.getString().getCString(),
         (const char *)role.getCString(),         (const char *)role.getCString(),
         (const char *)resultRole.getCString());          (const char *)resultRole.getCString()));
  
     handler.processing();     handler.processing();
         String originRole = role;         String originRole = role;
     String targetRole = resultRole;     String targetRole = resultRole;
       Uint32 numIterations = 1;
     //     //
     // The localReferences call retrieves instances of the desired association     // The localReferences call retrieves instances of the desired association
     // class and sets the originRole and targetRole properties if currently     // class and sets the originRole and targetRole properties if currently
     // empty.     // empty.
     //     //
     Array<CIMInstance> refs = localReferences(context, objectName,      if (associationClass.equal(PEGASUS_CLASSNAME_PG_REFERENCEDPROFILE))
         associationClass, originRole, targetRole, CIMPropertyList(),      {
           if (originRole.size() == 0 && targetRole.size() == 0)
           {
               originRole = String("Antecedent");
               targetRole = String("Dependent");
               numIterations = 2;
           }
       }
       for (Uint32 i = 0; i < numIterations; ++i)
       {
           Array<CIMInstance> refs = localReferences(
               context,
               objectName,
               associationClass,
               originRole,
               targetRole,
               CIMPropertyList(),
         resultClass);         resultClass);
     for(Uint32 i = 0, n = refs.size(); i < n; ++i)     for(Uint32 i = 0, n = refs.size(); i < n; ++i)
     {     {
         CIMInstance & currentRef = refs[i];         CIMInstance & currentRef = refs[i];
         CIMObjectPath currentTarget = getRequiredValue<CIMObjectPath>(         CIMObjectPath currentTarget = getRequiredValue<CIMObjectPath>(
             currentRef, targetRole);                  currentRef,
                   targetRole);
         handler.deliver(currentTarget);         handler.deliver(currentTarget);
     }     }
           if (numIterations == 2)
           {
               originRole = String("Dependent");
               targetRole = String("Antecedent");
           }
       }
     handler.complete();     handler.complete();
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
 } }
Line 180 
Line 235 
     PEG_METHOD_ENTER(TRC_CONTROLPROVIDER,     PEG_METHOD_ENTER(TRC_CONTROLPROVIDER,
         "InteropProvider::references()");         "InteropProvider::references()");
     initProvider();     initProvider();
     Tracer::trace(TRC_CONTROLPROVIDER, Tracer::LEVEL4,      PEG_TRACE((TRC_CONTROLPROVIDER, Tracer::LEVEL4,
         "%s references. objectName= %s , resultClass= %s role= %s includeQualifiers= %s, includeClassOrigin= %s, PropertyList= %s",          "%s references. objectName= %s, resultClass= %s role= %s "
               "includeQualifiers= %s, includeClassOrigin= %s, PropertyList= %s",
         thisProvider,         thisProvider,
         (const char *)objectName.toString().getCString(),         (const char *)objectName.toString().getCString(),
         (const char *)resultClass.getString().getCString(),         (const char *)resultClass.getString().getCString(),
         (const char *)role.getCString(),         (const char *)role.getCString(),
                       boolToString(includeQualifiers),                       boolToString(includeQualifiers),
                       boolToString(includeClassOrigin),                       boolToString(includeClassOrigin),
         (const char *)propertyListToString(propertyList).getCString());          (const char *)propertyListToString(propertyList).getCString()));
  
     handler.processing();     handler.processing();
     String tmpRole = role;     String tmpRole = role;
     String tmpTarget;     String tmpTarget;
       Uint32 numIterations = 1;
     //     //
     // Makes call to internal references method to get result, supplying the     // Makes call to internal references method to get result, supplying the
     // role parameter, but obviously not setting a resultRole/target parameter.     // role parameter, but obviously not setting a resultRole/target parameter.
     //     //
     Array<CIMInstance> refs =      if (resultClass.equal(PEGASUS_CLASSNAME_PG_REFERENCEDPROFILE))
         localReferences(context, objectName, resultClass, tmpRole, tmpTarget);      {
           if (tmpRole.size() == 0)
           {
               tmpRole = String("Antecedent");
               tmpTarget = String("Dependent");
               numIterations = 2;
           }
       }
       for (Uint32 i = 0; i < numIterations; ++i)
       {
           Array<CIMInstance> refs = localReferences(
               context,
               objectName,
               resultClass,
               tmpRole,
               tmpTarget);
     for(Uint32 i = 0, n = refs.size(); i < n; ++i)     for(Uint32 i = 0, n = refs.size(); i < n; ++i)
           {
       handler.deliver((CIMObject)refs[i]);       handler.deliver((CIMObject)refs[i]);
           }
           if (numIterations == 2)
           {
               tmpRole = String("Dependent");
               tmpTarget = String("Antecedent");
           }
       }
     handler.complete();     handler.complete();
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
 } }
Line 224 
Line 304 
  
     String tmpRole = role;     String tmpRole = role;
     String tmpTarget;     String tmpTarget;
       Uint32 numIterations = 1;
     //     //
     // Makes call to internal references method to get result, supplying the     // Makes call to internal references method to get result, supplying the
     // role parameter, but obviously not setting a resultRole/target parameter.     // role parameter, but obviously not setting a resultRole/target parameter.
     //     //
     Array<CIMInstance> refs =      if (resultClass.equal(PEGASUS_CLASSNAME_PG_REFERENCEDPROFILE))
         localReferences(context, objectName, resultClass, tmpRole, tmpTarget);      {
           if (tmpRole.size() == 0)
           {
               tmpRole = String("Antecedent");
               tmpTarget = String("Dependent");
               numIterations = 2;
           }
       }
       for (Uint32 i = 0; i < numIterations; ++i)
       {
           Array<CIMInstance> refs = localReferences(
               context,
               objectName,
               resultClass,
               tmpRole,
               tmpTarget);
     for(Uint32 i = 0, n = refs.size(); i < n; ++i)     for(Uint32 i = 0, n = refs.size(); i < n; ++i)
     {     {
         handler.deliver(refs[i].getPath());         handler.deliver(refs[i].getPath());
     }     }
           if (numIterations == 2)
           {
               tmpRole = String("Dependent");
               tmpTarget = String("Antecedent");
           }
       }
  
     handler.complete();     handler.complete();
  


Legend:
Removed from v.1.2  
changed lines
  Added in v.1.5.4.1

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2