(file) Return to CQLFactorRep.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / CQL

Diff for /pegasus/src/Pegasus/CQL/CQLFactorRep.cpp between version 1.3 and 1.3.2.10

version 1.3, 2004/09/07 16:17:15 version 1.3.2.10, 2004/10/18 21:19:00
Line 1 
Line 1 
   //%2003////////////////////////////////////////////////////////////////////////
   //
   // Copyright (c) 2000, 2001, 2002  BMC Software, Hewlett-Packard Development
   // Company, L. P., IBM Corp., The Open Group, Tivoli Systems.
   // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.;
   // IBM Corp.; EMC Corporation, The Open Group.
   //
   // Permission is hereby granted, free of charge, to any person obtaining a copy
   // of this software and associated documentation files (the "Software"), to
   // deal in the Software without restriction, including without limitation the
   // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
   // sell copies of the Software, and to permit persons to whom the Software is
   // furnished to do so, subject to the following conditions:
   //
   // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
   // ALL COPIES OR SUBSTANTIAL PORTIONS OF 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.
   //
   //==============================================================================
   //
   // Authors: David Rosckes (rosckes@us.ibm.com)
   //          Bert Rivero (hurivero@us.ibm.com)
   //          Chuck Carmack (carmack@us.ibm.com)
   //          Brian Lucier (lucier@us.ibm.com)
   //
   // Modified By:
   //
   //%/////////////////////////////////////////////////////////////////////////////
   
 #include "CQLFactorRep.h" #include "CQLFactorRep.h"
 #include <Pegasus/CQL/CQLExpression.h> #include <Pegasus/CQL/CQLExpression.h>
 #include <Pegasus/CQL/CQLFunction.h> #include <Pegasus/CQL/CQLFunction.h>
Line 12 
Line 46 
 #include <Pegasus/Common/ArrayImpl.h> #include <Pegasus/Common/ArrayImpl.h>
 #undef PEGASUS_ARRAY_T #undef PEGASUS_ARRAY_T
 */ */
 CQLFactorRep::CQLFactorRep(const CQLFactorRep& inCQLFact)  CQLFactorRep::CQLFactorRep(const CQLFactorRep* rep)
 { {
    _CQLVal = inCQLFact._CQLVal;     _CQLVal = rep->_CQLVal;
    _CQLFunct = inCQLFact._CQLFunct;     _CQLFunct = rep->_CQLFunct;
    _CQLExp = inCQLFact._CQLExp;     _CQLExp = rep->_CQLExp;
    _invert = inCQLFact._invert;     _invert = rep->_invert;
    _simpleValue = inCQLFact._simpleValue;     _simpleValue = rep->_simpleValue;
      _containedType = rep->_containedType;
 } }
  
 CQLFactorRep::CQLFactorRep(CQLValue& inCQLVal)  CQLFactorRep::CQLFactorRep(const CQLValue& inCQLVal)
 { {
    _CQLVal = inCQLVal;    _CQLVal = inCQLVal;
    _simpleValue = true;    _simpleValue = true;
      _containedType = VALUE;
 } }
  
 CQLFactorRep::CQLFactorRep(CQLExpression& inCQLExp)  CQLFactorRep::CQLFactorRep(const CQLExpression& inCQLExp)
 { {
    _CQLExp = inCQLExp;    _CQLExp = inCQLExp;
    _simpleValue = false;    _simpleValue = false;
      _containedType = EXPRESSION;
 } }
  
 CQLFactorRep::CQLFactorRep(CQLFunction& inCQLFunc)  CQLFactorRep::CQLFactorRep(const CQLFunction& inCQLFunc)
 { {
    _CQLFunct = inCQLFunc;    _CQLFunct = inCQLFunc;
    _simpleValue = false;    _simpleValue = false;
      _containedType = FUNCTION;
 } }
  
 CQLValue CQLFactorRep::getValue()  CQLValue CQLFactorRep::getValue()const
 { {
    return _CQLVal;    return _CQLVal;
 } }
Line 47 
Line 85 
 CQLValue CQLFactorRep::resolveValue(CIMInstance CI, QueryContext& QueryCtx) CQLValue CQLFactorRep::resolveValue(CIMInstance CI, QueryContext& QueryCtx)
 { {
  
    if(_CQLExp != CQLExpression())     if(_containedType == EXPRESSION)
    {    {
       return _CQLExp.resolveValue(CI,QueryCtx);       return _CQLExp.resolveValue(CI,QueryCtx);
    }    }
    else if (_CQLFunct != CQLFunction())     else if (_containedType == FUNCTION)
    {    {
       return _CQLFunct.resolveValue(CI,QueryCtx);       return _CQLFunct.resolveValue(CI,QueryCtx);
    }    }
Line 62 
Line 100 
    }    }
 } }
  
 Boolean CQLFactorRep::isSimpleValue()  Boolean CQLFactorRep::isSimple()const
 { {
    return _simpleValue;    return _simpleValue;
 } }
  
 CQLFunction CQLFactorRep::getCQLFunction()  Boolean CQLFactorRep::isSimpleValue()const
   {
      return _simpleValue;
   }
   
   CQLFunction CQLFactorRep::getCQLFunction()const
 { {
    return _CQLFunct;    return _CQLFunct;
 } }
  
 CQLExpression CQLFactorRep::getCQLExpression()  CQLExpression CQLFactorRep::getCQLExpression()const
 { {
    return _CQLExp;    return _CQLExp;
 } }
  
 String CQLFactorRep::toString()  String CQLFactorRep::toString()const
 { {
    if(_CQLFunct != CQLFunction())    if(_containedType == VALUE){
       return _CQLVal.toString();
     }
   
     if(_containedType == FUNCTION)
    {    {
       return _CQLFunct.toString();       return _CQLFunct.toString();
    }     }else
    else if(_CQLExp != CQLExpression())  
    {    {
       return _CQLExp.toString();       return _CQLExp.toString();
    }    }
    else  
    {  
       return _CQLVal.toString();  
    }  
 } }
  
 void CQLFactorRep::applyScopes(Array<CQLScope> inScopes)  void CQLFactorRep::applyContext(QueryContext& inContext,
                                   CQLChainedIdentifier& inCid)
 { {
  
    if(_CQLFunct != CQLFunction())     if(_containedType == FUNCTION)
    {    {
       _CQLFunct.applyScopes(inScopes);       _CQLFunct.applyContext(inContext);
    }    }
    else if(_CQLExp != CQLExpression())     else if(_containedType == EXPRESSION)
    {    {
       _CQLExp.applyScopes(inScopes);       _CQLExp.applyContext(inContext);
    }    }
    else    else
    {    {
       _CQLVal.applyScopes(inScopes);       _CQLVal.applyContext(inContext,inCid);
    }    }
    return;    return;
 } }
  
 Boolean CQLFactorRep::operator==(const CQLFactorRep& rep){  Boolean CQLFactorRep::operator==(const CQLFactorRep& rep)const{
          return true;          return true;
 } }
 Boolean CQLFactorRep::operator!=(const CQLFactorRep& rep){  Boolean CQLFactorRep::operator!=(const CQLFactorRep& rep)const{
         return (!operator==(rep));         return (!operator==(rep));
 } }
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.3  
changed lines
  Added in v.1.3.2.10

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2