MINIFICPP-1334 move time utils to a namespace

Signed-off-by: Arpad Boda <aboda@apache.org>

This closes #873
diff --git a/extensions/libarchive/BinFiles.h b/extensions/libarchive/BinFiles.h
index c52bc34..2dd16c8 100644
--- a/extensions/libarchive/BinFiles.h
+++ b/extensions/libarchive/BinFiles.h
@@ -54,7 +54,7 @@
         groupId_(groupId),
         logger_(logging::LoggerFactory<Bin>::getLogger()) {
     queued_data_size_ = 0;
-    creation_dated_ = getTimeMillis();
+    creation_dated_ = utils::timeutils::getTimeMillis();
     std::shared_ptr<utils::IdGenerator> id_generator = utils::IdGenerator::getIdGenerator();
     id_generator->generate(uuid_);
     uuid_str_ = uuid_.to_string();
@@ -76,7 +76,7 @@
   }
   // check whether the bin is older than the time specified in msec
   bool isOlderThan(const uint64_t &duration) {
-    uint64_t currentTime = getTimeMillis();
+    uint64_t currentTime = utils::timeutils::getTimeMillis();
     if (currentTime > (creation_dated_ + duration))
       return true;
     else
diff --git a/extensions/sftp/processors/ListSFTP.cpp b/extensions/sftp/processors/ListSFTP.cpp
index ad0d187..985f3f4 100644
--- a/extensions/sftp/processors/ListSFTP.cpp
+++ b/extensions/sftp/processors/ListSFTP.cpp
@@ -429,7 +429,7 @@
     return true;
   }
   std::string mtime_str;
-  if (!getDateTimeStr(static_cast<int64_t>(child.attrs.mtime), mtime_str)) {
+  if (!utils::timeutils::getDateTimeStr(static_cast<int64_t>(child.attrs.mtime), mtime_str)) {
     logger_->log_error("Failed to convert modification date %lu of \"%s/%s\" to string", child.attrs.mtime, child.parent_path.c_str(), child.filename.c_str());
     return true;
   }
diff --git a/extensions/sftp/tests/ListSFTPTests.cpp b/extensions/sftp/tests/ListSFTPTests.cpp
index 74e06cb..72eaeaa 100644
--- a/extensions/sftp/tests/ListSFTPTests.cpp
+++ b/extensions/sftp/tests/ListSFTPTests.cpp
@@ -230,7 +230,7 @@
   auto file = std::string(src_dir) + "/vfs/nifi_test/tstFile.ext";
   auto mtime = utils::file::FileUtils::last_write_time(file);
   std::string mtime_str;
-  REQUIRE(true == getDateTimeStr(mtime, mtime_str));
+  REQUIRE(true == utils::timeutils::getDateTimeStr(mtime, mtime_str));
   uint64_t uid, gid;
   REQUIRE(true == utils::file::FileUtils::get_uid_gid(file, uid, gid));
   uint32_t permissions;
diff --git a/extensions/standard-processors/processors/GetFile.cpp b/extensions/standard-processors/processors/GetFile.cpp
index eee4eb0..eb8ccb4 100644
--- a/extensions/standard-processors/processors/GetFile.cpp
+++ b/extensions/standard-processors/processors/GetFile.cpp
@@ -164,9 +164,9 @@
   const bool isDirEmptyBeforePoll = isListingEmpty();
   logger_->log_debug("Is listing empty before polling directory %i", isDirEmptyBeforePoll);
   if (isDirEmptyBeforePoll) {
-    if (request_.pollInterval == 0 || (getTimeMillis() - last_listing_time_) > request_.pollInterval) {
+    if (request_.pollInterval == 0 || (utils::timeutils::getTimeMillis() - last_listing_time_) > request_.pollInterval) {
       performListing(request_);
-      last_listing_time_.store(getTimeMillis());
+      last_listing_time_.store(utils::timeutils::getTimeMillis());
     }
   }
 
@@ -238,7 +238,7 @@
       return false;
 
     uint64_t modifiedTime = ((uint64_t) (statbuf.st_mtime) * 1000);
-    uint64_t fileAge = getTimeMillis() - modifiedTime;
+    uint64_t fileAge = utils::timeutils::getTimeMillis() - modifiedTime;
     if (request.minAge > 0 && fileAge < request.minAge)
       return false;
     if (request.maxAge > 0 && fileAge > request.maxAge)
diff --git a/extensions/standard-processors/processors/LogAttribute.cpp b/extensions/standard-processors/processors/LogAttribute.cpp
index ec6539d..3f77141 100644
--- a/extensions/standard-processors/processors/LogAttribute.cpp
+++ b/extensions/standard-processors/processors/LogAttribute.cpp
@@ -127,8 +127,8 @@
     message << dashLine;
     message << "\nStandard FlowFile Attributes";
     message << "\n" << "UUID:" << flow->getUUIDStr();
-    message << "\n" << "EntryDate:" << getTimeStr(flow->getEntryDate());
-    message << "\n" << "lineageStartDate:" << getTimeStr(flow->getlineageStartDate());
+    message << "\n" << "EntryDate:" << utils::timeutils::getTimeStr(flow->getEntryDate());
+    message << "\n" << "lineageStartDate:" << utils::timeutils::getTimeStr(flow->getlineageStartDate());
     message << "\n" << "Size:" << flow->getSize() << " Offset:" << flow->getOffset();
     message << "\nFlowFile Attributes Map Content";
     std::map<std::string, std::string> attrs = flow->getAttributes();
diff --git a/libminifi/include/core/FlowFile.h b/libminifi/include/core/FlowFile.h
index ce64873..a546953 100644
--- a/libminifi/include/core/FlowFile.h
+++ b/libminifi/include/core/FlowFile.h
@@ -286,7 +286,7 @@
 
   // Check whether it is still being penalized
   bool isPenalized() const {
-    return (penaltyExpiration_ms_ > 0 ? penaltyExpiration_ms_ > getTimeMillis() : false);
+    return penaltyExpiration_ms_ > 0 && penaltyExpiration_ms_ > utils::timeutils::getTimeMillis();
   }
 
   uint64_t getId() const {
diff --git a/libminifi/include/core/Processor.h b/libminifi/include/core/Processor.h
index 78ec5ec..4245fe6 100644
--- a/libminifi/include/core/Processor.h
+++ b/libminifi/include/core/Processor.h
@@ -185,16 +185,16 @@
   }
   // Yield based on the yield period
   void yield() override {
-    yield_expiration_ = (getTimeMillis() + yield_period_msec_);
+    yield_expiration_ = (utils::timeutils::getTimeMillis() + yield_period_msec_);
   }
   // Yield based on the input time
   void yield(uint64_t time) {
-    yield_expiration_ = (getTimeMillis() + time);
+    yield_expiration_ = (utils::timeutils::getTimeMillis() + time);
   }
   // whether need be to yield
   bool isYield() {
     if (yield_expiration_ > 0)
-      return (yield_expiration_ >= getTimeMillis());
+      return (yield_expiration_ >= utils::timeutils::getTimeMillis());
     else
       return false;
   }
@@ -204,7 +204,7 @@
   }
   // get yield time
   uint64_t getYieldTime() {
-    uint64_t curTime = getTimeMillis();
+    uint64_t curTime = utils::timeutils::getTimeMillis();
     if (yield_expiration_ > curTime)
       return (yield_expiration_ - curTime);
     else
diff --git a/libminifi/include/core/Property.h b/libminifi/include/core/Property.h
index 6e505fb..d832da4 100644
--- a/libminifi/include/core/Property.h
+++ b/libminifi/include/core/Property.h
@@ -258,7 +258,7 @@
   }
 
   static bool StringToDateTime(const std::string& input, int64_t& output) {
-    int64_t temp = parseDateTimeStr(input);
+    int64_t temp = utils::timeutils::parseDateTimeStr(input);
     if (temp == -1) {
       return false;
     }
diff --git a/libminifi/include/provenance/Provenance.h b/libminifi/include/provenance/Provenance.h
index f432121..41670e7 100644
--- a/libminifi/include/provenance/Provenance.h
+++ b/libminifi/include/provenance/Provenance.h
@@ -165,7 +165,7 @@
 
   ProvenanceEventRecord()
       : core::SerializableComponent(core::getClassName<ProvenanceEventRecord>()) {
-    _eventTime = getTimeMillis();
+    _eventTime = utils::timeutils::getTimeMillis();
   }
 
   // Destructor
diff --git a/libminifi/include/sitetosite/Peer.h b/libminifi/include/sitetosite/Peer.h
index 4700a58..b9b243f 100644
--- a/libminifi/include/sitetosite/Peer.h
+++ b/libminifi/include/sitetosite/Peer.h
@@ -199,7 +199,7 @@
   }
   // Yield based on the yield period
   void yield() {
-    yield_expiration_ = (getTimeMillis() + yield_period_msec_);
+    yield_expiration_ = (utils::timeutils::getTimeMillis() + yield_period_msec_);
   }
   // setHostName
   void setHostName(std::string host_) {
@@ -221,12 +221,12 @@
   }
   // Yield based on the input time
   void yield(uint64_t time) {
-    yield_expiration_ = (getTimeMillis() + time);
+    yield_expiration_ = (utils::timeutils::getTimeMillis() + time);
   }
   // whether need be to yield
   bool isYield() {
     if (yield_expiration_ > 0)
-      return (yield_expiration_ >= getTimeMillis());
+      return (yield_expiration_ >= utils::timeutils::getTimeMillis());
     else
       return false;
   }
@@ -237,13 +237,13 @@
   // Yield based on the yield period
   void yield(std::string portId) {
     std::lock_guard<std::mutex> lock(mutex_);
-    uint64_t yieldExpiration = (getTimeMillis() + yield_period_msec_);
+    uint64_t yieldExpiration = (utils::timeutils::getTimeMillis() + yield_period_msec_);
     yield_expiration_PortIdMap[portId] = yieldExpiration;
   }
   // Yield based on the input time
   void yield(std::string portId, uint64_t time) {
     std::lock_guard<std::mutex> lock(mutex_);
-    uint64_t yieldExpiration = (getTimeMillis() + time);
+    uint64_t yieldExpiration = (utils::timeutils::getTimeMillis() + time);
     yield_expiration_PortIdMap[portId] = yieldExpiration;
   }
   // whether need be to yield
@@ -252,7 +252,7 @@
     std::map<std::string, uint64_t>::iterator it = this->yield_expiration_PortIdMap.find(portId);
     if (it != yield_expiration_PortIdMap.end()) {
       uint64_t yieldExpiration = it->second;
-      return (yieldExpiration >= getTimeMillis());
+      return (yieldExpiration >= utils::timeutils::getTimeMillis());
     } else {
       return false;
     }
diff --git a/libminifi/include/utils/TimeUtil.h b/libminifi/include/utils/TimeUtil.h
index b8d1693..833b096 100644
--- a/libminifi/include/utils/TimeUtil.h
+++ b/libminifi/include/utils/TimeUtil.h
@@ -17,8 +17,8 @@
 #ifndef LIBMINIFI_INCLUDE_UTILS_TIMEUTIL_H_
 #define LIBMINIFI_INCLUDE_UTILS_TIMEUTIL_H_
 
-#include <string.h>
-#include <time.h>
+#include <cstring>
+#include <ctime>
 
 #include <array>
 #include <chrono>
@@ -30,6 +30,13 @@
 
 #define TIME_FORMAT "%Y-%m-%d %H:%M:%S"
 
+namespace org {
+namespace apache {
+namespace nifi {
+namespace minifi {
+namespace utils {
+namespace timeutils {
+
 /**
  * Gets the current time in milliseconds
  * @returns milliseconds since epoch
@@ -66,11 +73,11 @@
   return ret;
 }
 
-inline time_t mkgmtime(struct tm *date_time) {
+inline time_t mkgmtime(struct tm* date_time) {
 #ifdef WIN32
   return _mkgmtime(date_time);
 #else
-  static const int month_lengths[] =      {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
+  static const int month_lengths[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
   static const int month_lengths_leap[] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
   static const auto is_leap_year = [](int year) -> bool {
     return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0);
@@ -107,7 +114,7 @@
  * @param str the datetime string
  * @returns Unix timestamp
  */
-inline int64_t parseDateTimeStr(const std::string &str) {
+inline int64_t parseDateTimeStr(const std::string& str) {
   /**
    * There is no strptime on Windows. As long as we have to parse a single date format this is not so bad,
    * but if multiple formats will have to be supported in the future, it might be worth it to include
@@ -167,4 +174,18 @@
   return true;
 }
 
+} /* namespace timeutils */
+} /* namespace utils */
+} /* namespace minifi */
+} /* namespace nifi */
+} /* namespace apache */
+} /* namespace org */
+
+// for backwards compatibility, to be removed after 0.8
+using org::apache::nifi::minifi::utils::timeutils::getTimeMillis;
+using org::apache::nifi::minifi::utils::timeutils::getTimeNano;
+using org::apache::nifi::minifi::utils::timeutils::getTimeStr;
+using org::apache::nifi::minifi::utils::timeutils::parseDateTimeStr;
+using org::apache::nifi::minifi::utils::timeutils::getDateTimeStr;
+
 #endif  // LIBMINIFI_INCLUDE_UTILS_TIMEUTIL_H_
diff --git a/libminifi/src/Connection.cpp b/libminifi/src/Connection.cpp
index 334d960..c009740 100644
--- a/libminifi/src/Connection.cpp
+++ b/libminifi/src/Connection.cpp
@@ -188,7 +188,7 @@
 
     if (expired_duration_ > 0) {
       // We need to check for flow expiration
-      if (getTimeMillis() > (item->getEntryDate() + expired_duration_)) {
+      if (utils::timeutils::getTimeMillis() > (item->getEntryDate() + expired_duration_)) {
         // Flow record expired
         expiredFlowRecords.insert(item);
         logger_->log_debug("Delete flow file UUID %s from connection %s, because it expired", item->getUUIDStr(), name_);
diff --git a/libminifi/src/FlowFileRecord.cpp b/libminifi/src/FlowFileRecord.cpp
index 0d66412..358b589 100644
--- a/libminifi/src/FlowFileRecord.cpp
+++ b/libminifi/src/FlowFileRecord.cpp
@@ -50,7 +50,7 @@
   // Increase the local ID for the flow record
   ++local_flow_seq_number_;
   // Populate the default attributes
-  addKeyedAttribute(FILENAME, std::to_string(getTimeNano()));
+  addKeyedAttribute(FILENAME, std::to_string(utils::timeutils::getTimeNano()));
   addKeyedAttribute(PATH, DEFAULT_FLOWFILE_PATH);
   addKeyedAttribute(UUID, getUUIDStr());
   // Populate the attributes from the input
diff --git a/libminifi/src/core/FlowFile.cpp b/libminifi/src/core/FlowFile.cpp
index f94f2c9..f5765f8 100644
--- a/libminifi/src/core/FlowFile.cpp
+++ b/libminifi/src/core/FlowFile.cpp
@@ -46,7 +46,7 @@
       connection_(nullptr),
       original_connection_() {
   id_ = numeric_id_generator_->generateId();
-  entry_date_ = getTimeMillis();
+  entry_date_ = utils::timeutils::getTimeMillis();
   event_time_ = entry_date_;
   lineage_start_date_ = entry_date_;
 }
diff --git a/libminifi/src/core/ProcessSession.cpp b/libminifi/src/core/ProcessSession.cpp
index 4266d24..df67f62 100644
--- a/libminifi/src/core/ProcessSession.cpp
+++ b/libminifi/src/core/ProcessSession.cpp
@@ -231,7 +231,7 @@
 void ProcessSession::penalize(const std::shared_ptr<core::FlowFile> &flow) {
   uint64_t penalization_period = process_context_->getProcessorNode()->getPenalizationPeriodMsec();
   logging::LOG_INFO(logger_) << "Penalizing " << flow->getUUIDStr() << " for " << penalization_period << "ms at " << process_context_->getProcessorNode()->getName();
-  flow->setPenaltyExpiration(getTimeMillis() + penalization_period);
+  flow->setPenaltyExpiration(utils::timeutils::getTimeMillis() + penalization_period);
 }
 
 void ProcessSession::transfer(const std::shared_ptr<core::FlowFile> &flow, Relationship relationship) {
@@ -244,7 +244,7 @@
   std::shared_ptr<ResourceClaim> claim = std::make_shared<ResourceClaim>(process_context_->getContentRepository());
 
   try {
-    uint64_t startTime = getTimeMillis();
+    uint64_t startTime = utils::timeutils::getTimeMillis();
     std::shared_ptr<io::BaseStream> stream = process_context_->getContentRepository()->write(claim);
     // Call the callback to write the content
     if (nullptr == stream) {
@@ -262,7 +262,7 @@
 
     stream->closeStream();
     std::string details = process_context_->getProcessorNode()->getName() + " modify flow record content " + flow->getUUIDStr();
-    uint64_t endTime = getTimeMillis();
+    uint64_t endTime = utils::timeutils::getTimeMillis();
     provenance_report_->modifyContent(flow, details, endTime - startTime);
   } catch (std::exception &exception) {
     logger_->log_debug("Caught Exception %s", exception.what());
@@ -281,7 +281,7 @@
   }
 
   try {
-    uint64_t startTime = getTimeMillis();
+    uint64_t startTime = utils::timeutils::getTimeMillis();
     std::shared_ptr<io::BaseStream> stream = process_context_->getContentRepository()->write(claim, true);
     if (nullptr == stream) {
       rollback();
@@ -301,7 +301,7 @@
 
     std::stringstream details;
     details << process_context_->getProcessorNode()->getName() << " modify flow record content " << flow->getUUIDStr();
-    uint64_t endTime = getTimeMillis();
+    uint64_t endTime = utils::timeutils::getTimeMillis();
     provenance_report_->modifyContent(flow, details.str(), endTime - startTime);
   } catch (std::exception &exception) {
     logger_->log_debug("Caught Exception %s", exception.what());
@@ -361,7 +361,7 @@
   std::vector<uint8_t> charBuffer(max_read);
 
   try {
-    auto startTime = getTimeMillis();
+    auto startTime = utils::timeutils::getTimeMillis();
     std::shared_ptr<io::BaseStream> content_stream = process_context_->getContentRepository()->write(claim);
 
     if (nullptr == content_stream) {
@@ -390,7 +390,7 @@
     content_stream->closeStream();
     std::stringstream details;
     details << process_context_->getProcessorNode()->getName() << " modify flow record content " << flow->getUUIDStr();
-    auto endTime = getTimeMillis();
+    auto endTime = utils::timeutils::getTimeMillis();
     provenance_report_->modifyContent(flow, details.str(), endTime - startTime);
   } catch (std::exception &exception) {
     logger_->log_debug("Caught Exception %s", exception.what());
@@ -407,7 +407,7 @@
   std::vector<uint8_t> charBuffer(size);
 
   try {
-    auto startTime = getTimeMillis();
+    auto startTime = utils::timeutils::getTimeMillis();
     std::ifstream input;
     input.open(source.c_str(), std::fstream::in | std::fstream::binary);
     std::shared_ptr<io::BaseStream> stream = process_context_->getContentRepository()->write(claim);
@@ -454,7 +454,7 @@
           std::remove(source.c_str());
         std::stringstream details;
         details << process_context_->getProcessorNode()->getName() << " modify flow record content " << flow->getUUIDStr();
-        auto endTime = getTimeMillis();
+        auto endTime = utils::timeutils::getTimeMillis();
         provenance_report_->modifyContent(flow, details.str(), endTime - startTime);
       } else {
         stream->closeStream();
@@ -508,7 +508,7 @@
       uint8_t* begin = buffer.data();
       uint8_t* end = begin + read;
       while (true) {
-        startTime = getTimeMillis();
+        startTime = utils::timeutils::getTimeMillis();
         uint8_t* delimiterPos = std::find(begin, end, static_cast<uint8_t>(inputDelimiter));
         const auto len = gsl::narrow<int>(delimiterPos - begin);
 
@@ -524,7 +524,7 @@
 
         /* Create claim and stream if needed and append data */
         if (claim == nullptr) {
-          startTime = getTimeMillis();
+          startTime = utils::timeutils::getTimeMillis();
           claim = std::make_shared<ResourceClaim>(process_context_->getContentRepository());
         }
         if (stream == nullptr) {
@@ -553,7 +553,7 @@
                                     << ", FlowFile UUID " << flowFile->getUUIDStr();
         stream->closeStream();
         std::string details = process_context_->getProcessorNode()->getName() + " modify flow record content " + flowFile->getUUIDStr();
-        uint64_t endTime = getTimeMillis();
+        uint64_t endTime = utils::timeutils::getTimeMillis();
         provenance_report_->modifyContent(flowFile, details, endTime - startTime);
         flows.push_back(flowFile);
 
diff --git a/libminifi/src/provenance/Provenance.cpp b/libminifi/src/provenance/Provenance.cpp
index 16126d6..2578a4b 100644
--- a/libminifi/src/provenance/Provenance.cpp
+++ b/libminifi/src/provenance/Provenance.cpp
@@ -49,7 +49,7 @@
   _eventType = event;
   _componentId = componentId;
   _componentType = componentType;
-  _eventTime = getTimeMillis();
+  _eventTime = utils::timeutils::getTimeMillis();
 }
 
 // DeSerialize
diff --git a/libminifi/src/sitetosite/SiteToSiteClient.cpp b/libminifi/src/sitetosite/SiteToSiteClient.cpp
index 40af602..0099c31 100644
--- a/libminifi/src/sitetosite/SiteToSiteClient.cpp
+++ b/libminifi/src/sitetosite/SiteToSiteClient.cpp
@@ -138,11 +138,11 @@
   }
 
   bool continueTransaction = true;
-  uint64_t startSendingNanos = getTimeNano();
+  uint64_t startSendingNanos = utils::timeutils::getTimeNano();
 
   try {
     while (continueTransaction) {
-      uint64_t startTime = getTimeMillis();
+      uint64_t startTime = utils::timeutils::getTimeMillis();
       std::string payload;
       DataPacket packet(getLogger(), transaction, flow->getAttributes(), payload);
 
@@ -153,14 +153,14 @@
 
       logger_->log_debug("Site2Site transaction %s send flow record %s", transactionID, flow->getUUIDStr());
       if (resp == 0) {
-        uint64_t endTime = getTimeMillis();
+        uint64_t endTime = utils::timeutils::getTimeMillis();
         std::string transitUri = peer_->getURL() + "/" + flow->getUUIDStr();
         std::string details = "urn:nifi:" + flow->getUUIDStr() + "Remote Host=" + peer_->getHostName();
         session->getProvenanceReporter()->send(flow, transitUri, details, endTime - startTime, false);
       }
       session->remove(flow);
 
-      uint64_t transferNanos = getTimeNano() - startSendingNanos;
+      uint64_t transferNanos = utils::timeutils::getTimeNano() - startSendingNanos;
       if (transferNanos > _batchSendNanos)
         break;
 
@@ -668,7 +668,7 @@
   try {
     while (true) {
       std::map<std::string, std::string> empty;
-      uint64_t startTime = getTimeMillis();
+      uint64_t startTime = utils::timeutils::getTimeMillis();
       std::string payload;
       DataPacket packet(getLogger(), transaction, empty, payload);
       bool eof = false;
@@ -705,7 +705,7 @@
         }
       }
       core::Relationship relation;  // undefined relationship
-      uint64_t endTime = getTimeMillis();
+      uint64_t endTime = utils::timeutils::getTimeMillis();
       std::string transitUri = peer_->getURL() + "/" + sourceIdentifier;
       std::string details = "urn:nifi:" + sourceIdentifier + "Remote Host=" + peer_->getHostName();
       session->getProvenanceReporter()->receive(flowFile, transitUri, sourceIdentifier, details, endTime - startTime);
diff --git a/libminifi/test/unit/FileUtilsTests.cpp b/libminifi/test/unit/FileUtilsTests.cpp
index 1cd4f82..6ead1a8 100644
--- a/libminifi/test/unit/FileUtilsTests.cpp
+++ b/libminifi/test/unit/FileUtilsTests.cpp
@@ -183,7 +183,7 @@
 TEST_CASE("FileUtils::last_write_time and last_write_time_point work", "[last_write_time][last_write_time_point]") {
   using namespace std::chrono;
 
-  uint64_t time_before_write = getTimeMillis() / 1000;
+  uint64_t time_before_write = utils::timeutils::getTimeMillis() / 1000;
   time_point<system_clock, seconds> time_point_before_write = time_point_cast<seconds>(system_clock::now());
 
   TestController testController;
@@ -199,7 +199,7 @@
   test_file_stream << "foo\n";
   test_file_stream.flush();
 
-  uint64_t time_after_first_write = getTimeMillis() / 1000;
+  uint64_t time_after_first_write = utils::timeutils::getTimeMillis() / 1000;
   time_point<system_clock, seconds> time_point_after_first_write = time_point_cast<seconds>(system_clock::now());
 
   uint64_t first_mtime = FileUtils::last_write_time(test_file);
@@ -213,7 +213,7 @@
   test_file_stream << "bar\n";
   test_file_stream.flush();
 
-  uint64_t time_after_second_write = getTimeMillis() / 1000;
+  uint64_t time_after_second_write = utils::timeutils::getTimeMillis() / 1000;
   time_point<system_clock, seconds> time_point_after_second_write = time_point_cast<seconds>(system_clock::now());
 
   uint64_t second_mtime = FileUtils::last_write_time(test_file);
diff --git a/libminifi/test/unit/TimeUtilTests.cpp b/libminifi/test/unit/TimeUtilTests.cpp
index d52535e..7c5974d 100644
--- a/libminifi/test/unit/TimeUtilTests.cpp
+++ b/libminifi/test/unit/TimeUtilTests.cpp
@@ -35,6 +35,7 @@
   }
 
   void mkgmtimeTestHelper(time_t expected, int year, int month, int day, int hour, int minute, int second) {
+    using org::apache::nifi::minifi::utils::timeutils::mkgmtime;
     struct tm date_time = createTm(year, month, day, hour, minute, second);
     REQUIRE(mkgmtime(&date_time) == expected);
   }
@@ -65,6 +66,7 @@
 }
 
 TEST_CASE("parseDateTimeStr() works correctly", "[parseDateTimeStr]") {
+  using org::apache::nifi::minifi::utils::timeutils::parseDateTimeStr;
   REQUIRE(parseDateTimeStr("1970-01-01T00:00:00Z") == 0);
   REQUIRE(parseDateTimeStr("1970-01-01T00:59:59Z") == ONE_HOUR - 1);
 
@@ -87,5 +89,6 @@
 }
 
 TEST_CASE("Test time conversion", "[testtimeconversion]") {
+  using org::apache::nifi::minifi::utils::timeutils::getTimeStr;
   REQUIRE("2017-02-16 20:14:56.196" == getTimeStr(1487276096196, true));
 }