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

Diff for /pegasus/src/Pegasus/CQL/CQLIdentifierRep.cpp between version 1.13 and 1.14

version 1.13, 2006/01/30 16:16:38 version 1.14, 2007/04/18 20:14:35
Line 29 
Line 29 
 // //
 //============================================================================== //==============================================================================
 // //
 // 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: Aruran, IBM(ashanmug@in.ibm.com) for Bug# 3589  
 //  
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
 //#include "CQLIdentifier.h" //#include "CQLIdentifier.h"
Line 110 
Line 103 
  
         Uint32 index;         Uint32 index;
         Boolean hasCIMName = true;         Boolean hasCIMName = true;
         if(identifier == String::EMPTY){      if(identifier == String::EMPTY)
       {
                 _name = CIMName();                 _name = CIMName();
                 return;                 return;
         }         }
         // basic error check         // basic error check
         if((index = identifier.find(HASH)) != PEG_NOT_FOUND){      if((index = identifier.find(HASH)) != PEG_NOT_FOUND)
       {
                 if(((index = identifier.find(RBRKT)) != PEG_NOT_FOUND) ||                 if(((index = identifier.find(RBRKT)) != PEG_NOT_FOUND) ||
                         ((index = identifier.find(LBRKT)) != PEG_NOT_FOUND))                         ((index = identifier.find(LBRKT)) != PEG_NOT_FOUND))
                 {                 {
                         //error                         //error
                         MessageLoaderParms parms(String("CQL.CQLIdentifier.HASH_ARRAY_SYMBOL_MISMATCH"),              MessageLoaderParms parms(
                                                  String("The identifier contains a mismatched symbolic constant symbol and an array symbol: $0"),                  String("CQL.CQLIdentifier.HASH_ARRAY_SYMBOL_MISMATCH"),
                   String("The identifier contains a mismatched symbolic"
                       " constant symbol and an array symbol: $0"),
                                                  identifier);                                                  identifier);
                         throw CQLIdentifierParseException(parms);                         throw CQLIdentifierParseException(parms);
                 }                 }
         }         }
  
         String _SCOPE(SCOPE);         String _SCOPE(SCOPE);
         if((index = identifier.find(_SCOPE)) != PEG_NOT_FOUND){      if((index = identifier.find(_SCOPE)) != PEG_NOT_FOUND)
       {
                 _scope = identifier.subString(0,index);                 _scope = identifier.subString(0,index);
                 identifier = identifier.subString(index+2);                 identifier = identifier.subString(index+2);
         }         }
  
         if((index = identifier.find(RBRKT)) != PEG_NOT_FOUND){      if((index = identifier.find(RBRKT)) != PEG_NOT_FOUND)
                 if((index = identifier.find(LBRKT)) != PEG_NOT_FOUND){      {
           if((index = identifier.find(LBRKT)) != PEG_NOT_FOUND)
           {
                   // found array index, parse for ','                   // found array index, parse for ','
                   String range = identifier.subString(index);                   String range = identifier.subString(index);
                   range = range.subString(1,range.size()-2);  // remove left and right bracket              // remove left and right bracket
               range = range.subString(1,range.size()-2);
                   while(index != PEG_NOT_FOUND){                   while(index != PEG_NOT_FOUND){
                         if((index = range.find(',')) != PEG_NOT_FOUND){              if((index = range.find(',')) != PEG_NOT_FOUND)
               {
                                 // Basic query error                                 // Basic query error
                                 MessageLoaderParms parms(String("CQL.CQLIdentifier.TOO_MANY_ARRAY_INDICES"),                  MessageLoaderParms parms(
                                                  String("The identifier contains one or more commas which is not allowed in CQL Basic query: $0"),                      String("CQL.CQLIdentifier.TOO_MANY_ARRAY_INDICES"),
                       String("The identifier contains one or more commas which"
                           " is not allowed in CQL Basic query: $0"),
                                                  identifier);                                                  identifier);
                                 throw CQLIdentifierParseException(parms);                                 throw CQLIdentifierParseException(parms);
                                 //                                 //
Line 151 
Line 155 
                                 //                                 //
                                 //_indices.append(SubRange(range.subString(0,index)));                                 //_indices.append(SubRange(range.subString(0,index)));
                                 //range = range.subString(index+1);                                 //range = range.subString(index+1);
                         }else{              }else
               {
                                 _indices.append(SubRange(range));                                 _indices.append(SubRange(range));
                         }                         }
                   }                   }
                   // remove ranges from identifier                   // remove ranges from identifier
                   identifier = identifier.subString(0,identifier.find(LBRKT));                   identifier = identifier.subString(0,identifier.find(LBRKT));
                 }else{          }
           else
           {
                   // error                   // error
                         MessageLoaderParms parms(String("CQL.CQLIdentifier.ARRAY_SYMBOL_MISMATCH"),              MessageLoaderParms parms(
                   String("CQL.CQLIdentifier.ARRAY_SYMBOL_MISMATCH"),
                                                  String("The identifier contains a mismatched array symbol: $0"),                                                  String("The identifier contains a mismatched array symbol: $0"),
                                                  identifier);                                                  identifier);
                         throw CQLIdentifierParseException(parms);                         throw CQLIdentifierParseException(parms);
                 }                 }
         }else if((index = identifier.find(STAR)) != PEG_NOT_FOUND){      }
       else if((index = identifier.find(STAR)) != PEG_NOT_FOUND)
       {
                 // wildcard                 // wildcard
                 _isWildcard = true;                 _isWildcard = true;
         }else if((index = identifier.find(HASH)) != PEG_NOT_FOUND){      }
       else if((index = identifier.find(HASH)) != PEG_NOT_FOUND)
       {
                 // symbolic constant                 // symbolic constant
  
                 // check if we only have a symbolic constant without a leading identifier          // check if only have a symbolic constant without a leading identifier
                 if(index == 0) hasCIMName = false;                 if(index == 0) hasCIMName = false;
  
                 _isSymbolicConstant = true;                 _isSymbolicConstant = true;
Line 179 
Line 191 
         }         }
  
         // name         // name
         if(!_isWildcard){      if(!_isWildcard)
                 try{      {
           try
           {
                         if(hasCIMName)                         if(hasCIMName)
                                 _name = CIMName(identifier);                                 _name = CIMName(identifier);
                 }catch(Exception e){          }
                         MessageLoaderParms parms(String("CQL.CQLIdentifier.INVALID_CIMNAME"),          catch(Exception e)
           {
               MessageLoaderParms parms(
                   String("CQL.CQLIdentifier.INVALID_CIMNAME"),
                                                  String("The identifier contains an invalid CIMName: $0."),                                                  String("The identifier contains an invalid CIMName: $0."),
                                                  identifier);                                                  identifier);
                         throw CQLIdentifierParseException(parms);                         throw CQLIdentifierParseException(parms);
Line 192 
Line 209 
         }         }
  
 PEG_METHOD_EXIT(); PEG_METHOD_EXIT();
   
 } }
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.13  
changed lines
  Added in v.1.14

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2