This is an automated email from the ASF dual-hosted git repository.

phrocker pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git


The following commit(s) were added to refs/heads/master by this push:
     new a413dcb  MINIFICPP-794: Incorporate Flow File Expiration settings on 
connections from YAML definitions
a413dcb is described below

commit a413dcb6e11f31d602fb61c85d766ce56717fe68
Author: József Kett <[email protected]>
AuthorDate: Fri Apr 12 17:51:29 2019 +0200

    MINIFICPP-794: Incorporate Flow File Expiration settings on connections 
from YAML definitions
    
    This closes #535.
    
    Signed-off-by: Marc Parisi <[email protected]>
---
 libminifi/src/core/yaml/YamlConfiguration.cpp  | 10 ++++++++++
 libminifi/test/unit/YamlConfigurationTests.cpp |  2 ++
 2 files changed, 12 insertions(+)

diff --git a/libminifi/src/core/yaml/YamlConfiguration.cpp 
b/libminifi/src/core/yaml/YamlConfiguration.cpp
index 756b5af..cc4fc3d 100644
--- a/libminifi/src/core/yaml/YamlConfiguration.cpp
+++ b/libminifi/src/core/yaml/YamlConfiguration.cpp
@@ -656,6 +656,16 @@ void YamlConfiguration::parseConnectionYaml(YAML::Node 
*connectionsNode, core::P
         }
         connection->setDestinationUUID(destUUID);
 
+        if (connectionNode["flowfile expiration"]) {
+          uint64_t expirationDuration = 0;
+          std::string expiration = connectionNode["flowfile 
expiration"].as<std::string>();
+          TimeUnit unit;
+          if (core::Property::StringToTime(expiration, expirationDuration, 
unit) && core::Property::ConvertTimeUnitToMS(expirationDuration, unit, 
expirationDuration)) {
+            logger_->log_debug("parseConnection: flowfile expiration => [%s]", 
expirationDuration);
+            connection->setFlowExpirationDuration(expirationDuration);
+          }
+        }
+
         if (connection) {
           parent->addConnection(connection);
         }
diff --git a/libminifi/test/unit/YamlConfigurationTests.cpp 
b/libminifi/test/unit/YamlConfigurationTests.cpp
index 12ce423..ca4c0ae 100644
--- a/libminifi/test/unit/YamlConfigurationTests.cpp
+++ b/libminifi/test/unit/YamlConfigurationTests.cpp
@@ -162,6 +162,7 @@ TEST_CASE("Test YAML Config Processing", 
"[YamlConfiguration]") {
     REQUIRE(!it.second->getUUIDStr().empty());
     REQUIRE(it.second->getDestination());
     REQUIRE(it.second->getSource());
+    REQUIRE(60000 == it.second->getFlowExpirationDuration());
   }
 }
 
@@ -463,6 +464,7 @@ NiFi Properties Overrides: {}
     REQUIRE(!it.second->getUUIDStr().empty());
     REQUIRE(it.second->getDestination());
     REQUIRE(it.second->getSource());
+    REQUIRE(0 == it.second->getFlowExpirationDuration());
   }
 }
 

Reply via email to