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

Diff for /pegasus/src/Pegasus/Server/WQLOperationRequestDispatcher.cpp between version 1.1 and 1.2

version 1.1, 2004/01/27 13:48:11 version 1.2, 2004/06/02 09:01:58
Line 26 
Line 26 
 // Author: Adrain Schuur (schuur@de.ibm.com) // Author: Adrain Schuur (schuur@de.ibm.com)
 // //
 // Modified By: // Modified By:
   //     Amit K Arora, IBM (amita@in.ibm.com) for PEP#101
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
 #include "WQLOperationRequestDispatcher.h" #include "WQLOperationRequestDispatcher.h"
   #include <Pegasus/Common/AutoPtr.h>
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
Line 140 
Line 142 
    CIMExecQueryRequestMessage* request)    CIMExecQueryRequestMessage* request)
 { {
    Boolean exception=false;    Boolean exception=false;
    WQLSelectStatement *selectStatement=new WQLSelectStatement();     AutoPtr<WQLSelectStatement> selectStatement(new WQLSelectStatement());
    WQLQueryExpressionRep *qx;     AutoPtr<WQLQueryExpressionRep> qx;
    CIMException cimException;    CIMException cimException;
    CIMName className;    CIMName className;
  
Line 156 
Line 158 
    }    }
    else {    else {
       try {       try {
          WQLParser::parse(request->query, *selectStatement);           WQLParser::parse(request->query, *selectStatement.get());
          className=selectStatement->getClassName();          className=selectStatement->getClassName();
          qx=new WQLQueryExpressionRep("WQL",selectStatement);           qx.reset(new WQLQueryExpressionRep("WQL",selectStatement.get()));
       }       }
       catch (ParseError& e) {       catch (ParseError& e) {
          cimException =          cimException =
Line 183 
Line 185 
    if (exception) {    if (exception) {
    Array<CIMObject> cimObjects;    Array<CIMObject> cimObjects;
  
    CIMExecQueryResponseMessage* response =     AutoPtr<CIMExecQueryResponseMessage> response(
       new CIMExecQueryResponseMessage(       new CIMExecQueryResponseMessage(
          request->messageId,          request->messageId,
          cimException,          cimException,
          request->queueIds.copyAndPop(),          request->queueIds.copyAndPop(),
          cimObjects);           cimObjects));
  
         STAT_COPYDISPATCHER_REP         STAT_COPYDISPATCHER_REP
         _enqueueResponse(request, response);          _enqueueResponse(request, response.release());
         PEG_METHOD_EXIT();         PEG_METHOD_EXIT();
         return;         return;
     }     }
Line 214 
Line 216 
     catch(CIMException& exception) {     catch(CIMException& exception) {
         // Return exception response if exception from getSubClasses         // Return exception response if exception from getSubClasses
         cimException = exception;         cimException = exception;
         CIMExecQueryResponseMessage* response =          AutoPtr<CIMExecQueryResponseMessage> response(
         new CIMExecQueryResponseMessage(request->messageId,         new CIMExecQueryResponseMessage(request->messageId,
             cimException,             cimException,
             request->queueIds.copyAndPop(),             request->queueIds.copyAndPop(),
             Array<CIMObject>());              Array<CIMObject>()));
  
         _enqueueResponse(request, response);          _enqueueResponse(request, response.release());
         PEG_METHOD_EXIT();         PEG_METHOD_EXIT();
         return;         return;
     }     }
Line 246 
Line 248 
  
         // l10n         // l10n
  
         CIMExecQueryResponseMessage* response =          AutoPtr<CIMExecQueryResponseMessage> response(
             new CIMExecQueryResponseMessage(request->messageId,             new CIMExecQueryResponseMessage(request->messageId,
                 PEGASUS_CIM_EXCEPTION_L(CIM_ERR_NOT_SUPPORTED,                 PEGASUS_CIM_EXCEPTION_L(CIM_ERR_NOT_SUPPORTED,
                     MessageLoaderParms("Server.CIMOperationRequestDispatcher."                     MessageLoaderParms("Server.CIMOperationRequestDispatcher."
                         "QUERY_REQ_TOO_BROAD", "Query request too Broad")),                         "QUERY_REQ_TOO_BROAD", "Query request too Broad")),
                 request->queueIds.copyAndPop(),                 request->queueIds.copyAndPop(),
                 Array<CIMObject>());                  Array<CIMObject>()));
  
    STAT_COPYDISPATCHER    STAT_COPYDISPATCHER
  
    _enqueueResponse(request, response);     _enqueueResponse(request, response.release());
         PEG_METHOD_EXIT();         PEG_METHOD_EXIT();
         return;         return;
     }     }
Line 268 
Line 270 
         PEG_TRACE_STRING(TRC_DISPATCHER, Tracer::LEVEL4,         PEG_TRACE_STRING(TRC_DISPATCHER, Tracer::LEVEL4,
             "CIM_ERROR_NOT_SUPPORTED for " + request->className.getString());             "CIM_ERROR_NOT_SUPPORTED for " + request->className.getString());
  
         CIMExecQueryResponseMessage* response =          AutoPtr<CIMExecQueryResponseMessage> response(
             new CIMExecQueryResponseMessage(request->messageId,             new CIMExecQueryResponseMessage(request->messageId,
                 PEGASUS_CIM_EXCEPTION(CIM_ERR_NOT_SUPPORTED, String::EMPTY),                 PEGASUS_CIM_EXCEPTION(CIM_ERR_NOT_SUPPORTED, String::EMPTY),
                 request->queueIds.copyAndPop(),                 request->queueIds.copyAndPop(),
                 Array<CIMObject>());                  Array<CIMObject>()));
  
    STAT_COPYDISPATCHER    STAT_COPYDISPATCHER
  
    _enqueueResponse(request, response);     _enqueueResponse(request, response.release());
    PEG_METHOD_EXIT();    PEG_METHOD_EXIT();
         return;         return;
     }     }
Line 290 
Line 292 
         request->messageId,         request->messageId,
         request->queueIds.top(),         request->queueIds.top(),
         className,         className,
         qx,          qx.release(),
         "WQL");         "WQL");
  
     // Set the number of expected responses in the OperationAggregate     // Set the number of expected responses in the OperationAggregate
Line 346 
Line 348 
  
             else {             else {
                // if (getenv("CMPI_DEBUG")) asm("int $3");                // if (getenv("CMPI_DEBUG")) asm("int $3");
                CIMExecQueryRequestMessage* requestCopy =                 AutoPtr<CIMExecQueryRequestMessage> requestCopy(
                    new CIMExecQueryRequestMessage(*request);                     new CIMExecQueryRequestMessage(*request));
  
                requestCopy->className = providerInfos[i]._className;                requestCopy->className = providerInfos[i]._className;
  
                _forwardRequestForAggregation(providerInfos[i]._serviceName,                _forwardRequestForAggregation(providerInfos[i]._serviceName,
                    providerInfos[i]._controlProviderName, requestCopy, poA);                     providerInfos[i]._controlProviderName, requestCopy.release(), poA);
             }             }
  
             STAT_PROVIDEREND             STAT_PROVIDEREND
Line 405 
Line 407 
  
                 STAT_PROVIDEREND                 STAT_PROVIDEREND
  
                 CIMEnumerateInstancesResponseMessage* response =                  AutoPtr<CIMEnumerateInstancesResponseMessage> response(
                     new CIMEnumerateInstancesResponseMessage(                     new CIMEnumerateInstancesResponseMessage(
                         request->messageId,                         request->messageId,
                         cimException,                         cimException,
                         request->queueIds.copyAndPop(),                         request->queueIds.copyAndPop(),
                         cimInstances);                          cimInstances));
  
                 STAT_COPYDISPATCHER_REP                 STAT_COPYDISPATCHER_REP
                 Boolean isDoneAggregation = poA->appendResponse(response);                  Boolean isDoneAggregation = poA->appendResponse(response.release());
                 if (isDoneAggregation)                 if (isDoneAggregation)
                 {                 {
                     handleOperationResponseAggregation(poA);                     handleOperationResponseAggregation(poA);


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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2