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

Diff for /pegasus/src/Pegasus/CQL/CQLSelectStatementRep.cpp between version 1.15 and 1.16

version 1.15, 2006/01/30 16:16:39 version 1.16, 2006/05/02 20:26:58
Line 452 
Line 452 
  
   // First check that it is an embedded object   // First check that it is an embedded object
   CIMValue nodeVal = nodeProp.getValue();   CIMValue nodeVal = nodeProp.getValue();
   if (nodeVal.getType() != CIMTYPE_OBJECT)    CIMType nodeValType = nodeVal.getType();
     if (nodeValType != CIMTYPE_OBJECT
   #ifdef PEGASUS_EMBEDDED_INSTANCE_SUPPORT
       && nodeValType != CIMTYPE_INSTANCE
   #endif // PEGASUS_EMBEDDED_INSTANCE_SUPPORT
       )
   {   {
     PEG_TRACE_STRING (TRC_CQL, Tracer::LEVEL4,"not emb");     PEG_TRACE_STRING (TRC_CQL, Tracer::LEVEL4,"not emb");
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
Line 490 
Line 495 
   }   }
  
   CIMObject nodeObj;  // this starts uninitialized   CIMObject nodeObj;  // this starts uninitialized
     CIMInstance nodeInst;
   #ifdef PEGASUS_EMBEDDED_INSTANCE_SUPPORT
     if(nodeValType == CIMTYPE_OBJECT)
     {
   #endif // PEGASUS_EMBEDDED_INSTANCE_SUPPORT
   nodeVal.get(nodeObj);   nodeVal.get(nodeObj);
   if (nodeObj.isUninitialized())   if (nodeObj.isUninitialized())
   {   {
Line 512 
Line 522 
                              nodeProp.getName().getString());                              nodeProp.getName().getString());
     throw CQLRuntimeException(parms);     throw CQLRuntimeException(parms);
   }   }
     nodeInst = CIMInstance(nodeObj);
   #ifdef PEGASUS_EMBEDDED_INSTANCE_SUPPORT
     }
  
   CIMInstance nodeInst(nodeObj);    else if(nodeValType == CIMTYPE_INSTANCE)
     {
       nodeVal.get(nodeInst);
       if (nodeInst.isUninitialized())
       {
         // Not allowed to project on an uninitialized object
         PEG_TRACE_STRING (TRC_CQL, Tracer::LEVEL4,"is uninitialized");
         PEG_METHOD_EXIT();
         MessageLoaderParms parms("CQL.CQLSelectStatementRep.PROJ_UNINIT",
                                 "The embedded object property $0 is uninitialized.",
                                 nodeProp.getName().getString());
         throw CQLRuntimeException(parms);
       }
     }
   #endif // PEGASUS_EMBEDDED_INSTANCE_SUPPORT
   //   //
   // Do the projection.   // Do the projection.
   //   //
Line 598 
Line 624 
                  allowMissing);                  allowMissing);
  
   // Put the projected instance back into the property.   // Put the projected instance back into the property.
   #ifdef PEGASUS_EMBEDDED_INSTANCE_SUPPORT
     if(nodeValType == CIMTYPE_INSTANCE)
     {
       nodeProp.setValue(nodeInst);
     }
     else
   #endif
     {
   CIMObject newNodeObj(nodeInst);   CIMObject newNodeObj(nodeInst);
   CIMValue newNodeVal(newNodeObj);   CIMValue newNodeVal(newNodeObj);
   nodeProp.setValue(newNodeVal);   nodeProp.setValue(newNodeVal);
     }
  
   // Indicate to the caller whether the projected instance   // Indicate to the caller whether the projected instance
   // is still a required property.  It is required if it is an endpoint   // is still a required property.  It is required if it is an endpoint


Legend:
Removed from v.1.15  
changed lines
  Added in v.1.16

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2