Fix xml representations
authorEduardo Ramos Testillano (eramedu) <eduardo.ramos.testillano@ericsson.com>
Sun, 17 May 2020 18:26:24 +0000 (20:26 +0200)
committerEduardo Ramos Testillano (eramedu) <eduardo.ramos.testillano@ericsson.com>
Sun, 17 May 2020 18:26:24 +0000 (20:26 +0200)
< is not allowed (should be &lt). Changed to [ to avoid problems

13 files changed:
docker-images/anna-adml-http/Dockerfile
example/diameter/launcher/EventOperation.cpp
example/diameter/launcher/Launcher.cpp
example/diameter/launcher/MyDiameterEntity.cpp
example/diameter/launcher/MyLocalServer.cpp
include/anna/time/internal/Timezone.hpp
source/comm/INetAddress.cpp
source/diameter.comm/ClassCode.cpp
source/diameter.comm/Entity.cpp
source/diameter.comm/OriginHost.cpp
source/diameter/codec/EngineImpl.cpp
source/testing/TestManager.cpp
source/testing/TestStep.cpp

index c08c1e1..b27fecd 100644 (file)
@@ -11,5 +11,7 @@ COPY starter.sh /var/starter.sh
 EXPOSE 8074
 WORKDIR /opt/adml
 
+#ENV TZ=Europe/Madrid
+
 ENTRYPOINT ["sh", "/var/starter.sh"]
 CMD []
index a3ee7ba..4d80410 100644 (file)
@@ -357,7 +357,7 @@ bool EventOperation::sendmsg_hex_2e(std::string &response, const std::string & d
   if(my_app.getOperatedHost()->logEnabled()) {
     anna::diameter::comm::Server *usedServer = my_app.getOperatedEntity()->getLastUsedResource();
     anna::diameter::comm::ClientSession *usedClientSession = usedServer ? usedServer->getLastUsedResource() : NULL;
-    std::string detail = usedClientSession ? usedClientSession->asString() : "<null client session>"; // shouldn't happen
+    std::string detail = usedClientSession ? usedClientSession->asString() : "[null client session]"; // shouldn't happen
     my_app.getOperatedHost()->writeLogFile(codecMsg, (success ? "sent2e" : "send2eError"), detail);
   }
 
@@ -422,7 +422,7 @@ bool EventOperation::sendmsg_hex_2c(std::string &response, const std::string & d
   // Detailed log:
   if(my_app.getOperatedHost()->logEnabled()) {
     anna::diameter::comm::ServerSession *usedServerSession = my_app.getOperatedServer()->getLastUsedResource();
-    std::string detail = usedServerSession ? usedServerSession->asString() : "<null server session>"; // shouldn't happen
+    std::string detail = usedServerSession ? usedServerSession->asString() : "[null server session]"; // shouldn't happen
     my_app.getOperatedHost()->writeLogFile(codecMsg, (success ? "sent2c" : "send2cError"), detail);
   }
 
@@ -877,12 +877,12 @@ bool EventOperation::test__ip_limit(std::string &response, int amount) {
   if (amount > -2) {
     testManager.setInProgressLimit(amount);
     response = "New in-progress limit: ";
-    response += (amount != -1) ? anna::functions::asString(amount) : "<no limit>";
+    response += (amount != -1) ? anna::functions::asString(amount) : "[no limit]";
   }
   else {
     response = "In-progress limit amount: ";
     int limit = testManager.getInProgressLimit();
-    response += (limit != -1) ? anna::functions::asString(limit) : "<no limit>";
+    response += (limit != -1) ? anna::functions::asString(limit) : "[no limit]";
     response += "; currently there are ";
     response += anna::functions::asString(testManager.getInProgressCount());
     response += " test cases running";
index 0fe55a0..487c632 100644 (file)
@@ -1201,7 +1201,7 @@ bool Launcher::eventOperation(const std::string &operation, std::string &respons
     if(getOperatedHost()->logEnabled()) {
       anna::diameter::comm::Server *usedServer = getOperatedEntity()->getLastUsedResource();
       anna::diameter::comm::ClientSession *usedClientSession = usedServer ? usedServer->getLastUsedResource() : NULL;
-      std::string detail = usedClientSession ? usedClientSession->asString() : "<null client session>"; // shouldn't happen
+      std::string detail = usedClientSession ? usedClientSession->asString() : "[null client session]"; // shouldn't happen
       getOperatedHost()->writeLogFile(codecMsg, (success ? "sent2e" : "send2eError"), detail);
     }
   } else if((opType == "sendxml2c") || (opType == "sendhex2c")) {
@@ -1230,7 +1230,7 @@ bool Launcher::eventOperation(const std::string &operation, std::string &respons
     // Detailed log:
     if(getOperatedHost()->logEnabled()) {
       anna::diameter::comm::ServerSession *usedServerSession = getOperatedServer()->getLastUsedResource();
-      std::string detail = usedServerSession ? usedServerSession->asString() : "<null server session>"; // shouldn't happen
+      std::string detail = usedServerSession ? usedServerSession->asString() : "[null server session]"; // shouldn't happen
       getOperatedHost()->writeLogFile(codecMsg, (success ? "sent2c" : "send2cError"), detail);
     }
   } else if(opType == "answerxml2e") {
@@ -1441,12 +1441,12 @@ bool Launcher::eventOperation(const std::string &operation, std::string &respons
         limit = atoi(param2.c_str());
         testManager.setInProgressLimit(limit);
         opt_response = "new in-progress limit: ";
-        opt_response += (limit != UINT_MAX) ? anna::functions::asString(limit) : "<no limit>";
+        opt_response += (limit != UINT_MAX) ? anna::functions::asString(limit) : "[no limit]";
       }
       else {
         opt_response = "in-progress limit amount: ";
         limit = testManager.getInProgressLimit();
-        opt_response += (limit != UINT_MAX) ? anna::functions::asString(limit) : "<no limit>";
+        opt_response += (limit != UINT_MAX) ? anna::functions::asString(limit) : "[no limit]";
         opt_response += "; currently there are ";
         opt_response += anna::functions::asString(testManager.getInProgressCount());
         opt_response += " test cases running";
index f0864df..3e50d70 100644 (file)
@@ -125,7 +125,7 @@ throw(anna::RuntimeException) {
       // Detailed log:
       if(my_node->logEnabled()) {
         anna::diameter::comm::ServerSession *usedServerSession = localServer->getLastUsedResource();
-        std::string detail = usedServerSession ? usedServerSession->asString() : "<null server session>"; // esto no deberia ocurrir
+        std::string detail = usedServerSession ? usedServerSession->asString() : "[null server session]"; // esto no deberia ocurrir
         my_node->writeLogFile(message, (success ? "fwd2c" : "fwd2cError"), detail);
       }
     } catch(anna::RuntimeException &ex) {
@@ -208,7 +208,7 @@ throw(anna::RuntimeException) {
 
         // Detailed log:
         anna::diameter::comm::ServerSession *usedServerSession = my_node->getCommEngine()->findServerSession(request->getRequestServerSessionKey());
-        std::string detail = usedServerSession ? usedServerSession->asString() : "<null server session>"; // esto no deberia ocurrir
+        std::string detail = usedServerSession ? usedServerSession->asString() : "[null server session]"; // esto no deberia ocurrir
 
         if(my_node->logEnabled()) {
           my_node->writeLogFile(*message, (success ? "fwd2c" : "fwd2cError"), detail);
index 50ab634..f18653f 100644 (file)
@@ -65,7 +65,7 @@ throw(anna::RuntimeException) {
     if(my_node->logEnabled()) {
       anna::diameter::comm::Server *usedServer = entity->getLastUsedResource();
       anna::diameter::comm::ClientSession *usedClientSession = usedServer ? usedServer->getLastUsedResource() : NULL;
-      std::string detail = usedClientSession ? usedClientSession->asString() : "<null client session>"; // esto no deberia ocurrir
+      std::string detail = usedClientSession ? usedClientSession->asString() : "[null client session]"; // esto no deberia ocurrir
       my_node->writeLogFile(message, (success ? "fwd2e" : "fwd2eError"), detail); // forwarded
     }
 
@@ -199,7 +199,7 @@ throw(anna::RuntimeException) {
       anna::diameter::comm::ClientSession *usedClientSession = my_node->getCommEngine()->findClientSession(request->getRequestClientSessionKey());
       std::string detail;
 
-      if(my_node->logEnabled()) detail = usedClientSession ? usedClientSession->asString() : "<null client session>";  // this should not happen
+      if(my_node->logEnabled()) detail = usedClientSession ? usedClientSession->asString() : "[null client session]";  // this should not happen
       anna::diameter::comm::Message *msg;
 
       try {
index 0dff2f4..532ccc4 100644 (file)
@@ -99,10 +99,10 @@ public:
   bool apply() const throw() {
     //    http://stackoverflow.com/questions/5873029/questions-about-putenv-and-setenv
     if(unsetTZ()) {
-      unsetenv("TZ");                                                             
-    }                                                                             
-    else {                                                                        
-      setenv("TZ", a_value.c_str(), 1 /* overwrite */);                              
+      unsetenv("TZ");
+    }
+    else {
+      setenv("TZ", a_value.c_str(), 1 /* overwrite */);
 
       /*
       // If TZ has an invalid setting, tzset() uses GMT0:
@@ -115,15 +115,15 @@ public:
       if (!success) std::cerr << "Invalid TZ '" << a_value << "'. Probably GMT0 is going to be used instead !" << std::endl;
       return success;
       */
-    }                                                                             
+    }
 
     return true;
   }
 
   std::string asString() const throw() {
     std::string result = getValue();
-    if (unsetTZ()) return "<TZ unset>";
-    if (result == "") return "<TZ empty>";
+    if (unsetTZ()) return "[TZ unset]";
+    if (result == "") return "[TZ empty]";
     return result;
   }
 };
index 924c3bd..f9dbd2d 100644 (file)
@@ -49,7 +49,7 @@ throw(RuntimeException) {
   if(a_device != NULL)
     a_device->asAttribute(result);
   else
-    result->createAttribute("Device", "<null>");
+    result->createAttribute("Device", "[null]");
 
   result->createAttribute("Port", a_port);
   return result;
index 0c8cfc0..40d2c37 100644 (file)
@@ -15,12 +15,12 @@ using namespace std;
 //throw() {
 //   static const char* text [] = { "Undefined", "Bind", "ApplicationMessage" };
 //   string result("ClassCode: ");
-//   return result += (v >= Min && v < Max) ? text [v] : "<null>";
+//   return result += (v >= Min && v < Max) ? text [v] : "[null]";
 //}
 
 string anna::diameter::comm::ClassCode::asText(const ClassCode::_v v)
 throw() {
   static const char* text [] = { "Undefined", "Bind", "ApplicationMessage" };
-  return string((v >= Min && v < Max) ? text [v] : "<null>");
+  return string((v >= Min && v < Max) ? text [v] : "[null]");
 }
 
index 7bc1411..fc07148 100644 (file)
@@ -354,9 +354,9 @@ std::string Entity::asString() const throw() {
   std::string originHost = a_engine->getOriginHostName();
 
   result += "Parent Engine Origin-Realm: ";
-  result += (originRealm != "") ? originRealm:"<not configured>";
+  result += (originRealm != "") ? originRealm:"[not configured]";
   result += " | Parent Engine Origin-Host: ";
-  result += (originHost != "") ? originHost:"<not configured>";
+  result += (originHost != "") ? originHost:"[not configured]";
 
   result += " | Category: ";
   result += anna::functions::asString(a_category);
index ed181bd..498c6fa 100644 (file)
@@ -351,7 +351,7 @@ bool OriginHost::sendBurstMessage(bool anyway) throw() {
   if(logEnabled()) {
     anna::diameter::comm::Server *usedServer = a_entity->getLastUsedResource();
     anna::diameter::comm::ClientSession *usedClientSession = usedServer ? usedServer->getLastUsedResource() : NULL;
-    std::string detail = usedClientSession ? usedClientSession->asString() : "<null client session>"; // esto no deberia ocurrir
+    std::string detail = usedClientSession ? usedClientSession->asString() : "[null client session]"; // esto no deberia ocurrir
     writeLogFile(msg->getBody(), (result ? "sent2e" : "send2eError"), detail); // el del nodo de trabajo
   }
 
index 268cb06..50b8134 100644 (file)
@@ -110,7 +110,7 @@ std::string EngineImpl::asString(void) const throw() {
   result += "\nFixMode: ";
   result += asText(a_fixMode);
   result += "\nActivated Dictionary: ";
-  result += a_dictionary ? (a_dictionary->getName()) : "<null>";
+  result += a_dictionary ? (a_dictionary->getName()) : "[null]";
   return result;
 }
 
index c8c65e3..8b72efa 100644 (file)
@@ -553,7 +553,7 @@ throw() {
   result->createAttribute("PoolCycle", a_poolCycle);
   a_statSummary.asXML(result);
   if (a_inProgressLimit == UINT_MAX)
-    result->createAttribute("InProgressLimit", "<no limit>");
+    result->createAttribute("InProgressLimit", "[no limit]");
   else
     result->createAttribute("InProgressLimit", a_inProgressLimit);
   result->createAttribute("DumpInitializedReports", (a_dumpInitializedReports ? "yes":"no"));
index 5355024..84c577c 100644 (file)
@@ -374,7 +374,7 @@ throw() {
   // Message
   if (TestManager::instantiate().getDumpHex()) {
     if (a_message.isEmpty()) {
-      msg = "<empty>";
+      msg = "[empty]";
     }
     else {
       msg = "\n"; msg += a_message.asString(); msg += "\n";
@@ -387,7 +387,7 @@ throw() {
     xmlmsg += "\n";
   }
   else {
-    xmlmsg = "<unable to decode, check traces>";
+    xmlmsg = "[unable to decode, check traces]";
   }
 
   if (msg != "") result->createAttribute("Message", msg);
@@ -478,7 +478,7 @@ bool TestStepSendDiameterXml::do_execute() throw() {
       // Detailed log:
       if(a_originHost->logEnabled()) {
         if (decodeMessage(true /* trust */)) {
-          std::string detail = usedClientSession ? usedClientSession->asString() : "<null client session>"; // shouldn't happen
+          std::string detail = usedClientSession ? usedClientSession->asString() : "[null client session]"; // shouldn't happen
           a_originHost->writeLogFile(*a_messageCodec, (success ? "sent2e" : "send2eError"), detail);
         }
       }
@@ -512,7 +512,7 @@ bool TestStepSendDiameterXml::do_execute() throw() {
       // Detailed log:
       if(a_originHost->logEnabled()) {
         if (decodeMessage(true /* trust */)) {
-          std::string detail = usedServerSession ? usedServerSession->asString() : "<null server session>"; // shouldn't happen
+          std::string detail = usedServerSession ? usedServerSession->asString() : "[null server session]"; // shouldn't happen
           a_originHost->writeLogFile(*a_messageCodec, (success ? "sent2c" : "send2cError"), detail);
         }
       }
@@ -642,7 +642,7 @@ throw() {
   // Message
   if (TestManager::instantiate().getDumpHex()) {
     if (a_message.isEmpty()) {
-      msg = "<empty>";
+      msg = "[empty]";
     }
     else {
       msg = "\n"; msg += a_message.asString(); msg += "\n";
@@ -650,7 +650,7 @@ throw() {
   }
 
   if (a_message.isEmpty()) {
-      xmlmsg = "<empty>";
+      xmlmsg = "[empty]";
   }
   else {
     if (decodeMessage()) {
@@ -659,7 +659,7 @@ throw() {
       xmlmsg += "\n";
     }
     else {
-      xmlmsg = "<unable to decode, check traces>";
+      xmlmsg = "[unable to decode, check traces]";
     }
   }
 
@@ -713,7 +713,7 @@ throw() {
   anna::xml::Node* result = TestStep::asXML(parent);
   //parent->createChild("TestStepCmd");
 
-  result->createAttribute("Script", (a_script != "") ? a_script:"<no script>");
+  result->createAttribute("Script", (a_script != "") ? a_script:"[no script]");
   if (a_errorMsg != "") result->createAttribute("ErrorMessage", a_errorMsg);
   if (a_threadRunning) {
     if (a_childPid != -1)
@@ -795,7 +795,7 @@ void TestStepCmd::do_reset() throw() {
 anna::xml::Node* TestStepIpLimit::asXML(anna::xml::Node* parent)
 throw() {
   anna::xml::Node* result = TestStep::asXML(parent);
-  std::string limit = (a_ipLimit != UINT_MAX) ? anna::functions::asString(a_ipLimit) : "<no limit>";
+  std::string limit = (a_ipLimit != UINT_MAX) ? anna::functions::asString(a_ipLimit) : "[no limit]";
   result->createAttribute("IpLimit", limit);
 
   return result;
@@ -809,7 +809,7 @@ bool TestStepIpLimit::do_execute() throw() {
 
 void TestStepIpLimit::do_complete() throw() {
   if (TestManager::instantiate().getDumpStdout()) {
-    std::string limit = (a_ipLimit != UINT_MAX) ? anna::functions::asString(a_ipLimit) : "<no limit>";
+    std::string limit = (a_ipLimit != UINT_MAX) ? anna::functions::asString(a_ipLimit) : "[no limit]";
     std::cout << "Executed IpLimit Test Step (value = " << limit << ")" << std::endl;
   }
 }