Bypass Origin-State-Id for regexp xml content in wait steps
authorEduardo Ramos Testillano <eduardo.ramos.testillano@ericsson.com>
Tue, 4 Apr 2017 21:17:00 +0000 (23:17 +0200)
committerEduardo Ramos Testillano <eduardo.ramos.testillano@ericsson.com>
Tue, 4 Apr 2017 21:17:00 +0000 (23:17 +0200)
example/diameter/launcher/Launcher.cpp

index 1633e5c..30ae63f 100644 (file)
@@ -1272,7 +1272,8 @@ std::string Launcher::help() const throw() {
   result += "\n                                                          source file (xml representation). Fix mode must be enabled to avoid";
   result += "\n                                                          unexpected matching behaviour. If you need a strict matching you";
   result += "\n                                                          must add parameter 'strict', if not, regexp is built ignoring sequence";
-  result += "\n                                                          information (hop-by-hop-id=\"[0-9]+\" end-to-end-id=\"[0-9]+\").";
+  result += "\n                                                          information (hop-by-hop-id=\"[0-9]+\" end-to-end-id=\"[0-9]+\") and";
+  result += "\n                                                          Origin-State-Id value.";
   result += "\n                                                          All LF codes will be internally removed when comparison is executed";
   result += "\n                                                          in order to ease xml content configuration.";
   result += "\n";
@@ -2289,13 +2290,17 @@ void Launcher::eventOperation(const std::string &operation, std::string &respons
 /*
           std::string s_from = "hop-by-hop-id=\"[0-9]+\" end-to-end-id=\"[0-9]+\"";
           std::string s_to = s_from;
+          std::string s_from2 = "avp name=\"Origin-State-Id\" data=\"[0-9]+\"";
+          std::string s_to2 = s_from2;
 
           try {
             regexp = std::regex_replace (regexp, std::regex(s_from), s_to);
+            regexp = std::regex_replace (regexp, std::regex(s_from2), s_to2);
           }
           catch (const std::regex_error& e) {
             throw anna::RuntimeException(e.what(), ANNA_FILE_LOCATION);
           }
+
 */
           std::string::size_type pos, pos_1, pos_2;
 
@@ -2313,6 +2318,14 @@ void Launcher::eventOperation(const std::string &operation, std::string &respons
           pos_2 = pos;
           regexp.replace(pos_1 + 1, pos_2 - pos_1 - 1, "[0-9]+");
 
+          pos = regexp.find("Origin-State-Id", 0u);
+          pos = regexp.find("\"", pos);
+          pos = regexp.find("\"", pos+1);
+          pos_1 = pos;
+          pos = regexp.find("\"", pos+1);
+          pos_2 = pos;
+          regexp.replace(pos_1 + 1, pos_2 - pos_1 - 1, "[0-9]+");
+
           //regexp.insert(0, "^");
           //regexp += "$";
         }