Bug fix: variable resolution inside global collections

Collections were being resolved as transient variables.
This commit is contained in:
Felipe Zimmerle
2016-07-07 10:32:48 -03:00
parent 20689145dd
commit 7bcc9cf0d9
2 changed files with 51 additions and 10 deletions

View File

@@ -62,49 +62,49 @@ class Collection {
virtual void store(std::string key, std::string compartment,
std::string value) {
std::string nkey = key + "::" + compartment;
std::string nkey = compartment + "::" + key;
store(nkey, value);
}
virtual bool storeOrUpdateFirst(const std::string &key,
std::string compartment, const std::string &value) {
std::string nkey = key + "::" + compartment;
std::string nkey = compartment + "::" + key;
return storeOrUpdateFirst(nkey, value);
}
virtual bool updateFirst(const std::string &key, std::string compartment,
const std::string &value) {
std::string nkey = key + "::" + compartment;
std::string nkey = compartment + "::" + key;
return updateFirst(nkey, value);
}
virtual void del(const std::string& key, std::string compartment) {
std::string nkey = key + "::" + compartment;
std::string nkey = compartment + "::" + key;
del(nkey);
}
virtual std::string* resolveFirst(const std::string& var,
std::string compartment) {
std::string nkey = var + "::" + compartment;
std::string nkey = compartment + "::" + var;
return resolveFirst(nkey);
}
virtual void resolveSingleMatch(const std::string& var,
std::string compartment, std::vector<const Variable *> *l) {
std::string nkey = var + "::" + compartment;
std::string nkey = compartment + "::" + var;
resolveSingleMatch(nkey, l);
}
virtual void resolveMultiMatches(const std::string& var,
std::string compartment, std::vector<const Variable *> *l) {
std::string nkey = var + "::" + compartment;
std::string nkey = compartment + "::" + var;
resolveMultiMatches(nkey, l);
}
virtual void resolveRegularExpression(const std::string& var,
std::string compartment,
std::vector<const Variable *> *l) {
std::string nkey = var + "::" + compartment;
std::string nkey = compartment + "::" + var;
resolveRegularExpression(nkey, l);
}