From 80135280c95155363baf45c39b0403fb71b52e2e Mon Sep 17 00:00:00 2001 From: Francois Henrotte <francois.henrotte@ulg.ac.be> Date: Wed, 12 Jun 2013 20:41:37 +0000 Subject: [PATCH] database management --- contrib/onelab/OnelabClients.cpp | 4 ++-- contrib/onelab/OnelabMessage.cpp | 1 + contrib/onelab/OnelabParser.cpp | 12 +++++++++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/contrib/onelab/OnelabClients.cpp b/contrib/onelab/OnelabClients.cpp index 9ef46c4d26..d11c79cc40 100644 --- a/contrib/onelab/OnelabClients.cpp +++ b/contrib/onelab/OnelabClients.cpp @@ -1406,8 +1406,8 @@ std::string QuoteExecPath(const std::string &in) std::string removeBlanks(const std::string &in) { - size_t pos0=in.find_first_not_of(" "); - size_t pos=in.find_last_not_of(" "); + size_t pos0=in.find_first_not_of(" \t"); + size_t pos=in.find_last_not_of(" \t"); if( (pos0 != std::string::npos) && (pos != std::string::npos)) return in.substr(pos0, pos-pos0+1); else diff --git a/contrib/onelab/OnelabMessage.cpp b/contrib/onelab/OnelabMessage.cpp index be750799dd..ee827c048f 100644 --- a/contrib/onelab/OnelabMessage.cpp +++ b/contrib/onelab/OnelabMessage.cpp @@ -315,6 +315,7 @@ void OLMsg::SetOnelabString(std::string name, std::string val, bool visible) } strings[0].setValue(val); strings[0].setVisible(visible); + strings[0].setAttribute("notInDb","True"); _onelabClient->set(strings[0]); } } diff --git a/contrib/onelab/OnelabParser.cpp b/contrib/onelab/OnelabParser.cpp index e6b23a99ca..c72997b374 100644 --- a/contrib/onelab/OnelabParser.cpp +++ b/contrib/onelab/OnelabParser.cpp @@ -560,8 +560,8 @@ void localSolverClient::parse_sentence(std::string line) { val=atof(resolveGetVal(arguments[0]).c_str()); numbers[0].setValue(val); } - else if(arguments[0].empty()) // resets read only parameters - numbers[0].setValue(val); + // else if(arguments[0].empty()) // resets read only parameters + // numbers[0].setValue(val); if(arguments.size()>2) numbers[0].setLabel(unquote(arguments[2])); @@ -577,6 +577,7 @@ void localSolverClient::parse_sentence(std::string line) { } else if(!action.compare("string")) { // syntax: paramName.string(val,path,help) + std::string val = ""; if(arguments.size()>1) name.assign(FixOLPath(arguments[1]) + name); // append path _parameters.insert(name); @@ -585,7 +586,12 @@ void localSolverClient::parse_sentence(std::string line) { if(strings.empty()){ strings.resize(1); strings[0].setName(name); - std::string val=resolveGetVal(arguments[0]); + if(arguments[0].empty()){ + strings[0].setReadOnly(true); + strings[0].setNeverChanged(true); + } + else + std::string val=resolveGetVal(arguments[0]); strings[0].setValue(val); } // choices list is reset -- GitLab