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

Diff for /pegasus/src/Pegasus/Common/XmlReader.cpp between version 1.120 and 1.122.4.2

version 1.120, 2006/08/24 21:28:13 version 1.122.4.2, 2007/09/11 18:45:04
Line 29 
Line 29 
 // //
 //============================================================================== //==============================================================================
 // //
 // Author: Mike Brasher (mbrasher@bmc.com)  
 //  
 // Modified By: Carol Ann Krug Graves, Hewlett-Packard Company  
 //                  (carolann_graves@hp.com)  
 //              Nitin Upasani, Hewlett-Packard Company (Nitin_Upasani@hp.com)  
 //              Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)  
 //              Sean Keenan, Hewlett-Packard Company (sean.keenan@hp.com)  
 //              Josephine Eskaline Joyce, IBM (jojustin@in.ibm.com) for Bug#3103  
 //  
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
 #include <Pegasus/Common/Config.h> #include <Pegasus/Common/Config.h>
 #include <errno.h> #include <errno.h>
Line 61 
Line 52 
 #ifdef PEGASUS_PLATFORM_OS400_ISERIES_IBM #ifdef PEGASUS_PLATFORM_OS400_ISERIES_IBM
 #include "EBCDIC_OS400.h" #include "EBCDIC_OS400.h"
 #endif #endif
 // l10n  
 #include <Pegasus/Common/MessageLoader.h> #include <Pegasus/Common/MessageLoader.h>
 #include <Pegasus/Common/AutoPtr.h> #include <Pegasus/Common/AutoPtr.h>
 #include "CIMNameUnchecked.h" #include "CIMNameUnchecked.h"
Line 93 
Line 84 
         entry.type != XmlEntry::XML_DECLARATION ||         entry.type != XmlEntry::XML_DECLARATION ||
         strcmp(entry.text, "xml") != 0)         strcmp(entry.text, "xml") != 0)
     {     {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlReader.EXPECTED_XML_STYLE",
   
       // throw XmlValidationError(parser.getLine(),  
       //   "Expected <?xml ... ?> style declaration");  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_XML_STYLE",  
                                  "Expected <?xml ... ?> style declaration");                                  "Expected <?xml ... ?> style declaration");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
   
     }     }
  
     if (!entry.getAttributeValue("version", xmlVersion)) {      if (!entry.getAttributeValue("version", xmlVersion))
       {
       // l10n          MessageLoaderParms mlParms(
               "Common.XmlReader.MISSING_XML_ATTRIBUTE",
       // throw XmlValidationError(  
       //   parser.getLine(), "missing xml.version attribute");  
   
       MessageLoaderParms mlParms("Common.XmlReader.MISSING_XML_ATTRIBUTE",  
                                  "missing xml.version attribute");                                  "missing xml.version attribute");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
  
Line 161 
Line 140 
         entry.type != XmlEntry::START_TAG ||         entry.type != XmlEntry::START_TAG ||
         strcmp(entry.text, tagName) != 0)         strcmp(entry.text, tagName) != 0)
     {     {
       // l10n          MessageLoaderParms mlParms(
               "Common.XmlReader.EXPECTED_OPEN",
       // char message[MESSAGE_SIZE];  
       // sprintf(message, "Expected open of %s element", tagName);  
       // throw XmlValidationError(parser.getLine(), message);  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_OPEN",  
                                  "Expected open of $0 element",                                  "Expected open of $0 element",
                                  tagName);                                  tagName);
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
 } }
Line 189 
Line 162 
         entry.type != XmlEntry::END_TAG ||         entry.type != XmlEntry::END_TAG ||
         strcmp(entry.text, tagName) != 0)         strcmp(entry.text, tagName) != 0)
     {     {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlReader.EXPECTED_CLOSE",
   
       // char message[MESSAGE_SIZE];  
       // sprintf(message, "Expected close of %s element, got %s instead",  
       //     tagName,entry.text);  
       // throw XmlValidationError(parser.getLine(), message);  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_CLOSE",  
                                  "Expected close of $0 element, got $1 instead",                                  "Expected close of $0 element, got $1 instead",
                                  tagName,entry.text);                                  tagName,entry.text);
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
 } }
Line 221 
Line 186 
         entry.type != XmlEntry::EMPTY_TAG) ||         entry.type != XmlEntry::EMPTY_TAG) ||
         strcmp(entry.text, tagName) != 0)         strcmp(entry.text, tagName) != 0)
     {     {
       // l10n          MessageLoaderParms mlParms(
               "Common.XmlReader.EXPECTED_OPENCLOSE",
       // char message[MESSAGE_SIZE];  
       // sprintf(message,  
       //   "Expected either open or open/close %s element", tagName);  
       // throw XmlValidationError(parser.getLine(), message);  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_OPENCLOSE",  
                                  "Expected either open or open/close $0 element",                                  "Expected either open or open/close $0 element",
                                  tagName);                                  tagName);
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
 } }
Line 250 
Line 208 
         (entry.type != XmlEntry::CONTENT &&         (entry.type != XmlEntry::CONTENT &&
         entry.type != XmlEntry::CDATA))         entry.type != XmlEntry::CDATA))
     {     {
       // l10n          MessageLoaderParms mlParms(
               "Common.XmlReader.EXPECTED_CDATA",
       // throw XmlValidationError(parser.getLine(),  
       //               "Expected content of CDATA");  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_CDATA",  
                                  "Expected content of CDATA");                                  "Expected content of CDATA");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
   
     }     }
  
     return true;     return true;
Line 392 
Line 344 
     XmlEntry entry;     XmlEntry entry;
     XmlReader::expectStartTag(parser, entry, "CIM");     XmlReader::expectStartTag(parser, entry, "CIM");
  
     if (!entry.getAttributeValue("CIMVERSION", cimVersion)) {      if (!entry.getAttributeValue("CIMVERSION", cimVersion))
       {
       // l10n          MessageLoaderParms mlParms(
               "Common.XmlReader.MISSING_CIMVERSION_ATTRIBUTE",
       // throw XmlValidationError(  
       //   parser.getLine(), "missing CIM.CIMVERSION attribute");  
   
       MessageLoaderParms mlParms("Common.XmlReader.MISSING_CIMVERSION_ATTRIBUTE",  
                                  "missing CIM.CIMVERSION attribute");                                  "missing CIM.CIMVERSION attribute");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
  
     if (!entry.getAttributeValue("DTDVERSION", dtdVersion)){      if (!entry.getAttributeValue("DTDVERSION", dtdVersion))
       {
       // l10n          MessageLoaderParms mlParms(
               "Common.XmlReader.MISSING_DTDVERSION_ATTRIBUTE",
       // throw XmlValidationError(  
       //   parser.getLine(), "missing CIM.DTDVERSION attribute");  
   
       MessageLoaderParms mlParms("Common.XmlReader.MISSING_DTDVERSION_ATTRIBUTE",  
                                  "missing CIM.DTDVERSION attribute");                                  "missing CIM.DTDVERSION attribute");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
 } }
Line 437 
Line 379 
  
     if (!entry.getAttributeValue("NAME", name))     if (!entry.getAttributeValue("NAME", name))
       {       {
   
         // l10n  
   
         // char buffer[MESSAGE_SIZE];  
         // sprintf(buffer, "missing %s.NAME attribute", elementName);  
         // throw XmlValidationError(lineNumber, buffer);  
   
         char buffer[MESSAGE_SIZE];         char buffer[MESSAGE_SIZE];
         sprintf(buffer, "%s.NAME", elementName);         sprintf(buffer, "%s.NAME", elementName);
         MessageLoaderParms mlParms("Common.XmlReader.MISSING_ATTRIBUTE",          MessageLoaderParms mlParms(
               "Common.XmlReader.MISSING_ATTRIBUTE",
                                    "missing $0 attribute",                                    "missing $0 attribute",
                                    buffer);                                    buffer);
  
Line 464 
Line 400 
     name = "BADNAMESUBSTITUTEDBYPEGASUSCLIENT";     name = "BADNAMESUBSTITUTEDBYPEGASUSCLIENT";
 #else #else
  
     // l10n  
   
     // char buffer[MESSAGE_SIZE];  
     // sprintf(buffer, "Illegal value for %s.NAME attribute", elementName);  
     // throw XmlSemanticError(lineNumber, buffer);  
   
     char buffer[MESSAGE_SIZE];     char buffer[MESSAGE_SIZE];
     sprintf(buffer, "%s.NAME", elementName);     sprintf(buffer, "%s.NAME", elementName);
  
     MessageLoaderParms mlParms("Common.XmlReader.ILLEGAL_VALUE_FOR_ATTRIBUTE",      MessageLoaderParms mlParms(
           "Common.XmlReader.ILLEGAL_VALUE_FOR_ATTRIBUTE",
                                "Illegal value for $0 attribute",                                "Illegal value for $0 attribute",
                                buffer);                                buffer);
  
Line 501 
Line 432 
  
     if (!entry.getAttributeValue("CLASSNAME", name))     if (!entry.getAttributeValue("CLASSNAME", name))
     {     {
   
   
       // l10n  
   
       // char buffer[MESSAGE_SIZE];  
       // sprintf(buffer, "missing %s.CLASSNAME attribute", elementName);  
       // throw XmlValidationError(lineNumber, buffer);  
   
       char buffer[MESSAGE_SIZE];       char buffer[MESSAGE_SIZE];
       sprintf(buffer, "%s.CLASSNAME", elementName);       sprintf(buffer, "%s.CLASSNAME", elementName);
  
       MessageLoaderParms mlParms("Common.XmlReader.MISSING_ATTRIBUTE",          MessageLoaderParms mlParms(
               "Common.XmlReader.MISSING_ATTRIBUTE",
                                  "missing $0 attribute",                                  "missing $0 attribute",
                                  buffer);                                  buffer);
  
       throw XmlValidationError(lineNumber, mlParms);       throw XmlValidationError(lineNumber, mlParms);
   
     }     }
  
     if (!CIMName::legal(name))     if (!CIMName::legal(name))
     {     {
       // l10n  
   
       // char buffer[MESSAGE_SIZE];  
       // sprintf(buffer,  
       //   "Illegal value for %s.CLASSNAME attribute", elementName);  
       // throw XmlSemanticError(lineNumber, buffer);  
   
       char buffer[MESSAGE_SIZE];       char buffer[MESSAGE_SIZE];
       sprintf(buffer, "%s.CLASSNAME", elementName);       sprintf(buffer, "%s.CLASSNAME", elementName);
  
       MessageLoaderParms mlParms("Common.XmlReader.ILLEGAL_VALUE_FOR_ATTRIBUTE",          MessageLoaderParms mlParms(
               "Common.XmlReader.ILLEGAL_VALUE_FOR_ATTRIBUTE",
                                  "Illegal value for $0 attribute",                                  "Illegal value for $0 attribute",
                                  buffer);                                  buffer);
   
       throw XmlSemanticError(lineNumber, mlParms);       throw XmlSemanticError(lineNumber, mlParms);
   
     }     }
  
     return name;     return name;
Line 563 
Line 478 
  
     if (!CIMName::legal(name))     if (!CIMName::legal(name))
     {     {
       // l10n  
   
       // char buffer[MESSAGE_SIZE];  
       // sprintf(buffer,  
       //    "Illegal value for %s.CLASSORIGIN attribute", tagName);  
       // throw XmlSemanticError(lineNumber, buffer);  
   
       char buffer[MESSAGE_SIZE];       char buffer[MESSAGE_SIZE];
       sprintf(buffer, "%s.CLASSORIGIN", tagName);       sprintf(buffer, "%s.CLASSORIGIN", tagName);
  
       MessageLoaderParms mlParms("Common.XmlReader.ILLEGAL_VALUE_FOR_ATTRIBUTE",          MessageLoaderParms mlParms(
               "Common.XmlReader.ILLEGAL_VALUE_FOR_ATTRIBUTE",
                                  "Illegal value for $0 attribute",                                  "Illegal value for $0 attribute",
                                  buffer);                                  buffer);
   
       throw XmlSemanticError(lineNumber, mlParms);       throw XmlSemanticError(lineNumber, mlParms);
     }     }
  
Line 604 
Line 512 
     // The embeddedObject attribute, if present, must have the string     // The embeddedObject attribute, if present, must have the string
     // value "object" or "instance".     // value "object" or "instance".
     if (!(String::equal(embeddedObject, "object") ||     if (!(String::equal(embeddedObject, "object") ||
           String::equal(embeddedObject, "instance")            String::equal(embeddedObject, "instance")))
           )      {
         )  
     {  
       // l10n  
   
       // char buffer[MESSAGE_SIZE];  
       // sprintf(buffer,  
       //   "Illegal value for %s.EMBEDDEDOBJECT attribute", elementName);  
       // throw XmlSemanticError(lineNumber, buffer);  
   
       char buffer[MESSAGE_SIZE];       char buffer[MESSAGE_SIZE];
       sprintf(buffer, "%s.EMBEDDEDOBJECT", elementName);       sprintf(buffer, "%s.EMBEDDEDOBJECT", elementName);
  
       MessageLoaderParms mlParms("Common.XmlReader.ILLEGAL_VALUE_FOR_ATTRIBUTE",          MessageLoaderParms mlParms(
               "Common.XmlReader.ILLEGAL_VALUE_FOR_ATTRIBUTE",
                                  "Illegal value for $0 attribute",                                  "Illegal value for $0 attribute",
                                  buffer);                                  buffer);
   
       throw XmlSemanticError(lineNumber, mlParms);       throw XmlSemanticError(lineNumber, mlParms);
   
     }     }
  
     return embeddedObject;     return embeddedObject;
Line 654 
Line 552 
     return name;     return name;
 #endif #endif
  
     // l10n  
   
     // char buffer[MESSAGE_SIZE];  
     // sprintf(buffer,  
     //     "Illegal value for %s.REFERENCECLASS attribute", elementName);  
     // throw XmlSemanticError(lineNumber, buffer);  
   
     char buffer[MESSAGE_SIZE];     char buffer[MESSAGE_SIZE];
     sprintf(buffer, "%s.REFERENCECLASS", elementName);     sprintf(buffer, "%s.REFERENCECLASS", elementName);
  
     MessageLoaderParms mlParms("Common.XmlReader.ILLEGAL_VALUE_FOR_ATTRIBUTE",          MessageLoaderParms mlParms(
               "Common.XmlReader.ILLEGAL_VALUE_FOR_ATTRIBUTE",
                                "Illegal value for $0 attribute",                                "Illegal value for $0 attribute",
                                buffer);                                buffer);
   
     throw XmlSemanticError(lineNumber, mlParms);     throw XmlSemanticError(lineNumber, mlParms);
     }     }
  
Line 694 
Line 585 
  
     if (!CIMName::legal(superClass))     if (!CIMName::legal(superClass))
     {     {
   
       // l10n  
   
       // char buffer[MESSAGE_SIZE];  
       // sprintf(  
       //   buffer, "Illegal value for %s.SUPERCLASS attribute", tagName);  
       // throw XmlSemanticError(lineNumber, buffer);  
   
       char buffer[MESSAGE_SIZE];       char buffer[MESSAGE_SIZE];
       sprintf(buffer, "%s.SUPERCLASS", tagName);       sprintf(buffer, "%s.SUPERCLASS", tagName);
  
       MessageLoaderParms mlParms("Common.XmlReader.ILLEGAL_VALUE_FOR_ATTRIBUTE",          MessageLoaderParms mlParms(
               "Common.XmlReader.ILLEGAL_VALUE_FOR_ATTRIBUTE",
                                  "Illegal value for $0 attribute",                                  "Illegal value for $0 attribute",
                                  buffer);                                  buffer);
   
       throw XmlSemanticError(lineNumber, mlParms);       throw XmlSemanticError(lineNumber, mlParms);
     }     }
  
Line 747 
Line 630 
     {     {
         if (required)         if (required)
         {         {
   
           // l10n  
   
           // char message[MESSAGE_SIZE];  
           // sprintf(message, "missing %s.%s attribute", tagName, attributeName);  
           // throw XmlValidationError(lineNumber, message);  
   
           char message[MESSAGE_SIZE];           char message[MESSAGE_SIZE];
           sprintf(message, "%s.%s", tagName, attributeName);           sprintf(message, "%s.%s", tagName, attributeName);
  
           MessageLoaderParms mlParms("Common.XmlReader.MISSING_ATTRIBUTE",              MessageLoaderParms mlParms(
                   "Common.XmlReader.MISSING_ATTRIBUTE",
                                      "missing $0 attribute",                                      "missing $0 attribute",
                                      message);                                      message);
   
           throw XmlValidationError(lineNumber, mlParms);           throw XmlValidationError(lineNumber, mlParms);
   
         }         }
         else         else
           {           {
Line 805 
Line 680 
         type = CIMTYPE_REFERENCE;         type = CIMTYPE_REFERENCE;
 //  PEP 194: //  PEP 194:
 //  Note that "object" (ie. CIMTYPE_OBJECT) is not a real CIM datatype, just a //  Note that "object" (ie. CIMTYPE_OBJECT) is not a real CIM datatype, just a
 //  Pegasus internal representation of an embedded object, so it won't be found here.  //  Pegasus internal representation of an embedded object, so it won't be
   //  found here.
     else unrecognizedType = true;     else unrecognizedType = true;
  
     if (unrecognizedType ||     if (unrecognizedType ||
         ((type == CIMTYPE_REFERENCE) &&         ((type == CIMTYPE_REFERENCE) &&
          (strcmp(attributeName, "PARAMTYPE") != 0)))          (strcmp(attributeName, "PARAMTYPE") != 0)))
     {     {
       // l10n  
   
       // char message[MESSAGE_SIZE];  
       // sprintf(message, "Illegal value for %s.%s attribute", tagName,  
       //       attributeName);  
       // throw XmlSemanticError(lineNumber, message);  
   
       char buffer[MESSAGE_SIZE];       char buffer[MESSAGE_SIZE];
       sprintf(buffer, "%s.%s", tagName, attributeName);       sprintf(buffer, "%s.%s", tagName, attributeName);
  
       MessageLoaderParms mlParms("Common.XmlReader.ILLEGAL_VALUE_FOR_ATTRIBUTE",          MessageLoaderParms mlParms(
               "Common.XmlReader.ILLEGAL_VALUE_FOR_ATTRIBUTE",
                                  "Illegal value for $0 attribute",                                  "Illegal value for $0 attribute",
                                  buffer);                                  buffer);
  
Line 854 
Line 724 
         if (!required)         if (!required)
             return defaultValue;             return defaultValue;
  
         // l10n  
   
         // char buffer[62];  
         // sprintf(buffer, "missing required %s.%s attribute",  
         // attributeName, tagName);  
   
         // throw XmlValidationError(lineNumber, buffer);  
   
         char buffer[62];         char buffer[62];
         sprintf(buffer, "%s.%s", attributeName, tagName);         sprintf(buffer, "%s.%s", attributeName, tagName);
  
         MessageLoaderParms mlParms("Common.XmlReader.MISSING_REQUIRED_ATTRIBUTE",          MessageLoaderParms mlParms(
               "Common.XmlReader.MISSING_REQUIRED_ATTRIBUTE",
                                    "missing required $0 attribute",                                    "missing required $0 attribute",
                                    buffer);                                    buffer);
   
         throw XmlValidationError(lineNumber, mlParms);         throw XmlValidationError(lineNumber, mlParms);
     }     }
  
Line 877 
Line 739 
     else if (strcmp(tmp, "false") == 0)     else if (strcmp(tmp, "false") == 0)
         return false;         return false;
  
     // l10n  
   
     // char buffer[62];  
     // sprintf(buffer, "Invalid %s.%s attribute value", attributeName, tagName);  
     // throw XmlSemanticError(lineNumber, buffer);  
   
     char buffer[62];     char buffer[62];
     sprintf(buffer, "%s.%s", attributeName, tagName);     sprintf(buffer, "%s.%s", attributeName, tagName);
  
     MessageLoaderParms mlParms("Common.XmlReader.INVALID_ATTRIBUTE",      MessageLoaderParms mlParms(
           "Common.XmlReader.INVALID_ATTRIBUTE",
                                "Invalid $0 attribute value",                                "Invalid $0 attribute value",
                                buffer);                                buffer);
  
Line 1009 
Line 866 
         {         {
             if (i+2 >= uriString.size())             if (i+2 >= uriString.size())
             {             {
               // l10n                  MessageLoaderParms mlParms(
                       "Common.XmlReader.INVALID_URI_ENCODING",
               // throw ParseError("Invalid URI encoding");  
   
               MessageLoaderParms mlParms("Common.XmlReader.INVALID_URI_ENCODING",  
                                          "Invalid URI encoding");                                          "Invalid URI encoding");
   
               throw ParseError(MessageLoader::getMessage(mlParms));               throw ParseError(MessageLoader::getMessage(mlParms));
   
             }             }
  
             Uint8 digit1 = _xmlReader_hexCharToNumeric(char(uriString[++i]));             Uint8 digit1 = _xmlReader_hexCharToNumeric(char(uriString[++i]));
             Uint8 digit2 = _xmlReader_hexCharToNumeric(char(uriString[++i]));             Uint8 digit2 = _xmlReader_hexCharToNumeric(char(uriString[++i]));
             if ( (digit1 > 15) || (digit2 > 15) )             if ( (digit1 > 15) || (digit2 > 15) )
             {             {
               // l10n                  MessageLoaderParms mlParms(
                       "Common.XmlReader.INVALID_URI_ENCODING",
               // throw ParseError("Invalid URI encoding");  
   
               MessageLoaderParms mlParms("Common.XmlReader.INVALID_URI_ENCODING",  
                                          "Invalid URI encoding");                                          "Invalid URI encoding");
   
               throw ParseError(MessageLoader::getMessage(mlParms));               throw ParseError(MessageLoader::getMessage(mlParms));
             }             }
  
Line 1306 
Line 1154 
                 return CIMValue(true);                 return CIMValue(true);
             else if (System::strcasecmp(valueString, "FALSE") == 0)             else if (System::strcasecmp(valueString, "FALSE") == 0)
                 return CIMValue(false);                 return CIMValue(false);
             else {              else
               {
               // l10n                  MessageLoaderParms mlParms(
                       "Common.XmlReader.INVALID_BOOLEAN_VALUE",
               //  throw XmlSemanticError(  
               //             lineNumber, "Invalid boolean value");  
   
               MessageLoaderParms mlParms("Common.XmlReader.INVALID_BOOLEAN_VALUE",  
                                          "Invalid boolean value");                                          "Invalid boolean value");
   
               throw XmlSemanticError(lineNumber, mlParms);               throw XmlSemanticError(lineNumber, mlParms);
   
             }             }
         }         }
  
Line 1331 
Line 1173 
  
 // remove this test, utf-8 can be up to 6 bytes per char // remove this test, utf-8 can be up to 6 bytes per char
 /* /*
           if (strlen(valueString) != 1) {              if (strlen(valueString) != 1)
             // l10n              {
                   MessageLoaderParms mlParms(
             // throw XmlSemanticError(lineNumber, "Invalid char16 value");                      "Common.XmlReader.INVALID_CHAR16_VALUE",
   
             MessageLoaderParms mlParms("Common.XmlReader.INVALID_CHAR16_VALUE",  
                                        "Invalid char16 value");                                        "Invalid char16 value");
   
             throw XmlSemanticError(lineNumber, mlParms);             throw XmlSemanticError(lineNumber, mlParms);
           }           }
 */ */
Line 1346 
Line 1185 
           String tmp(valueString);           String tmp(valueString);
           if (tmp.size() != 1)           if (tmp.size() != 1)
           {           {
             // l10n                  MessageLoaderParms mlParms(
                       "Common.XmlReader.INVALID_CHAR16_VALUE",
             // throw XmlSemanticError(lineNumber, "Invalid char16 value");  
   
             MessageLoaderParms mlParms("Common.XmlReader.INVALID_CHAR16_VALUE",  
                                        "Invalid char16 value");                                        "Invalid char16 value");
   
             throw XmlSemanticError(lineNumber, mlParms);             throw XmlSemanticError(lineNumber, mlParms);
           }           }
  
Line 1368 
Line 1203 
  
             if (!stringToUnsignedInteger(valueString, x))             if (!stringToUnsignedInteger(valueString, x))
             {             {
                   MessageLoaderParms mlParms(
               // l10n                      "Common.XmlReader.INVALID_UI_VALUE",
   
               // throw XmlSemanticError(  
               //   lineNumber, "Invalid unsigned integer value");  
   
               MessageLoaderParms mlParms("Common.XmlReader.INVALID_UI_VALUE",  
                                          "Invalid unsigned integer value");                                          "Invalid unsigned integer value");
   
               throw XmlSemanticError(lineNumber, mlParms);               throw XmlSemanticError(lineNumber, mlParms);
   
             }             }
  
             switch (type)             switch (type)
Line 1387 
Line 1215 
                 {                 {
                     if (x >= (Uint64(1)<<8))                     if (x >= (Uint64(1)<<8))
                     {                     {
                           MessageLoaderParms mlParms(
                       // l10n                              "Common.XmlReader.U8_VALUE_OUT_OF_RANGE",
   
                       // throw XmlSemanticError(  
                       //   lineNumber, "Uint8 value out of range");  
   
                       MessageLoaderParms mlParms("Common.XmlReader.U8_VALUE_OUT_OF_RANGE",  
                                                  "Uint8 value out of range");                                                  "Uint8 value out of range");
   
                       throw XmlSemanticError(lineNumber, mlParms);                       throw XmlSemanticError(lineNumber, mlParms);
                     }                     }
                     return CIMValue(Uint8(x));                     return CIMValue(Uint8(x));
Line 1404 
Line 1226 
                 {                 {
                     if (x >= (Uint64(1)<<16))                     if (x >= (Uint64(1)<<16))
                     {                     {
                           MessageLoaderParms mlParms(
                       // l10n                              "Common.XmlReader.U16_VALUE_OUT_OF_RANGE",
   
                       // throw XmlSemanticError(  
                       //             lineNumber, "Uint16 value out of range");  
   
                       MessageLoaderParms mlParms("Common.XmlReader.U16_VALUE_OUT_OF_RANGE",  
                                                  "Uint16 value out of range");                                                  "Uint16 value out of range");
   
                       throw XmlSemanticError(lineNumber, mlParms);                       throw XmlSemanticError(lineNumber, mlParms);
   
                     }                     }
                     return CIMValue(Uint16(x));                     return CIMValue(Uint16(x));
                 }                 }
Line 1422 
Line 1237 
                 {                 {
                     if (x >= (Uint64(1)<<32))                     if (x >= (Uint64(1)<<32))
                     {                     {
                           MessageLoaderParms mlParms(
                       // l10n                              "Common.XmlReader.U32_VALUE_OUT_OF_RANGE",
   
                       // throw XmlSemanticError(  
                       //   lineNumber, "Uint32 value out of range");  
   
                       MessageLoaderParms mlParms("Common.XmlReader.U32_VALUE_OUT_OF_RANGE",  
                                                  "Uint32 value out of range");                                                  "Uint32 value out of range");
   
                       throw XmlSemanticError(lineNumber, mlParms);                       throw XmlSemanticError(lineNumber, mlParms);
                     }                     }
                     return CIMValue(Uint32(x));                     return CIMValue(Uint32(x));
Line 1449 
Line 1258 
  
             if (!stringToSignedInteger(valueString, x))             if (!stringToSignedInteger(valueString, x))
             {             {
                   MessageLoaderParms mlParms(
               // l10n                      "Common.XmlReader.INVALID_SI_VALUE",
   
               // throw XmlSemanticError(  
               //   lineNumber, "Invalid signed integer value");  
   
               MessageLoaderParms mlParms("Common.XmlReader.INVALID_SI_VALUE",  
                                          "Invalid signed integer value");                                          "Invalid signed integer value");
   
               throw XmlSemanticError(lineNumber, mlParms);               throw XmlSemanticError(lineNumber, mlParms);
   
             }             }
  
             switch (type)             switch (type)
Line 1468 
Line 1270 
                 {                 {
                     if(  (x >= (Sint64(1)<<7)) || (x < (-(Sint64(1)<<7))) )                     if(  (x >= (Sint64(1)<<7)) || (x < (-(Sint64(1)<<7))) )
                     {                     {
                           MessageLoaderParms mlParms(
                       // l10n                              "Common.XmlReader.S8_VALUE_OUT_OF_RANGE",
   
                       // throw XmlSemanticError(  
                       //   lineNumber, "Sint8 value out of range");  
   
                       MessageLoaderParms mlParms("Common.XmlReader.S8_VALUE_OUT_OF_RANGE",  
                                                  "Sint8 value out of range");                                                  "Sint8 value out of range");
   
                       throw XmlSemanticError(lineNumber, mlParms);                       throw XmlSemanticError(lineNumber, mlParms);
                     }                     }
                     return CIMValue(Sint8(x));                     return CIMValue(Sint8(x));
Line 1485 
Line 1281 
                 {                 {
                     if(  (x >= (Sint64(1)<<15)) || (x < (-(Sint64(1)<<15))) )                     if(  (x >= (Sint64(1)<<15)) || (x < (-(Sint64(1)<<15))) )
                     {                     {
                           MessageLoaderParms mlParms(
                       // l10n                              "Common.XmlReader.S16_VALUE_OUT_OF_RANGE",
   
                       // throw XmlSemanticError(  
                       //   lineNumber, "Sint16 value out of range");  
   
                       MessageLoaderParms mlParms("Common.XmlReader.S16_VALUE_OUT_OF_RANGE",  
                                                  "Sint16 value out of range");                                                  "Sint16 value out of range");
   
                       throw XmlSemanticError(lineNumber, mlParms);                       throw XmlSemanticError(lineNumber, mlParms);
                     }                     }
                     return CIMValue(Sint16(x));                     return CIMValue(Sint16(x));
Line 1502 
Line 1292 
                 {                 {
                     if(  (x >= (Sint64(1)<<31)) || (x < (-(Sint64(1)<<31))) )                     if(  (x >= (Sint64(1)<<31)) || (x < (-(Sint64(1)<<31))) )
                     {                     {
                           MessageLoaderParms mlParms(
                       // l10n                              "Common.XmlReader.S32_VALUE_OUT_OF_RANGE",
   
                       // throw XmlSemanticError(  
                       //   lineNumber, "Sint32 value out of range");  
   
                       MessageLoaderParms mlParms("Common.XmlReader.S32_VALUE_OUT_OF_RANGE",  
                                                  "Sint32 value out of range");                                                  "Sint32 value out of range");
   
                       throw XmlSemanticError(lineNumber, mlParms);                       throw XmlSemanticError(lineNumber, mlParms);
                     }                     }
                     return CIMValue(Sint32(x));                     return CIMValue(Sint32(x));
Line 1526 
Line 1310 
  
             try             try
             {             {
             // KS 20021002 - Exception if no datatime value. Test for                  // KS 20021002 - Exception if no datetime value. Test for
             // zero length and leave the NULL value in the variable             // zero length and leave the NULL value in the variable
             // Bugzilla 137  Adds the following if line.             // Bugzilla 137  Adds the following if line.
             // Expect this to become permanent but test only for now             // Expect this to become permanent but test only for now
Line 1537 
Line 1321 
             }             }
             catch (InvalidDateTimeFormatException&)             catch (InvalidDateTimeFormatException&)
             {             {
                   MessageLoaderParms mlParms(
               // l10n                      "Common.XmlReader.INVALID_DATETIME_VALUE",
   
               // throw XmlSemanticError(lineNumber, "Invalid datetime value");  
   
               MessageLoaderParms mlParms("Common.XmlReader.INVALID_DATETIME_VALUE",  
                                          "Invalid datetime value");                                          "Invalid datetime value");
   
               throw XmlSemanticError(lineNumber, mlParms);               throw XmlSemanticError(lineNumber, mlParms);
             }             }
  
Line 1555 
Line 1334 
         {         {
             Real64 x;             Real64 x;
  
             if (!stringToReal(valueString, x)) {              if (!stringToReal(valueString, x))
               {
               // l10n                  MessageLoaderParms mlParms(
                       "Common.XmlReader.INVALID_RN_VALUE",
               // throw XmlSemanticError(lineNumber, "Invalid real number value");  
   
               MessageLoaderParms mlParms("Common.XmlReader.INVALID_RN_VALUE",  
                                          "Invalid real number value");                                          "Invalid real number value");
   
               throw XmlSemanticError(lineNumber, mlParms);               throw XmlSemanticError(lineNumber, mlParms);
             }             }
             return CIMValue(Real32(x));             return CIMValue(Real32(x));
Line 1573 
Line 1348 
         {         {
             Real64 x;             Real64 x;
  
             if (!stringToReal(valueString, x)) {              if (!stringToReal(valueString, x))
               {
               // l10n                  MessageLoaderParms mlParms(
                       "Common.XmlReader.INVALID_RN_VALUE",
               // throw XmlSemanticError(lineNumber, "Invalid real number value");  
   
               MessageLoaderParms mlParms("Common.XmlReader.INVALID_RN_VALUE",  
                                          "Invalid real number value");                                          "Invalid real number value");
   
               throw XmlSemanticError(lineNumber, mlParms);               throw XmlSemanticError(lineNumber, mlParms);
             }             }
             return CIMValue(x);             return CIMValue(x);
         }         }
  
 //  PEP 194: //  PEP 194:
 //  Note that "object" (ie. CIMTYPE_OBJECT) is not a real CIM datatype, but just a  //  Note that "object" (ie. CIMTYPE_OBJECT) is not a real CIM datatype, but
 //  Pegasus internal representation of an embedded object. However, this case is  //  just a Pegasus internal representation of an embedded object. However,
 //  used when decoding string representations of embedded objects.  //  this case is used when decoding string representations of embedded objects.
     case CIMTYPE_OBJECT:     case CIMTYPE_OBJECT:
 #ifdef PEGASUS_EMBEDDED_INSTANCE_SUPPORT #ifdef PEGASUS_EMBEDDED_INSTANCE_SUPPORT
     case CIMTYPE_INSTANCE:     case CIMTYPE_INSTANCE:
Line 1604 
Line 1375 
         }         }
         else         else
         {         {
             // Convert the non-NULL string to a CIMObject (containing either a                  // Convert the non-NULL string to a CIMObject (containing
             // CIMInstance or a CIMClass).                  // either a CIMInstance or a CIMClass).
  
             // First we need to create a new "temporary" XmlParser that is             // First we need to create a new "temporary" XmlParser that is
             // just the value of the Embedded Object in String representation.                  // just the value of the Embedded Object in String
             AutoArrayPtr<char> tmp_buffer(new char[strlen(valueString) + 1]);                  // representation.
                   AutoArrayPtr<char> tmp_buffer(
                       new char[strlen(valueString) + 1]);
             strcpy(tmp_buffer.get(), valueString);             strcpy(tmp_buffer.get(), valueString);
             XmlParser tmp_parser(tmp_buffer.get());             XmlParser tmp_parser(tmp_buffer.get());
  
             // The next bit of logic constructs a CIMObject from the Embedded Object String.                  // The next bit of logic constructs a CIMObject from the
             // It is similar to the method XmlReader::getValueObjectElement().                  // Embedded Object String.  It is similar to the method
                   // XmlReader::getValueObjectElement().
             CIMInstance cimInstance;             CIMInstance cimInstance;
             CIMClass cimClass;             CIMClass cimClass;
  
Line 1632 
Line 1406 
             }             }
             else             else
             {             {
                 // l10n  
   
                 // throw XmlValidationError(parser.getLine(),  
                 //   "Expected INSTANCE or CLASS element");  
 #ifdef PEGASUS_EMBEDDED_INSTANCE_SUPPORT #ifdef PEGASUS_EMBEDDED_INSTANCE_SUPPORT
                 if(type == CIMTYPE_OBJECT)                 if(type == CIMTYPE_OBJECT)
                 {                 {
                     MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_INSTANCE_OR_CLASS_ELEMENT",                          // change "element" to "embedded object"
                         "Expected INSTANCE or CLASS element"); // change "element" to "embedded object"                          MessageLoaderParms mlParms(
                               "Common.XmlReader."
                                   "EXPECTED_INSTANCE_OR_CLASS_ELEMENT",
                               "Expected INSTANCE or CLASS element");
                     throw XmlValidationError(lineNumber, mlParms);                     throw XmlValidationError(lineNumber, mlParms);
                 }                 }
                 else                 else
                 {                 {
                     MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_INSTANCE_ELEMENT",                          // change "element" to "embedded object"
                         "Expected INSTANCE element"); // change "element" to "embedded object"                          MessageLoaderParms mlParms(
                               "Common.XmlReader.EXPECTED_INSTANCE_ELEMENT",
                               "Expected INSTANCE element");
                     throw XmlValidationError(lineNumber, mlParms);                     throw XmlValidationError(lineNumber, mlParms);
                 }                 }
 #else #else
                 MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_INSTANCE_OR_CLASS_ELEMENT",                      // change "element" to "embedded object"
                     "Expected INSTANCE or CLASS element"); // change "element" to "embedded object"                      MessageLoaderParms mlParms(
                           "Common.XmlReader.EXPECTED_INSTANCE_OR_CLASS_ELEMENT",
                           "Expected INSTANCE or CLASS element");
                 throw XmlValidationError(lineNumber, mlParms);                 throw XmlValidationError(lineNumber, mlParms);
 #endif // PEGASUS_EMBEDDED_INSTANCE_SUPPORT #endif // PEGASUS_EMBEDDED_INSTANCE_SUPPORT
             }             }
             // Ok, now we can delete the storage for the temporary XmlParser.                  // Ok, now we can delete the storage for the temporary
                   // XmlParser.
             tmp_buffer.reset();             tmp_buffer.reset();
         }         }
         return CIMValue(x);         return CIMValue(x);
Line 1666 
Line 1443 
             break;             break;
     }     }
  
     // l10n      MessageLoaderParms mlParms(
           "Common.XmlReader.MALFORMED_XML",
     // throw XmlSemanticError(lineNumber, "malformed XML");  
   
     MessageLoaderParms mlParms("Common.XmlReader.MALFORMED_XML",  
                                "malformed XML");                                "malformed XML");
   
     throw XmlSemanticError(lineNumber, mlParms);     throw XmlSemanticError(lineNumber, mlParms);
  
     return false;     return false;
Line 1773 
Line 1546 
  
     if (!testStartTagOrEmptyTag(parser, entry, "VALUE"))     if (!testStartTagOrEmptyTag(parser, entry, "VALUE"))
     {     {
       if (required) {          if (required)
           {
         // l10n              MessageLoaderParms mlParms(
                   "Common.XmlReader.EXPECTED_VALUE_ELEMENT",
         // throw XmlValidationError(parser.getLine(),"Expected VALUE element");  
   
         MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_VALUE_ELEMENT",  
                                    "Expected VALUE element");                                    "Expected VALUE element");
   
         throw XmlValidationError(parser.getLine(), mlParms);         throw XmlValidationError(parser.getLine(), mlParms);
   
   
       }       }
       return false;       return false;
     }     }
Line 1930 
Line 1697 
             return StringArrayToValueAux(lineNumber, array, type, (Sint64*)0);             return StringArrayToValueAux(lineNumber, array, type, (Sint64*)0);
  
         case CIMTYPE_DATETIME:         case CIMTYPE_DATETIME:
             return StringArrayToValueAux(lineNumber, array, type, (CIMDateTime*)0);              return StringArrayToValueAux(
                   lineNumber, array, type, (CIMDateTime*)0);
  
         case CIMTYPE_REAL32:         case CIMTYPE_REAL32:
             return StringArrayToValueAux(lineNumber, array, type, (Real32*)0);             return StringArrayToValueAux(lineNumber, array, type, (Real32*)0);
Line 1939 
Line 1707 
             return StringArrayToValueAux(lineNumber, array, type, (Real64*)0);             return StringArrayToValueAux(lineNumber, array, type, (Real64*)0);
  
 //  PEP 194: //  PEP 194:
 //  Note that "object" (ie. CIMTYPE_OBJECT) is not a real CIM datatype, but just a  //  Note that "object" (ie. CIMTYPE_OBJECT) is not a real CIM datatype, but
 //  Pegasus internal representation of an embedded object. However, this case is  //  just a Pegasus internal representation of an embedded object. However,
 //  used when decoding string representations of embedded objects.  //  this case is used when decoding string representations of embedded objects.
     case CIMTYPE_OBJECT:     case CIMTYPE_OBJECT:
             return StringArrayToValueAux(lineNumber, array, type, (CIMObject*)0);              return StringArrayToValueAux(
                   lineNumber, array, type, (CIMObject*)0);
 #ifdef PEGASUS_EMBEDDED_INSTANCE_SUPPORT #ifdef PEGASUS_EMBEDDED_INSTANCE_SUPPORT
     case CIMTYPE_INSTANCE:     case CIMTYPE_INSTANCE:
             return StringArrayToValueAux(lineNumber, array, type, (CIMInstance*)0);              return StringArrayToValueAux(
                   lineNumber, array, type, (CIMInstance*)0);
 #endif // PEGASUS_EMBEDDED_INSTANCE_SUPPORT #endif // PEGASUS_EMBEDDED_INSTANCE_SUPPORT
  
         default:         default:
Line 2227 
Line 1997 
         }         }
         catch (AlreadyExistsException&)         catch (AlreadyExistsException&)
         {         {
               MessageLoaderParms mlParms(
           // l10n                  "Common.XmlReader.DUPLICATE_QUALIFIER",
   
           // throw XmlSemanticError(parser.getLine(), "duplicate qualifier");  
   
           MessageLoaderParms mlParms("Common.XmlReader.DUPLICATE_QUALIFIER",  
                                      "duplicate qualifier");                                      "duplicate qualifier");
   
           throw XmlSemanticError(parser.getLine(), mlParms);           throw XmlSemanticError(parser.getLine(), mlParms);
         }         }
     }     }
Line 2294 
Line 2059 
  
     if (!empty)     if (!empty)
     {     {
             // Get qualifiers. We need to do this before checking for the property as an          // Get qualifiers. We need to do this before checking for the
         // embedded object, because we need to also check for the EmbeddedObject qualifier.          // property as an embedded object, because we need to also check
           // for the EmbeddedObject qualifier.
             getQualifierElements(parser, property);             getQualifierElements(parser, property);
     }     }
  
Line 2310 
Line 2076 
     ix = property.findQualifier(CIMName("EmbeddedInstance"));     ix = property.findQualifier(CIMName("EmbeddedInstance"));
     if (ix != PEG_NOT_FOUND)     if (ix != PEG_NOT_FOUND)
     {     {
         property.getQualifier(ix).getValue().get(embeddedInstanceQualifierValue);          property.getQualifier(ix).getValue().get(
               embeddedInstanceQualifierValue);
     }     }
 #endif // PEGASUS_EMBEDDED_INSTANCE_SUPPORT #endif // PEGASUS_EMBEDDED_INSTANCE_SUPPORT
     // If the EMBEDDEDOBJECT attribute is present with value "object"     // If the EMBEDDEDOBJECT attribute is present with value "object"
Line 2324 
Line 2091 
       embeddedInstanceQualifierValue.size() > 0;       embeddedInstanceQualifierValue.size() > 0;
     if (isEmbeddedObject || isEmbeddedInstance)     if (isEmbeddedObject || isEmbeddedInstance)
     {     {
         // The EMBEDDEDOBJECT attribute is only valid on Properties of type string          // The EMBEDDEDOBJECT attribute is only valid on Properties of type
           // string
         if (type == CIMTYPE_STRING)         if (type == CIMTYPE_STRING)
         {         {
             if(isEmbeddedObject)             if(isEmbeddedObject)
Line 2332 
Line 2100 
             else             else
               type = CIMTYPE_INSTANCE;               type = CIMTYPE_INSTANCE;
             CIMValue new_value(type, false);             CIMValue new_value(type, false);
             CIMProperty new_property = CIMProperty(name, new_value, 0, CIMName(), classOrigin, propagated);              CIMProperty new_property = CIMProperty(
                   name, new_value, 0, CIMName(), classOrigin, propagated);
  
             // Copy the qualifiers from the String property to the CIMObject property.              // Copy the qualifiers from the String property to the CIMObject
               // property.
             for (Uint32 ix = 0; ix < property.getQualifierCount(); ++ix)             for (Uint32 ix = 0; ix < property.getQualifierCount(); ++ix)
             {             {
                 // All properties are copied, including the EmbeddedObject qualifier.                  // All properties are copied, including the EmbeddedObject
                 // This way we don't have to keep track to know that the EmbeddedObject                  // qualifier.  This way we don't have to keep track to know
                 // qualifier needs to be added back during the encode step.                  // that the EmbeddedObject qualifier needs to be added back
                   // during the encode step.
                 new_property.addQualifier(property.getQualifier(ix));                 new_property.addQualifier(property.getQualifier(ix));
             }             }
  
Line 2348 
Line 2119 
         }         }
         else         else
         {         {
             // Error -- throw exception              MessageLoaderParms mlParms(
             // (the EmbeddedObject attribute may be applied only to entities that have the type String)                  "Common.XmlReader.INVALID_EMBEDDEDOBJECT_TYPE",
   
             // l10n  
   
             // throw XmlValidationError(parser.getLine(),  
             //   "expected string type");  
   
             MessageLoaderParms mlParms("Common.XmlReader.INVALID_EMBEDDEDOBJECT_TYPE",  
                              "The EMBEDDEDOBJECT attribute is only valid on string types.");                              "The EMBEDDEDOBJECT attribute is only valid on string types.");
   
             throw XmlValidationError(parser.getLine(), mlParms);             throw XmlValidationError(parser.getLine(), mlParms);
         }         }
     }     }
 #else #else
     if (String::equal(embeddedObject, "object") || embeddedObjectQualifierValue)     if (String::equal(embeddedObject, "object") || embeddedObjectQualifierValue)
     {     {
         // The EMBEDDEDOBJECT attribute is only valid on Properties of type string          // The EMBEDDEDOBJECT attribute is only valid on Properties of type
           // string
         if (type == CIMTYPE_STRING)         if (type == CIMTYPE_STRING)
         {         {
             type = CIMTYPE_OBJECT;             type = CIMTYPE_OBJECT;
             CIMValue new_value(type, false);             CIMValue new_value(type, false);
             CIMProperty new_property = CIMProperty(name, new_value, 0, CIMName(), classOrigin, propagated);              CIMProperty new_property = CIMProperty(
                   name, new_value, 0, CIMName(), classOrigin, propagated);
  
             // Copy the qualifiers from the String property to the CIMObject property.              // Copy the qualifiers from the String property to the CIMObject
               // property.
             for (Uint32 ix = 0; ix < property.getQualifierCount(); ++ix)             for (Uint32 ix = 0; ix < property.getQualifierCount(); ++ix)
             {             {
                 // All properties are copied, including the EmbeddedObject qualifier.                  // All properties are copied, including the EmbeddedObject
                 // This way we don't have to keep track to know that the EmbeddedObject                  // qualifier.  This way we don't have to keep track to know
                 // qualifier needs to be added back during the encode step.                  // that the EmbeddedObject qualifier needs to be added back
                   // during the encode step.
                 new_property.addQualifier(property.getQualifier(ix));                 new_property.addQualifier(property.getQualifier(ix));
             }             }
  
Line 2386 
Line 2153 
         }         }
         else         else
         {         {
             // Error -- throw exception              MessageLoaderParms mlParms(
             // (the EmbeddedObject attribute may be applied only to entities that have the type String)                  "Common.XmlReader.INVALID_EMBEDDEDOBJECT_TYPE",
   
             // l10n  
   
             // throw XmlValidationError(parser.getLine(),  
             //   "expected string type");  
   
             MessageLoaderParms mlParms("Common.XmlReader.INVALID_EMBEDDEDOBJECT_TYPE",  
                              "The EMBEDDEDOBJECT attribute is only valid on string types.");                              "The EMBEDDEDOBJECT attribute is only valid on string types.");
   
             throw XmlValidationError(parser.getLine(), mlParms);             throw XmlValidationError(parser.getLine(), mlParms);
         }         }
     }     }
Line 2438 
Line 2197 
  
     if (!stringToUnsignedInteger(tmp, arraySize) || arraySize == 0)     if (!stringToUnsignedInteger(tmp, arraySize) || arraySize == 0)
     {     {
       // l10n  
   
       // char message[128];  
       // sprintf(message, "Illegal value for %s.%s", tagName, "ARRAYSIZE");  
       // throw XmlSemanticError(lineNumber, message);  
   
       char message[128];       char message[128];
       sprintf(message, "%s.%s", tagName, "ARRAYSIZE");       sprintf(message, "%s.%s", tagName, "ARRAYSIZE");
  
       MessageLoaderParms mlParms("Common.XmlReader.ILLEGAL_VALUE",          MessageLoaderParms mlParms(
               "Common.XmlReader.ILLEGAL_VALUE",
                                  "Illegal value for $0",                                  "Illegal value for $0",
                                  message);                                  message);
   
       throw XmlSemanticError(lineNumber, mlParms);       throw XmlSemanticError(lineNumber, mlParms);
     }     }
  
Line 2503 
Line 2256 
  
     // Get PROPERTY.CLASSORIGIN attribute:     // Get PROPERTY.CLASSORIGIN attribute:
  
     CIMName classOrigin = getClassOriginAttribute(parser.getLine(), entry, "PROPERTY.ARRAY");      CIMName classOrigin =
           getClassOriginAttribute(parser.getLine(), entry, "PROPERTY.ARRAY");
  
     // Get PROPERTY.ARRAY.PROPAGATED     // Get PROPERTY.ARRAY.PROPAGATED
  
     Boolean propagated = getCimBooleanAttribute(parser.getLine()      Boolean propagated = getCimBooleanAttribute(
                                                 ,entry          parser.getLine(),
                                                 ,"PROPERTY.ARRAY"          entry,
                                                 ,"PROPAGATED"          "PROPERTY.ARRAY",
                                                 ,false          "PROPAGATED",
                                                 ,false);          false,
           false);
  
     // Get PROPERTY.EMBEDDEDOBJECT attribute:     // Get PROPERTY.EMBEDDEDOBJECT attribute:
  
     String embeddedObject = getEmbeddedObjectAttribute(parser.getLine()      String embeddedObject = getEmbeddedObjectAttribute(
                                                        ,entry          parser.getLine(), entry, "PROPERTY.ARRAY");
                                                        ,"PROPERTY.ARRAY");  
  
     // Create property:     // Create property:
  
     CIMValue value(type, true, arraySize);     CIMValue value(type, true, arraySize);
     property = CIMProperty(name, value, arraySize, CIMName(), classOrigin, propagated);      property = CIMProperty(
           name, value, arraySize, CIMName(), classOrigin, propagated);
  
     if (!empty)     if (!empty)
     {     {
Line 2542 
Line 2297 
     ix = property.findQualifier(CIMName("EmbeddedInstance"));     ix = property.findQualifier(CIMName("EmbeddedInstance"));
     if (ix != PEG_NOT_FOUND)     if (ix != PEG_NOT_FOUND)
     {     {
         property.getQualifier(ix).getValue().get(embeddedInstanceQualifierValue);          property.getQualifier(ix).getValue().get(
               embeddedInstanceQualifierValue);
     }     }
 #endif // PEGASUS_EMBEDDED_INSTANCE_SUPPORT #endif // PEGASUS_EMBEDDED_INSTANCE_SUPPORT
     // If the EMBEDDEDOBJECT attribute is present with value "object"     // If the EMBEDDEDOBJECT attribute is present with value "object"
Line 2556 
Line 2312 
       embeddedInstanceQualifierValue.size() > 0;       embeddedInstanceQualifierValue.size() > 0;
     if (isEmbeddedObject || isEmbeddedInstance)     if (isEmbeddedObject || isEmbeddedInstance)
     {     {
         // The EMBEDDEDOBJECT attribute is only valid on Properties of type string          // The EMBEDDEDOBJECT attribute is only valid on Properties of type
           // string
         if (type == CIMTYPE_STRING)         if (type == CIMTYPE_STRING)
         {         {
             if(isEmbeddedObject)             if(isEmbeddedObject)
Line 2564 
Line 2321 
             else             else
               type = CIMTYPE_INSTANCE;               type = CIMTYPE_INSTANCE;
             CIMValue new_value(type, true, arraySize);             CIMValue new_value(type, true, arraySize);
             CIMProperty new_property = CIMProperty(name, new_value, arraySize, CIMName(), classOrigin, propagated);              CIMProperty new_property = CIMProperty(
                   name, new_value, arraySize, CIMName(), classOrigin, propagated);
  
             // Copy the qualifiers from the String property to the CIMObject property.              // Copy the qualifiers from the String property to the CIMObject
               // property.
             for (Uint32 ix = 0; ix < property.getQualifierCount(); ++ix)             for (Uint32 ix = 0; ix < property.getQualifierCount(); ++ix)
             {             {
                 // All properties are copied, including the EmbeddedObject qualifier.                  // All properties are copied, including the EmbeddedObject
                 // This way we don't have to keep track to know that the EmbeddedObject                  // qualifier.  This way we don't have to keep track to know
                 // qualifier needs to be added back during the encode step.                  // that the EmbeddedObject qualifier needs to be added back
                   // during the encode step.
                 new_property.addQualifier(property.getQualifier(ix));                 new_property.addQualifier(property.getQualifier(ix));
             }             }
  
Line 2580 
Line 2340 
         }         }
         else         else
         {         {
             // Error -- throw exception              MessageLoaderParms mlParms(
             // (the EmbeddedObject attribute may be applied only to entities that have the type String)                  "Common.XmlReader.INVALID_EMBEDDEDOBJECT_TYPE",
   
             // l10n  
   
             // throw XmlValidationError(parser.getLine(),  
             //   "expected string type");  
   
             MessageLoaderParms mlParms("Common.XmlReader.INVALID_EMBEDDEDOBJECT_TYPE",  
                              "The EMBEDDEDOBJECT attribute is only valid on string types.");                              "The EMBEDDEDOBJECT attribute is only valid on string types.");
   
             throw XmlValidationError(parser.getLine(), mlParms);             throw XmlValidationError(parser.getLine(), mlParms);
         }         }
     }     }
 #else #else
     if (String::equal(embeddedObject, "object") || embeddedObjectQualifierValue)     if (String::equal(embeddedObject, "object") || embeddedObjectQualifierValue)
     {     {
         // The EMBEDDEDOBJECT attribute is only valid on Properties of type string          // The EMBEDDEDOBJECT attribute is only valid on Properties of type
           // string
         if (type == CIMTYPE_STRING)         if (type == CIMTYPE_STRING)
         {         {
             type = CIMTYPE_OBJECT;             type = CIMTYPE_OBJECT;
             CIMValue new_value(type, true, arraySize);             CIMValue new_value(type, true, arraySize);
             CIMProperty new_property = CIMProperty(name, new_value, arraySize, CIMName(), classOrigin, propagated);              CIMProperty new_property = CIMProperty(
                   name, new_value, arraySize, CIMName(), classOrigin, propagated);
  
             // Copy the qualifiers from the String property to the CIMObject property.              // Copy the qualifiers from the String property to the CIMObject
               // property.
             for (Uint32 ix = 0; ix < property.getQualifierCount(); ++ix)             for (Uint32 ix = 0; ix < property.getQualifierCount(); ++ix)
             {             {
                 // All properties are copied, including the EmbeddedObject qualifier.                  // All properties are copied, including the EmbeddedObject
                 // This way we don't have to keep track to know that the EmbeddedObject                  // qualifier.  This way we don't have to keep track to know
                 // qualifier needs to be added back during the encode step.                  // that the EmbeddedObject qualifier needs to be added back
                   // during the encode step.
                 new_property.addQualifier(property.getQualifier(ix));                 new_property.addQualifier(property.getQualifier(ix));
             }             }
  
Line 2618 
Line 2374 
         }         }
         else         else
         {         {
             // Error -- throw exception              MessageLoaderParms mlParms(
             // (the EmbeddedObject attribute may be applied only to entities that have the type String)                  "Common.XmlReader.INVALID_EMBEDDEDOBJECT_TYPE",
   
             // l10n  
   
             // throw XmlValidationError(parser.getLine(),  
             //   "expected string type");  
   
             MessageLoaderParms mlParms("Common.XmlReader.INVALID_EMBEDDEDOBJECT_TYPE",  
                              "The EMBEDDEDOBJECT attribute is only valid on string types.");                              "The EMBEDDEDOBJECT attribute is only valid on string types.");
   
             throw XmlValidationError(parser.getLine(), mlParms);             throw XmlValidationError(parser.getLine(), mlParms);
         }         }
     }     }
Line 2641 
Line 2389 
         {         {
             if (arraySize && arraySize != value.getArraySize())             if (arraySize && arraySize != value.getArraySize())
             {             {
                   MessageLoaderParms mlParms(
               // l10n                      "Common.XmlReader.ARRAY_SIZE_DIFFERENT",
   
               // throw XmlSemanticError(parser.getLine(),  
               //   "ARRAYSIZE attribute and value-array size are different");  
   
               MessageLoaderParms mlParms("Common.XmlReader.ARRAY_SIZE_DIFFERENT",  
                          "ARRAYSIZE attribute and value-array size are different");                          "ARRAYSIZE attribute and value-array size are different");
   
               throw XmlSemanticError(parser.getLine(), mlParms);               throw XmlSemanticError(parser.getLine(), mlParms);
             }             }
  
Line 2696 
Line 2438 
  
     if (!parser.next(entry) || entry.type != XmlEntry::CONTENT)     if (!parser.next(entry) || entry.type != XmlEntry::CONTENT)
     {     {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlReader.EXPECTED_CONTENT_ELEMENT",
   
       // throw XmlValidationError(parser.getLine(),  
       //               "expected content of HOST element");  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_CONTENT_ELEMENT",  
                                  "expected content of HOST element");                                  "expected content of HOST element");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
   
     }     }
  
     host = String(entry.text);     host = String(entry.text);
Line 2773 
Line 2508 
  
     if (!nameSpace.size())     if (!nameSpace.size())
     {     {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlReader.EXPECTED_NAMESPACE_ELEMENTS",
               "Expected one or more NAMESPACE elements within "
       // throw XmlValidationError(parser.getLine(),                  "LOCALNAMESPACEPATH element");
       //   "Expected one or more NAMESPACE elements within "  
       //   "LOCALNAMESPACEPATH element");  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_NAMESPACE_ELEMENTS",  
                                  "Expected one or more NAMESPACE elements within LOCALNAMESPACEPATH element");  
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
   
   
     }     }
  
     expectEndTag(parser, "LOCALNAMESPACEPATH");     expectEndTag(parser, "LOCALNAMESPACEPATH");
Line 2813 
Line 2540 
     if (!testStartTag(parser, entry, "NAMESPACEPATH"))     if (!testStartTag(parser, entry, "NAMESPACEPATH"))
         return false;         return false;
  
     if (!getHostElement(parser, host)) {      if (!getHostElement(parser, host))
       {
       // l10n          MessageLoaderParms mlParms(
               "Common.XmlReader.EXPECTED_HOST_ELEMENT",
       // throw XmlValidationError(parser.getLine(), "expected HOST element");  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_HOST_ELEMENT",  
                                  "expected HOST element");                                  "expected HOST element");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
  
     if (!getLocalNameSpacePathElement(parser, nameSpace))     if (!getLocalNameSpacePathElement(parser, nameSpace))
     {     {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlReader.EXPECTED_LOCALNAMESPACEPATH_ELEMENT",
   
       // throw XmlValidationError(parser.getLine(),  
       //   "expected LOCALNAMESPACEPATH element");  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_LOCALNAMESPACEPATH_ELEMENT",  
                                  "expected LOCALNAMESPACEPATH element");                                  "expected LOCALNAMESPACEPATH element");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
  
Line 2864 
Line 2581 
     {     {
         if (required)         if (required)
         {         {
               MessageLoaderParms mlParms(
           // l10n                  "Common.XmlReader.EXPECTED_CLASSNAME_ELEMENT",
   
           // throw XmlValidationError(parser.getLine(),  
           // "expected CLASSNAME element");  
   
           MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_CLASSNAME_ELEMENT",  
                                      "expected CLASSNAME element");                                      "expected CLASSNAME element");
   
           throw XmlValidationError(parser.getLine(), mlParms);           throw XmlValidationError(parser.getLine(), mlParms);
         }         }
         else         else
Line 2914 
Line 2625 
     else if (String::equal(tmp, "numeric"))     else if (String::equal(tmp, "numeric"))
         return CIMKeyBinding::NUMERIC;         return CIMKeyBinding::NUMERIC;
  
     // char buffer[MESSAGE_SIZE];  
   
     // sprintf(buffer,  
     // "Illegal value for %s.VALUETYPE attribute; "  
     // "CIMValue must be one of \"string\", \"boolean\", or \"numeric\"",  
     // elementName);  
   
     // throw XmlSemanticError(lineNumber, buffer);  
   
   
     char buffer[MESSAGE_SIZE];     char buffer[MESSAGE_SIZE];
     sprintf(buffer, "%s.VALUETYPE", elementName);     sprintf(buffer, "%s.VALUETYPE", elementName);
  
     MessageLoaderParms mlParms("Common.XmlReader.ILLEGAL_VALUE_FOR_CIMVALUE_ATTRIBUTE",      MessageLoaderParms mlParms(
                                "Illegal value for $0 attribute; CIMValue must be one of \"string\", \"boolean\", or \"numeric\"", buffer);          "Common.XmlReader.ILLEGAL_VALUE_FOR_CIMVALUE_ATTRIBUTE",
           "Illegal value for $0 attribute; CIMValue must be one of \"string\", "
               "\"boolean\", or \"numeric\"",
           buffer);
     throw XmlSemanticError(lineNumber, mlParms);     throw XmlSemanticError(lineNumber, mlParms);
  
     return CIMKeyBinding::BOOLEAN;     return CIMKeyBinding::BOOLEAN;
Line 3006 
Line 2709 
  
         if (!getValueReferenceElement(parser, reference))         if (!getValueReferenceElement(parser, reference))
         {         {
               MessageLoaderParms mlParms(
           // l10n                  "Common.XmlReader.EXPECTED_KEYVALUE_OR_REFERENCE_ELEMENT",
   
           // throw XmlValidationError(parser.getLine(),  
           //          "Expected KEYVALUE or VALUE.REFERENCE element");  
   
           MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_KEYVALUE_OR_REFERENCE_ELEMENT",  
                                      "Expected KEYVALUE or VALUE.REFERENCE element");                                      "Expected KEYVALUE or VALUE.REFERENCE element");
   
           throw XmlValidationError(parser.getLine(), mlParms);           throw XmlValidationError(parser.getLine(), mlParms);
         }         }
  
Line 3125 
Line 2822 
  
     if (!getNameSpacePathElement(parser, host, nameSpace))     if (!getNameSpacePathElement(parser, host, nameSpace))
     {     {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlReader.EXPECTED_NAMESPACEPATH_ELEMENT",
   
       // throw XmlValidationError(parser.getLine(),  
       //   "expected NAMESPACEPATH element");  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_NAMESPACEPATH_ELEMENT",  
                                  "expected NAMESPACEPATH element");                                  "expected NAMESPACEPATH element");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
   
     }     }
  
     String className;     String className;
Line 3143 
Line 2833 
  
     if (!getInstanceNameElement(parser, className, keyBindings))     if (!getInstanceNameElement(parser, className, keyBindings))
     {     {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlReader.EXPECTED_INSTANCENAME_ELEMENT",
   
       // throw XmlValidationError(parser.getLine(),  
       //   "expected INSTANCENAME element");  
   
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_INSTANCENAME_ELEMENT",  
                                  "expected INSTANCENAME element");                                  "expected INSTANCENAME element");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
   
     }     }
  
     reference.set(host, nameSpace, className, keyBindings);     reference.set(host, nameSpace, className, keyBindings);
Line 3184 
Line 2866 
  
     if (!getLocalNameSpacePathElement(parser, nameSpace))     if (!getLocalNameSpacePathElement(parser, nameSpace))
     {     {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlReader.EXPECTED_LOCALNAMESPACEPATH_ELEMENT",
   
       // throw XmlValidationError(parser.getLine(),  
       //   "expected LOCALNAMESPACEPATH element");  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_LOCALNAMESPACEPATH_ELEMENT",  
                                  "expected LOCALNAMESPACEPATH element");                                  "expected LOCALNAMESPACEPATH element");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
   
     }     }
  
     String className;     String className;
Line 3202 
Line 2877 
  
     if (!getInstanceNameElement(parser, className, keyBindings))     if (!getInstanceNameElement(parser, className, keyBindings))
     {     {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlReader.EXPECTED_INSTANCENAME_ELEMENT",
   
       // throw XmlValidationError(parser.getLine(),  
       //   "expected INSTANCENAME element");  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_INSTANCENAME_ELEMENT",  
                                  "expected INSTANCENAME element");                                  "expected INSTANCENAME element");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
   
     }     }
  
     reference.set(String(), nameSpace, className, keyBindings);     reference.set(String(), nameSpace, className, keyBindings);
Line 3243 
Line 2911 
  
     if (!getNameSpacePathElement(parser, host, nameSpace))     if (!getNameSpacePathElement(parser, host, nameSpace))
     {     {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlReader.EXPECTED_NAMESPACEPATH_ELEMENT",
   
       // throw XmlValidationError(parser.getLine(),  
       //    "expected NAMESPACEPATH element");  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_NAMESPACEPATH_ELEMENT",  
                                  "expected NAMESPACEPATH element");                                  "expected NAMESPACEPATH element");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
   
     }     }
  
     CIMName className;     CIMName className;
  
     if (!getClassNameElement(parser, className))     if (!getClassNameElement(parser, className))
     {     {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlReader.EXPECTED_CLASSNAME_ELEMENT",
   
       // throw XmlValidationError(parser.getLine(),  
       //   "expected CLASSNAME element");  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_CLASSNAME_ELEMENT",  
                                  "expected CLASSNAME element");                                  "expected CLASSNAME element");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
   
     }     }
  
     reference.set(host, nameSpace, className);     reference.set(host, nameSpace, className);
Line 3300 
Line 2954 
  
     if (!getLocalNameSpacePathElement(parser, nameSpace))     if (!getLocalNameSpacePathElement(parser, nameSpace))
     {     {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlReader.EXPECTED_LOCALNAMESPACEPATH_ELEMENT",
   
       // throw XmlValidationError(parser.getLine(),  
       //    "expected LOCALNAMESPACEPATH element");  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_LOCALNAMESPACEPATH_ELEMENT",  
                                  "expected LOCALNAMESPACEPATH element");                                  "expected LOCALNAMESPACEPATH element");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
   
     }     }
  
     CIMName className;     CIMName className;
  
     if (!getClassNameElement(parser, className))     if (!getClassNameElement(parser, className))
     {     {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlReader.EXPECTED_CLASSNAME_ELEMENT",
   
       // throw XmlValidationError(parser.getLine(),  
       //   "expected CLASSNAME element");  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_CLASSNAME_ELEMENT",  
                                  "expected CLASSNAME element");                                  "expected CLASSNAME element");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
   
     }     }
  
     reference.set(String(), nameSpace, className);     reference.set(String(), nameSpace, className);
Line 3362 
Line 3002 
     if (entry.type != XmlEntry::START_TAG &&     if (entry.type != XmlEntry::START_TAG &&
         entry.type != XmlEntry::EMPTY_TAG)         entry.type != XmlEntry::EMPTY_TAG)
     {     {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlReader.EXPECTED_START_TAGS",
               "Expected one of the following start tags: CLASSPATH, "
       // throw XmlValidationError(parser.getLine(),                  "LOCALCLASSPATH, CLASSNAME, INSTANCEPATH, LOCALINSTANCEPATH, "
       //   "Expected one of the following start tags: "                  "INSTANCENAME");
       //    "CLASSPATH, LOCALCLASSPATH, CLASSNAME, INSTANCEPATH, "  
       //    "LOCALINSTANCEPATH, INSTANCENAME");  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_START_TAGS",  
                                  "Expected one of the following start tags: CLASSPATH, LOCALCLASSPATH, CLASSNAME, INSTANCEPATH, LOCALINSTANCEPATH, INSTANCENAME");  
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
   
     }     }
  
     if (strcmp(entry.text, "CLASSPATH") == 0)     if (strcmp(entry.text, "CLASSPATH") == 0)
Line 3543 
Line 3176 
         }         }
         catch (AlreadyExistsException&)         catch (AlreadyExistsException&)
         {         {
               MessageLoaderParms mlParms(
           // l10n                  "Common.XmlReader.DUPLICATE_PROPERTY",
   
           // throw XmlSemanticError(parser.getLine(), "duplicate property");  
   
           MessageLoaderParms mlParms("Common.XmlReader.DUPLICATE_PROPERTY",  
                                      "duplicate property");                                      "duplicate property");
   
           throw XmlSemanticError(parser.getLine(), mlParms);           throw XmlSemanticError(parser.getLine(), mlParms);
         }         }
     }     }
Line 3734 
Line 3362 
     // Get PARAMETER.ARRAYSIZE attribute:     // Get PARAMETER.ARRAYSIZE attribute:
  
     Uint32 arraySize = 0;     Uint32 arraySize = 0;
     getArraySizeAttribute(parser.getLine(), entry, "PARAMETER.REFARRAY",      getArraySizeAttribute(
                           arraySize);          parser.getLine(), entry, "PARAMETER.REFARRAY", arraySize);
  
     // Create parameter:     // Create parameter:
  
     parameter = CIMParameter(name, CIMTYPE_REFERENCE, true, arraySize,      parameter = CIMParameter(
                              referenceClass);          name, CIMTYPE_REFERENCE, true, arraySize, referenceClass);
  
     if (!empty)     if (!empty)
     {     {
Line 3773 
Line 3401 
         }         }
         catch (AlreadyExistsException&)         catch (AlreadyExistsException&)
         {         {
               MessageLoaderParms mlParms(
           // l10n                  "Common.XmlReader.DUPLICATE_PARAMETER",
   
           // throw XmlSemanticError(parser.getLine(), "duplicate parameter");  
   
           MessageLoaderParms mlParms("Common.XmlReader.DUPLICATE_PARAMETER",  
                                      "duplicate parameter");                                      "duplicate parameter");
   
           throw XmlSemanticError(parser.getLine(), mlParms);           throw XmlSemanticError(parser.getLine(), mlParms);
         }         }
     }     }
Line 3856 
Line 3479 
         {         {
             if (!isArray)             if (!isArray)
             {             {
                   MessageLoaderParms mlParms(
               // l10n                      "Common.XmlReader.ARRAY_WITHOUT_ISARRAY",
                       "VALUE.ARRAY element encountered without ISARRAY "
               // throw XmlSemanticError(parser.getLine(),                          "attribute");
               //    "VALUE.ARRAY element encountered without "  
               //    "ISARRAY attribute");  
   
               MessageLoaderParms mlParms("Common.XmlReader.ARRAY_WITHOUT_ISARRAY",  
                                          "VALUE.ARRAY element encountered without ISARRAY attribute");  
   
               throw XmlSemanticError(parser.getLine(), mlParms);               throw XmlSemanticError(parser.getLine(), mlParms);
             }             }
  
             if (arraySize && arraySize != value.getArraySize())             if (arraySize && arraySize != value.getArraySize())
             {             {
                   MessageLoaderParms mlParms(
               // l10n                      "Common.XmlReader.ARRAY_SIZE_NOT_SAME",
   
               // throw XmlSemanticError(parser.getLine(),  
               //   "VALUE.ARRAY size is not the same as "  
               //    "ARRAYSIZE attribute");  
   
               MessageLoaderParms mlParms("Common.XmlReader.ARRAY_SIZE_NOT_SAME",  
                                          "VALUE.ARRAY size is not the same as ARRAYSIZE attribute");                                          "VALUE.ARRAY size is not the same as ARRAYSIZE attribute");
   
               throw XmlSemanticError(parser.getLine(), mlParms);               throw XmlSemanticError(parser.getLine(), mlParms);
             }             }
  
Line 3890 
Line 3500 
         {         {
             if (isArray)             if (isArray)
             {             {
                   MessageLoaderParms mlParms(
               // l10n                      "Common.XmlReader.ARRAY_ATTRIBUTE_DIFFERENT",
   
               // throw XmlSemanticError(parser.getLine(),  
               //    "ISARRAY attribute used but VALUE element encountered");  
   
               MessageLoaderParms mlParms("Common.XmlReader.ARRAY_ATTRIBUTE_DIFFERENT",  
                                          "ISARRAY attribute used but VALUE element encountered");                                          "ISARRAY attribute used but VALUE element encountered");
   
               throw XmlSemanticError(parser.getLine(), mlParms);               throw XmlSemanticError(parser.getLine(), mlParms);
             }             }
  
Line 3990 
Line 3594 
  
     CIMName name = getCimNameAttribute(parser.getLine(), entry, "CLASS");     CIMName name = getCimNameAttribute(parser.getLine(), entry, "CLASS");
  
     CIMName superClass = getSuperClassAttribute(parser.getLine(), entry,"CLASS");      CIMName superClass =
           getSuperClassAttribute(parser.getLine(), entry,"CLASS");
  
     cimClass = CIMClass(name, superClass);     cimClass = CIMClass(name, superClass);
  
         if(entry.type != XmlEntry::EMPTY_TAG)         if(entry.type != XmlEntry::EMPTY_TAG)
         {         {
   
     // Get QUALIFIER elements:     // Get QUALIFIER elements:
  
     getQualifierElements(parser, cimClass);     getQualifierElements(parser, cimClass);
Line 4083 
Line 3687 
  
     if (!getInstanceNameElement(parser, instanceName))     if (!getInstanceNameElement(parser, instanceName))
     {     {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlReader.EXPECTED_INSTANCENAME_ELEMENT",
   
       // throw XmlValidationError(parser.getLine(),  
       //    "expected INSTANCENAME element");  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_INSTANCENAME_ELEMENT",  
                                  "expected INSTANCENAME element");                                  "expected INSTANCENAME element");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
  
Line 4099 
Line 3697 
  
     if (!getInstanceElement(parser, namedInstance))     if (!getInstanceElement(parser, namedInstance))
     {     {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlReader.EXPECTED_INSTANCE_ELEMENT",
   
       // throw XmlValidationError(parser.getLine(),  
       //   "expected INSTANCE element");  
   
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_INSTANCE_ELEMENT",  
                                  "expected INSTANCE element");                                  "expected INSTANCE element");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
  
Line 4131 
Line 3722 
 { {
     if (!getClassElement(parser, x))     if (!getClassElement(parser, x))
     {     {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlReader.EXPECTED_CLASS_ELEMENT",
   
       // throw XmlValidationError(parser.getLine(),  
       //   "expected CLASS element");  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_CLASS_ELEMENT",  
                                  "expected CLASS element");                                  "expected CLASS element");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
 } }
Line 4154 
Line 3739 
 { {
     if (!getInstanceElement(parser, x))     if (!getInstanceElement(parser, x))
     {     {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlReader.EXPECTED_INSTANCE_ELEMENT",
   
       // throw XmlValidationError(parser.getLine(),  
       //   "expected INSTANCE element");  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_INSTANCE_ELEMENT",  
                                  "expected INSTANCE element");                                  "expected INSTANCE element");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
 } }
Line 4177 
Line 3756 
 { {
     if (!getQualifierDeclElement(parser, x))     if (!getQualifierDeclElement(parser, x))
     {     {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlReader.EXPECTED_QUALIFIER_DECLARATION_ELEMENT",
   
       // throw XmlValidationError(parser.getLine(),  
       //   "expected QUALIFIER.DECLARATION element");  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_QUALIFIER_DECLARATION_ELEMENT",  
                                  "expected QUALIFIER.DECLARATION element");                                  "expected QUALIFIER.DECLARATION element");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
 } }
Line 4208 
Line 3781 
  
     // Get MESSAGE.ID:     // Get MESSAGE.ID:
  
     if (!entry.getAttributeValue("ID", id)) {      if (!entry.getAttributeValue("ID", id))
       {
       // l10n          MessageLoaderParms mlParms(
               "Common.XmlReader.INVALID_MISSING_MESSAGE_ID_ATTRIBUTE",
       // throw XmlValidationError(parser.getLine(),  
       //   "Invalid or missing MESSAGE.ID attribute");  
   
       MessageLoaderParms mlParms("Common.XmlReader.INVALID_MISSING_MESSAGE_ID_ATTRIBUTE",  
                                  "Invalid or missing MESSAGE.ID attribute");                                  "Invalid or missing MESSAGE.ID attribute");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
  
  
     // Get MESSAGE.PROTOCOLVERSION:     // Get MESSAGE.PROTOCOLVERSION:
  
     if (!entry.getAttributeValue("PROTOCOLVERSION", protocolVersion)) {      if (!entry.getAttributeValue("PROTOCOLVERSION", protocolVersion))
       {
       // l10n          MessageLoaderParms mlParms(
               "Common.XmlReader.INVALID_MISSING_PROTOCOLVERSION_ATTRIBUTE",
       // throw XmlValidationError(parser.getLine(),  
       //   "Invalid or missing MESSAGE.PROTOCOLVERSION attribute");  
   
       MessageLoaderParms mlParms("Common.XmlReader.INVALID_MISSING_PROTOCOLVERSION_ATTRIBUTE",  
                                  "Invalid or missing MESSAGE.PROTOCOLVERSION attribute");                                  "Invalid or missing MESSAGE.PROTOCOLVERSION attribute");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
  
Line 4258 
Line 3821 
     // Get IMETHODCALL.NAME attribute:     // Get IMETHODCALL.NAME attribute:
  
  
     if (!entry.getAttributeValue("NAME", name)) {      if (!entry.getAttributeValue("NAME", name))
       {
       // l10n          MessageLoaderParms mlParms(
               "Common.XmlReader.MISSING_IMETHODCALL_ATTRIBUTE",
       // throw XmlValidationError(parser.getLine(),  
       //   "Missing IMETHODCALL.NAME attribute");  
   
       MessageLoaderParms mlParms("Common.XmlReader.MISSING_IMETHODCALL_ATTRIBUTE",  
                                  "Missing IMETHODCALL.NAME attribute");                                  "Missing IMETHODCALL.NAME attribute");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
  
Line 4295 
Line 3853 
  
     // Get IMETHODRESPONSE.NAME attribute:     // Get IMETHODRESPONSE.NAME attribute:
  
     if (!entry.getAttributeValue("NAME", name)) {      if (!entry.getAttributeValue("NAME", name))
       {
       // l10n          MessageLoaderParms mlParms(
               "Common.XmlReader.MISSING_IMETHODRESPONSE_ATTRIBUTE",
       // throw XmlValidationError(parser.getLine(),  
       //   "Missing IMETHODRESPONSE.NAME attribute");  
   
       MessageLoaderParms mlParms("Common.XmlReader.MISSING_IMETHODRESPONSE_ATTRIBUTE",  
                                  "Missing IMETHODRESPONSE.NAME attribute");                                  "Missing IMETHODRESPONSE.NAME attribute");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
  
Line 4332 
Line 3885 
  
     // Get IPARAMVALUE.NAME attribute:     // Get IPARAMVALUE.NAME attribute:
  
     if (!entry.getAttributeValue("NAME", name)) {      if (!entry.getAttributeValue("NAME", name))
       {
       // l10n          MessageLoaderParms mlParms(
               "Common.XmlReader.MISSING_IPARAMVALUE_ATTRIBUTE",
       // throw XmlValidationError(parser.getLine(),  
       //   "Missing IPARAMVALUE.NAME attribute");  
   
       MessageLoaderParms mlParms("Common.XmlReader.MISSING_IPARAMVALUE_ATTRIBUTE",  
                                  "Missing IPARAMVALUE.NAME attribute");                                  "Missing IPARAMVALUE.NAME attribute");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
  
Line 4387 
Line 3935 
     {     {
         if (required)         if (required)
         {         {
               MessageLoaderParms mlParms(
           // l10n                  "Common.XmlReader.EXPECTED_VALUE_ELEMENT",
   
           // throw XmlValidationError(parser.getLine(),  
           // "Expected VALUE element");  
   
           MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_VALUE_ELEMENT",  
                                      "Expected VALUE element");                                      "Expected VALUE element");
   
           throw XmlValidationError(parser.getLine(), mlParms);           throw XmlValidationError(parser.getLine(), mlParms);
         }         }
         return false;         return false;
Line 4407 
Line 3949 
         result = true;         result = true;
     else if (System::strcasecmp(entry.text, "FALSE") == 0)     else if (System::strcasecmp(entry.text, "FALSE") == 0)
         result = false;         result = false;
     else {      else
       {
       // l10n          MessageLoaderParms mlParms(
               "Common.XmlReader.INVALID_VALUE_FOR_VALUE_ELEMENT",
       // throw XmlSemanticError(parser.getLine(),  
       //   "Invalid value for VALUE element: must be \"TRUE\" or \"FALSE\"");  
   
       MessageLoaderParms mlParms("Common.XmlReader.INVALID_VALUE_FOR_VALUE_ELEMENT",  
                                  "Invalid value for VALUE element: must be \"TRUE\" or \"FALSE\"");                                  "Invalid value for VALUE element: must be \"TRUE\" or \"FALSE\"");
   
       throw XmlSemanticError(parser.getLine(), mlParms);       throw XmlSemanticError(parser.getLine(), mlParms);
     }     }
  
Line 4445 
Line 3982 
  
     if (!testStartTagOrEmptyTag(parser, entry, "ERROR"))     if (!testStartTagOrEmptyTag(parser, entry, "ERROR"))
     {     {
       if (required) {          if (required)
           {
         // l10n              MessageLoaderParms mlParms(
                   "Common.XmlReader.EXPECTED_ERROR_ELEMENT",
         // throw XmlValidationError(parser.getLine(),"Expected ERROR element");  
   
         MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_ERROR_ELEMENT",  
                                    "Expected ERROR element");                                    "Expected ERROR element");
   
         throw XmlValidationError(parser.getLine(), mlParms);         throw XmlValidationError(parser.getLine(), mlParms);
   
       }       }
       return false;       return false;
     }     }
Line 4466 
Line 3998 
  
     Uint32 tmpCode;     Uint32 tmpCode;
  
     if (!entry.getAttributeValue("CODE", tmpCode)) {      if (!entry.getAttributeValue("CODE", tmpCode))
       {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlReader.MISSING_ERROR_CODE_ATTRIBUTE",
   
       // throw XmlValidationError(  
       //       parser.getLine(), "missing ERROR.CODE attribute");  
   
       MessageLoaderParms mlParms("Common.XmlReader.MISSING_ERROR_CODE_ATTRIBUTE",  
                                  "missing ERROR.CODE attribute");                                  "missing ERROR.CODE attribute");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
   
     }     }
  
     // Get ERROR.DESCRIPTION:     // Get ERROR.DESCRIPTION:
Line 4487 
Line 4012 
  
     entry.getAttributeValue("DESCRIPTION", tmpDescription);     entry.getAttributeValue("DESCRIPTION", tmpDescription);
  
       cimException =
           PEGASUS_CIM_EXCEPTION(CIMStatusCode(tmpCode), tmpDescription);
   
     if (!empty)     if (!empty)
     {     {
         while (testStartTagOrEmptyTag(parser, entry))          CIMInstance instance;
   
           while (getInstanceElement(parser, instance))
         {         {
             skipElement(parser, entry);              cimException.addError(instance);
         }         }
  
         expectEndTag(parser, "ERROR");         expectEndTag(parser, "ERROR");
     }     }
  
     cimException = PEGASUS_CIM_EXCEPTION(CIMStatusCode(tmpCode), tmpDescription);  
     return true;     return true;
 } }
  
   
 //------------------------------------------------------------------------------ //------------------------------------------------------------------------------
 // getValueObjectElement() // getValueObjectElement()
 // //
Line 4531 
Line 4059 
     }     }
     else     else
     {     {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlReader.EXPECTED_INSTANCE_OR_CLASS_ELEMENT",
   
       // throw XmlValidationError(parser.getLine(),  
       //   "Expected INSTANCE or CLASS element");  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_INSTANCE_OR_CLASS_ELEMENT",  
                                  "Expected INSTANCE or CLASS element");                                  "Expected INSTANCE or CLASS element");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
   
     }     }
  
     expectEndTag(parser, "VALUE.OBJECT");     expectEndTag(parser, "VALUE.OBJECT");
Line 4572 
Line 4093 
         isInstance = true;         isInstance = true;
     else if (!XmlReader::getClassPathElement(parser, reference))     else if (!XmlReader::getClassPathElement(parser, reference))
     {     {
           MessageLoaderParms mlParms(
       // l10n 485              "Common.XmlReader.EXPECTED_INSTANCEPATH_OR_CLASSPATH_ELEMENT",
   
       // throw XmlValidationError(parser.getLine(),  
       //    "Expected INSTANCEPATH or CLASSPATH element");  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_INSTANCEPATH_OR_CLASSPATH_ELEMENT",  
                                  "Expected INSTANCEPATH or CLASSPATH element");                                  "Expected INSTANCEPATH or CLASSPATH element");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
  
Line 4590 
Line 4105 
  
         if (!XmlReader::getInstanceElement(parser, cimInstance))         if (!XmlReader::getInstanceElement(parser, cimInstance))
         {         {
               MessageLoaderParms mlParms(
           // l10n                  "Common.XmlReader.EXPECTED_INSTANCE_ELEMENT",
   
           // throw XmlValidationError(parser.getLine(),  
           //               "Expected INSTANCE element");  
   
           MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_INSTANCE_ELEMENT",  
                                      "Expected INSTANCE element");                                      "Expected INSTANCE element");
   
           throw XmlValidationError(parser.getLine(), mlParms);           throw XmlValidationError(parser.getLine(), mlParms);
         }         }
         objectWithPath = CIMObject (cimInstance);         objectWithPath = CIMObject (cimInstance);
Line 4610 
Line 4119 
  
         if (!XmlReader::getClassElement(parser, cimClass))         if (!XmlReader::getClassElement(parser, cimClass))
         {         {
               MessageLoaderParms mlParms(
           // l10n                  "Common.XmlReader.EXPECTED_CLASS_ELEMENT",
   
           // throw XmlValidationError(parser.getLine(),  
           // "Expected CLASS element");  
   
           MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_CLASS_ELEMENT",  
                                      "Expected CLASS element");                                      "Expected CLASS element");
   
           throw XmlValidationError(parser.getLine(), mlParms);           throw XmlValidationError(parser.getLine(), mlParms);
         }         }
         objectWithPath = CIMObject (cimClass);         objectWithPath = CIMObject (cimClass);
Line 4654 
Line 4157 
         isInstance = true;         isInstance = true;
     else if (!XmlReader::getLocalClassPathElement(parser, reference))     else if (!XmlReader::getLocalClassPathElement(parser, reference))
     {     {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlConstants.MISSING_ELEMENT_LOCALPATH",
   
       // throw XmlValidationError(parser.getLine(),  
       //   "Expected LOCALINSTANCEPATH or LOCALCLASSPATH element");  
   
       //l10n updated  
       MessageLoaderParms mlParms("Common.XmlConstants.MISSING_ELEMENT_LOCALPATH",  
                                                                                                                 MISSING_ELEMENT_LOCALPATH);                                                                                                                 MISSING_ELEMENT_LOCALPATH);
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
   
     }     }
  
     if (isInstance)     if (isInstance)
Line 4674 
Line 4169 
  
         if (!XmlReader::getInstanceElement(parser, cimInstance))         if (!XmlReader::getInstanceElement(parser, cimInstance))
         {         {
               MessageLoaderParms mlParms(
           // l10n                  "Common.XmlReader.EXPECTED_INSTANCE_ELEMENT",
   
           // throw XmlValidationError(parser.getLine(),  
           //               "Expected INSTANCE element");  
   
           MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_INSTANCE_ELEMENT",  
                                      "Expected INSTANCE element");                                      "Expected INSTANCE element");
   
           throw XmlValidationError(parser.getLine(), mlParms);           throw XmlValidationError(parser.getLine(), mlParms);
   
         }         }
         objectWithPath = CIMObject (cimInstance);         objectWithPath = CIMObject (cimInstance);
         objectWithPath.setPath (reference);         objectWithPath.setPath (reference);
Line 4695 
Line 4183 
  
         if (!XmlReader::getClassElement(parser, cimClass))         if (!XmlReader::getClassElement(parser, cimClass))
         {         {
               MessageLoaderParms mlParms(
           // l10n                  "Common.XmlReader.EXPECTED_CLASS_ELEMENT",
   
           // throw XmlValidationError(parser.getLine(),  
           // "Expected CLASS element");  
   
           MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_CLASS_ELEMENT",  
                                      "Expected CLASS element");                                      "Expected CLASS element");
   
           throw XmlValidationError(parser.getLine(), mlParms);           throw XmlValidationError(parser.getLine(), mlParms);
   
   
         }         }
         objectWithPath = CIMObject (cimClass);         objectWithPath = CIMObject (cimClass);
         objectWithPath.setPath (reference);         objectWithPath.setPath (reference);
Line 4775 
Line 4255 
         return true;         return true;
     else     else
     {     {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlReader.EXPECTED_CLASSNAME_OR_INSTANCENAME_ELEMENT",
   
       // throw XmlValidationError(parser.getLine(),  
       //   "expected CLASSNAME or INSTANCENAME element");  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_CLASSNAME_OR_INSTANCENAME_ELEMENT",  
                                  "Expected CLASSNAME or INSTANCENAME element");                                  "Expected CLASSNAME or INSTANCENAME element");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
   
     }     }
  
     PEGASUS_UNREACHABLE( return false; )     PEGASUS_UNREACHABLE( return false; )
Line 4818 
Line 4291 
     }     }
     else     else
     {     {
           MessageLoaderParms mlParms(
       // l10n              "Common.XmlReader.EXPECTED_INSTANCEPATH_OR_CLASSPATH_ELEMENT",
   
       // throw XmlValidationError(parser.getLine(),  
       //   "expected INSTANCEPATH or CLASSPATH element");  
   
       MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_INSTANCEPATH_OR_CLASSPATH_ELEMENT",  
                                  "expected INSTANCEPATH or CLASSPATH element");                                  "expected INSTANCEPATH or CLASSPATH element");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
  
Line 4851 
Line 4318 
     // Get EXPMETHODCALL.NAME attribute:     // Get EXPMETHODCALL.NAME attribute:
  
  
       if (!entry.getAttributeValue("NAME", name)) {      if (!entry.getAttributeValue("NAME", name))
       {
         // l10n          MessageLoaderParms mlParms(
               "Common.XmlReader.MISSING_EXPMETHODCALL_ATTRIBUTE",
         // throw XmlValidationError(parser.getLine(),  
         // "Missing EXPMETHODCALL.NAME attribute");  
   
         MessageLoaderParms mlParms("Common.XmlReader.MISSING_EXPMETHODCALL_ATTRIBUTE",  
                                    "Missing EXPMETHODCALL.NAME attribute");                                    "Missing EXPMETHODCALL.NAME attribute");
   
         throw XmlValidationError(parser.getLine(), mlParms);         throw XmlValidationError(parser.getLine(), mlParms);
       }       }
  
Line 4888 
Line 4350 
     // Get EXPMETHODRESPONSE.NAME attribute:     // Get EXPMETHODRESPONSE.NAME attribute:
  
  
       if (!entry.getAttributeValue("NAME", name)) {      if (!entry.getAttributeValue("NAME", name))
         // l10n      {
           MessageLoaderParms mlParms(
         // throw XmlValidationError(              "Common.XmlReader.MISSING_EXPMETHODRESPONSE_ATTRIBUTE",
         //   parser.getLine(), "Missing EXPMETHODRESPONSE.NAME attribute");  
   
         MessageLoaderParms mlParms("Common.XmlReader.MISSING_EXPMETHODRESPONSE_ATTRIBUTE",  
                                    "Missing EXPMETHODRESPONSE.NAME attribute");                                    "Missing EXPMETHODRESPONSE.NAME attribute");
   
         throw XmlValidationError(parser.getLine(), mlParms);         throw XmlValidationError(parser.getLine(), mlParms);
       }       }
  
Line 4921 
Line 4379 
     // Get EXPPARAMVALUE.NAME attribute:     // Get EXPPARAMVALUE.NAME attribute:
  
  
     if (!entry.getAttributeValue("NAME", name)) {      if (!entry.getAttributeValue("NAME", name))
       {
       // l10n          MessageLoaderParms mlParms(
               "Common.XmlReader.MISSING_EXPPARAMVALUE_ATTRIBUTE",
       // throw XmlValidationError(parser.getLine(),  
       //   "Missing EXPPARAMVALUE.NAME attribute");  
   
       MessageLoaderParms mlParms("Common.XmlReader.MISSING_EXPPARAMVALUE_ATTRIBUTE",  
                                  "Missing EXPPARAMVALUE.NAME attribute");                                  "Missing EXPPARAMVALUE.NAME attribute");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
  
Line 4957 
Line 4410 
     // Get METHODCALL.NAME attribute:     // Get METHODCALL.NAME attribute:
  
  
     if (!entry.getAttributeValue("NAME", name)) {      if (!entry.getAttributeValue("NAME", name))
       {
       // l10n          MessageLoaderParms mlParms(
               "Common.XmlReader.MISSING_METHODCALL_ATTRIBUTE",
       // throw XmlValidationError(parser.getLine(),  
       //               "Missing METHODCALL.NAME attribute");  
   
       MessageLoaderParms mlParms("Common.XmlReader.MISSING_METHODCALL_ATTRIBUTE",  
                                  "Missing METHODCALL.NAME attribute");                                  "Missing METHODCALL.NAME attribute");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
  
Line 4995 
Line 4443 
     // Get METHODRESPONSE.NAME attribute:     // Get METHODRESPONSE.NAME attribute:
  
  
     if (!entry.getAttributeValue("NAME", name)) {      if (!entry.getAttributeValue("NAME", name))
       {
       // l10n          MessageLoaderParms mlParms(
               "Common.XmlReader.MISSING_METHODRESPONSE_ATTRIBUTE",
       // throw XmlValidationError(parser.getLine(),  
       //   "Missing METHODRESPONSE.NAME attribute");  
   
       MessageLoaderParms mlParms("Common.XmlReader.MISSING_METHODRESPONSE_ATTRIBUTE",  
                                  "Missing METHODRESPONSE.NAME attribute");                                  "Missing METHODRESPONSE.NAME attribute");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
  
Line 5039 
Line 4482 
  
     // Get PARAMVALUE.NAME attribute:     // Get PARAMVALUE.NAME attribute:
  
     if (!entry.getAttributeValue("NAME", name)) {      if (!entry.getAttributeValue("NAME", name))
       {
       // l10n          MessageLoaderParms mlParms(
               "Common.XmlReader.MISSING_PARAMVALUE_ATTRIBUTE",
       // throw XmlValidationError(parser.getLine(),  
       //   "Missing PARAMVALUE.NAME attribute");  
   
       MessageLoaderParms mlParms("Common.XmlReader.MISSING_PARAMVALUE_ATTRIBUTE",  
                                  "Missing PARAMVALUE.NAME attribute");                                  "Missing PARAMVALUE.NAME attribute");
   
       throw XmlValidationError(parser.getLine(), mlParms);       throw XmlValidationError(parser.getLine(), mlParms);
     }     }
  
Line 5083 
Line 4521 
                     type = CIMTYPE_REFERENCE;                     type = CIMTYPE_REFERENCE;
                 gotType = true;                 gotType = true;
                 }                 }
             // If type==reference but no VALUE.REFERENCE found, use null value              else
               {
                   gotType = false; // Can't distinguish array and non-array types
               }
         }         }
  
         // Parse non-reference value         // Parse non-reference value
Line 5105 
Line 4546 
             //     Convert the EmbeddedObject-encoded string into a CIMObject             //     Convert the EmbeddedObject-encoded string into a CIMObject
 #ifdef PEGASUS_EMBEDDED_INSTANCE_SUPPORT #ifdef PEGASUS_EMBEDDED_INSTANCE_SUPPORT
             Boolean isEmbeddedObject = String::equal(embeddedObject, "object");             Boolean isEmbeddedObject = String::equal(embeddedObject, "object");
             Boolean isEmbeddedInstance = String::equal(embeddedObject, "instance");              Boolean isEmbeddedInstance =
                   String::equal(embeddedObject, "instance");
             if(isEmbeddedObject || isEmbeddedInstance)             if(isEmbeddedObject || isEmbeddedInstance)
             {             {
                 // The EMBEDDEDOBJECT attribute is only valid on Parameters of type string                  // The EMBEDDEDOBJECT attribute is only valid on Parameters
                   // of type string
                 // The type must have been specified.                 // The type must have been specified.
                 if (gotType && (type == CIMTYPE_STRING))                 if (gotType && (type == CIMTYPE_STRING))
                 {                 {
                   if(isEmbeddedObject)                   if(isEmbeddedObject)
                     effectiveType = CIMTYPE_OBJECT; // Used below by getValueElement() or getValueArrayElement()                        // Used below by getValueElement() or
                         // getValueArrayElement()
                         effectiveType = CIMTYPE_OBJECT;
                   else                   else
                     effectiveType = CIMTYPE_INSTANCE;                     effectiveType = CIMTYPE_INSTANCE;
                 }                 }
                 else                 else
                 {                 {
                     // Error -- throw exception                      MessageLoaderParms mlParms(
                     // (the EmbeddedObject attribute may be applied only to entities that have the type String)                          "Common.XmlReader.INVALID_EMBEDDEDOBJECT_TYPE",
                           "The EMBEDDEDOBJECT attribute is only valid on "
                     // l10n                              "string types.");
   
                     // throw XmlValidationError(parser.getLine(),  
                     //   "expected string type");  
   
                     MessageLoaderParms mlParms("Common.XmlReader.INVALID_EMBEDDEDOBJECT_TYPE",  
                                      "The EMBEDDEDOBJECT attribute is only valid on string types.");  
   
                     throw XmlValidationError(parser.getLine(), mlParms);                     throw XmlValidationError(parser.getLine(), mlParms);
                 }                 }
             }             }
 #else #else
             if (String::equal(embeddedObject, "object"))             if (String::equal(embeddedObject, "object"))
             {             {
                 // The EMBEDDEDOBJECT attribute is only valid on Parameters of type string                  // The EMBEDDEDOBJECT attribute is only valid on Parameters
                   // of type string
                 // The type must have been specified.                 // The type must have been specified.
                 if (gotType && (type == CIMTYPE_STRING))                 if (gotType && (type == CIMTYPE_STRING))
                 {                 {
Line 5145 
Line 4584 
                 }                 }
                 else                 else
                 {                 {
                     // Error -- throw exception                      MessageLoaderParms mlParms(
                     // (the EmbeddedObject attribute may be applied only to entities that have the type String)                          "Common.XmlReader.INVALID_EMBEDDEDOBJECT_TYPE",
                           "The EMBEDDEDOBJECT attribute is only valid on "
                     // l10n                              "string types.");
   
                     // throw XmlValidationError(parser.getLine(),  
                     //   "expected string type");  
   
                     MessageLoaderParms mlParms("Common.XmlReader.INVALID_EMBEDDEDOBJECT_TYPE",  
                                      "The EMBEDDEDOBJECT attribute is only valid on string types.");  
   
                     throw XmlValidationError(parser.getLine(), mlParms);                     throw XmlValidationError(parser.getLine(), mlParms);
                 }                 }
             }             }
 #endif // PEGASUS_EMBEDDED_INSTANCE_SUPPORT #endif // PEGASUS_EMBEDDED_INSTANCE_SUPPORT
  
             if ( !XmlReader::getValueArrayElement(parser, effectiveType, value) &&              if (!XmlReader::getValueArrayElement(parser, effectiveType, value)
                  !XmlReader::getValueElement(parser, effectiveType, value) )                  && !XmlReader::getValueElement(parser, effectiveType, value))
             {             {
                 gotType = false; // Can't distinguish array and non-array types                 gotType = false; // Can't distinguish array and non-array types
                 value.clear();   // Isn't necessary; should already be cleared                 value.clear();   // Isn't necessary; should already be cleared
             }             }
   
         }         }
  
         expectEndTag(parser, "PARAMVALUE");         expectEndTag(parser, "PARAMVALUE");
     }     }
  
   
     paramValue = CIMParamValue(name, value, gotType);     paramValue = CIMParamValue(name, value, gotType);
  
     return true;     return true;
Line 5224 
Line 4654 
         }         }
         else if (type == CIMTYPE_REFERENCE)         else if (type == CIMTYPE_REFERENCE)
         {         {
               MessageLoaderParms mlParms(
           // l10n                  "Common.XmlReader.EXPECTED_VALUE_REFERENCE_ELEMENT",
   
           // throw XmlValidationError(parser.getLine(),  
           //   "expected VALUE.REFERENCE element");  
   
           MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_VALUE_REFERENCE_ELEMENT",  
                                      "expected VALUE.REFERENCE element");                                      "expected VALUE.REFERENCE element");
   
           throw XmlValidationError(parser.getLine(), mlParms);           throw XmlValidationError(parser.getLine(), mlParms);
         }         }
     }     }
Line 5253 
Line 4677 
             if (gotType && (type == CIMTYPE_STRING))             if (gotType && (type == CIMTYPE_STRING))
             {             {
                 if(isEmbeddedObject)                 if(isEmbeddedObject)
                   type = CIMTYPE_OBJECT; // Used below by getValueElement() or getValueArrayElement()                      // Used below by getValueElement() or getValueArrayElement()
                       type = CIMTYPE_OBJECT;
                 else                 else
                   type = CIMTYPE_INSTANCE;                   type = CIMTYPE_INSTANCE;
             }             }
             else             else
             {             {
                 // Error -- throw exception                  MessageLoaderParms mlParms(
                 // (the EmbeddedObject attribute may be applied only to entities that have the type String)                      "Common.XmlReader.INVALID_EMBEDDEDOBJECT_TYPE",
                       "The EMBEDDEDOBJECT attribute is only valid on string "
                 // l10n                          "types.");
   
                 // throw XmlValidationError(parser.getLine(),  
                 //   "expected string type");  
   
                 MessageLoaderParms mlParms("Common.XmlReader.INVALID_EMBEDDEDOBJECT_TYPE",  
                                  "The EMBEDDEDOBJECT attribute is only valid on string types.");  
   
                 throw XmlValidationError(parser.getLine(), mlParms);                 throw XmlValidationError(parser.getLine(), mlParms);
             }             }
         }         }
Line 5282 
Line 4700 
             }             }
             else             else
             {             {
                 // Error -- throw exception                  MessageLoaderParms mlParms(
                 // (the EmbeddedObject attribute may be applied only to entities that have the type String)                      "Common.XmlReader.INVALID_EMBEDDEDOBJECT_TYPE",
                       "The EMBEDDEDOBJECT attribute is only valid on string "
                 // l10n                          "types.");
   
                 // throw XmlValidationError(parser.getLine(),  
                 //   "expected string type");  
   
                 MessageLoaderParms mlParms("Common.XmlReader.INVALID_EMBEDDEDOBJECT_TYPE",  
                                  "The EMBEDDEDOBJECT attribute is only valid on string types.");  
   
                 throw XmlValidationError(parser.getLine(), mlParms);                 throw XmlValidationError(parser.getLine(), mlParms);
             }             }
         }         }
 #endif // PEGASUS_EMBEDDED_INSTANCE_SUPPORT #endif // PEGASUS_EMBEDDED_INSTANCE_SUPPORT
         if ( !XmlReader::getValueElement(parser, type, returnValue) )         if ( !XmlReader::getValueElement(parser, type, returnValue) )
         {         {
               MessageLoaderParms mlParms(
                 // l10n                  "Common.XmlReader.EXPECTED_VALUE_ELEMENT",
   
                 // throw XmlValidationError(parser.getLine(),  
                 //   "expected VALUE element");  
   
                 MessageLoaderParms mlParms("Common.XmlReader.EXPECTED_VALUE_ELEMENT",  
                                      "expected VALUE element");                                      "expected VALUE element");
   
                 throw XmlValidationError(parser.getLine(), mlParms);                 throw XmlValidationError(parser.getLine(), mlParms);
         }         }
     }     }
Line 5317 
Line 4722 
     return true;     return true;
 } }
  
 PEGASUS_NAMESPACE_END  //-----------------------------------------------------------------------------
   //
   // The following is a common set of version tests used by the different
   // Pegasus Request and Response Decoders
   //
   //------------------------------------------------------------------------------
   //
   // isSupportedCIMVersion()
   // tests for valid CIMVersion number
   //
   // Reject cimVersion not in 2.[0-9]+
   //
   // CIMXML Secification, Version 2.2 Final, Sect 3.2.1.1
   // The CIMVERSION attribute defines the version of the CIM Specification to
   // which the XML Document conforms.  It MUST be in the form of "M.N".  Where
   // M is the Major Version of the specification in numeric form and N is the
   // minor version of the specification in numeric form.  For example, "2.0",
   // "2.1".  Implementations must only validate the major version as all minor
   // versions are backward compatible.  Implementations may look at the minor
   // version to determine additional capabilites.
   //
   //------------------------------------------------------------------------------
   Boolean XmlReader::isSupportedCIMVersion(
       const char* cimVersion)
   {
       Boolean cimVersionAccepted = false;
       //printf("testCIMVersion %s \n", cimVersion);
       if ((cimVersion[0] == '2') &&
           (cimVersion[1] == '.') &&
           (cimVersion[2] != 0))
       {
           // Verify that all characters after the '.' are digits
           Uint32 index = 2;
           while (isdigit(cimVersion[index]))
           {
               index++;
           }
  
           if (cimVersion[index] == 0)
           {
              cimVersionAccepted = true;
           }
       }
       return cimVersionAccepted;
   }
   
   //------------------------------------------------------------------------------
   //
   // isSupportedProtocolVersion()
   // tests for valid ProtocolVersion number
   //
   // Reject ProtocolVersion not 1.[0-9]
   //
   // cimxml spec 2.2 Final Section 3261
   // The PROTOCOLVERSION attribute defines the version of the CIM Operations to
   // which this message conforms.  It MUST be in the form of  "M.N". Where M is
   // the Major Version of the specification in numeric form and N is the minor
   // version of the specification in numeric form.  For example, "1.0", "1.1".
   // Implementations must only validate the major version as all minor versions
   // are backward compatible. Implementations may look at the minor version to
   // determine additional capabilites.
   //
   //------------------------------------------------------------------------------
   Boolean XmlReader::isSupportedProtocolVersion(
       const String& protocolVersion)
   {
       Boolean protocolVersionAccepted = false;
   
       //cout << "testProtocolVersion " << protocolVersion << endl;
       if ((protocolVersion.size() >= 3) &&
           (protocolVersion[0] == '1') &&
           (protocolVersion[1] == '.'))
       {
           // Verify that all characters after the '.' are digits
           Uint32 index = 2;
           while ((index < protocolVersion.size()) &&
                  (protocolVersion[index] >= '0') &&
                  (protocolVersion[index] <= '9'))
           {
               index++;
           }
   
           if (index == protocolVersion.size())
           {
               protocolVersionAccepted = true;
           }
       }
       return protocolVersionAccepted;
   }
   
   //------------------------------------------------------------------------------
   //
   // isSupportedDTDVersion()
   // Tests for Valid dtdVersion number
   // We accept DTD version 2.[0-9]+ (see Bugzilla 1556)//
   //
   // CIM/XML Specification, V 2.2 Final, Section 3.2.1.1
   // The DTDVERSION attribute defines the version of the CIM XML Mapping to
   // which the XML Document conforms.  It MUST be in the form of "M.N".  Where
   // M is the Major Version of the specification in numeric form and N is the
   // minor version of the specification in numeric form.  For example, "2.0",
   // "2.1".  Implementations must only validate the major version as all minor
   // versions are backward compatible.  Implementations may look at the minor
   // version to determine additional capabilites.
   //
   //------------------------------------------------------------------------------
   Boolean XmlReader::isSupportedDTDVersion(
       const char* dtdVersion)
   {
       Boolean dtdVersionAccepted = false;
   
       //printf("testDTDVersion %s \n", dtdVersion);
       if ((dtdVersion[0] == '2') &&
           (dtdVersion[1] == '.') &&
           (dtdVersion[2] != 0))
       {
           // Verify that all characters after the '.' are digits
           Uint32 index = 2;
           while (isdigit(dtdVersion[index]))
           {
               index++;
           }
   
           if (dtdVersion[index] == 0)
           {
              dtdVersionAccepted = true;
           }
       }
       return dtdVersionAccepted;
   }
   PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.120  
changed lines
  Added in v.1.122.4.2

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2