+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D\r
+\r
/*\r
* Config_Common.cpp\r
*\r
#include <sstream> // for stringstream\r
\r
#include <string>\r
-#include <algorithm> // for std::transform\r\r
+#include <algorithm> // for std::transform\r
+\r
bool isElementNode(xmlNodePtr theNode)\r
{\r
+ if (!theNode)\r
+ return false;\r
return theNode->type == XML_ELEMENT_NODE;\r
}\r
\r
return false;\r
\r
//it should not be a "source" or a "validator" node\r
- return !isNode(theNode, NODE_SOURCE, NODE_VALIDATOR, NULL);\r
+ return !isNode(theNode, NODE_SOURCE, NODE_VALIDATOR, NODE_SELFILTER, NULL);\r
}\r
\r
bool hasChild(xmlNodePtr theNode)\r
return false;\r
}\r
\r
-bool getValidatorInfo(xmlNodePtr theNode, std::string& outValidatorId,\r
+bool getParametersInfo(xmlNodePtr theNode, std::string& outPropertyId,\r
std::list<std::string>& outValidatorParameters)\r
{\r
- //Validator id:\r
+ //Property id:\r
char* anIdProp = (char*) xmlGetProp(theNode, BAD_CAST _ID);\r
if (!anIdProp || anIdProp[0] == 0) {\r
return false;\r
}\r
- outValidatorId = std::string(anIdProp);\r
+ outPropertyId = std::string(anIdProp);\r
\r
- //Validator parameters:\r
- char* aParamProp = (char*) xmlGetProp(theNode, BAD_CAST VALIDATOR_PARAMETERS);\r
+ //Property parameters:\r
+ char* aParamProp = (char*) xmlGetProp(theNode, BAD_CAST _PARAMETERS);\r
if (aParamProp && aParamProp[0] != 0) {\r
std::string aPropString = std::string(aParamProp);\r
std::stringstream aPropStringStream(aPropString);\r
char COMMA_DELIM = ',';\r
- std::string aValidatorParameter;\r
- while (std::getline(aPropStringStream, aValidatorParameter, ',')) {\r
- outValidatorParameters.push_back(aValidatorParameter);\r
+ std::string aParameter;\r
+ while (std::getline(aPropStringStream, aParameter, ',')) {\r
+ outValidatorParameters.push_back(aParameter);\r
}\r
}\r
return true;\r
\r
std::string library(const std::string& theLibName)\r
{\r
+ if(theLibName.empty())\r
+ return std::string();\r
std::string aLibName = theLibName;\r
#ifndef WIN32\r
static std::string aLibExt( ".so" );\r
\r
bool getBooleanAttribute(xmlNodePtr theNode, const char* theAttributeName, bool theDefault)\r
{\r
- std::string prop = getProperty(theNode, theAttributeName);\r
- std::transform(prop.begin(), prop.end(), prop.begin(), ::tolower);\r
+ std::string prop = normalize(getProperty(theNode, theAttributeName));\r
bool result = theDefault;\r
if (prop == "true" || prop == "1") {\r
result = true;\r
}\r
return result;\r
}\r
+\r
+CONFIG_EXPORT std::string normalize(const char* theString)\r
+{\r
+ if (!theString)\r
+ return std::string();\r
+ return normalize(std::string(theString));\r
+}\r
+\r
+CONFIG_EXPORT std::string normalize(const std::string& theString)\r
+{\r
+ std::string result = theString;\r
+ std::transform(result.begin(), result.end(), result.begin(), ::tolower);\r
+ return result;\r
+}\r