You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ph...@apache.org on 2017/11/03 15:54:48 UTC

nifi-minifi-cpp git commit: MINIFICPP-284 Handle processor configuration errors better

Repository: nifi-minifi-cpp
Updated Branches:
  refs/heads/master 9a10b98e1 -> 6527fac36


MINIFICPP-284 Handle processor configuration errors better

This closes #173.

Signed-off-by: Marc Parisi <ph...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/commit/6527fac3
Tree: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/tree/6527fac3
Diff: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/diff/6527fac3

Branch: refs/heads/master
Commit: 6527fac36566892c3f5e760fc7b2e537b6fb9831
Parents: 9a10b98
Author: Andy I. Christianson <an...@andyic.org>
Authored: Fri Nov 3 11:20:29 2017 -0400
Committer: Marc Parisi <ph...@apache.org>
Committed: Fri Nov 3 11:46:22 2017 -0400

----------------------------------------------------------------------
 libminifi/src/core/FlowConfiguration.cpp |  1 +
 main/MiNiFiMain.cpp                      | 18 +++++++++++-------
 2 files changed, 12 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/6527fac3/libminifi/src/core/FlowConfiguration.cpp
----------------------------------------------------------------------
diff --git a/libminifi/src/core/FlowConfiguration.cpp b/libminifi/src/core/FlowConfiguration.cpp
index 68b7520..22d737a 100644
--- a/libminifi/src/core/FlowConfiguration.cpp
+++ b/libminifi/src/core/FlowConfiguration.cpp
@@ -38,6 +38,7 @@ std::shared_ptr<core::Processor> FlowConfiguration::createProcessor(std::string
   auto ptr = core::ClassLoader::getDefaultClassLoader().instantiate(name, uuid);
   if (nullptr == ptr) {
     logger_->log_error("No Processor defined for %s", name.c_str());
+    return nullptr;
   }
   std::shared_ptr<core::Processor> processor = std::static_pointer_cast<core::Processor>(ptr);
 

http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/6527fac3/main/MiNiFiMain.cpp
----------------------------------------------------------------------
diff --git a/main/MiNiFiMain.cpp b/main/MiNiFiMain.cpp
index fdbd076..d8fb3ca 100644
--- a/main/MiNiFiMain.cpp
+++ b/main/MiNiFiMain.cpp
@@ -30,15 +30,9 @@
 
 #include "core/Core.h"
 
-#include "spdlog/spdlog.h"
 #include "core/FlowConfiguration.h"
 #include "core/ConfigurationFactory.h"
 #include "core/RepositoryFactory.h"
-#include "core/logging/Logger.h"
-#include "core/logging/LoggerConfiguration.h"
-#include "properties/Properties.h"
-#include "properties/Configure.h"
-#include "utils/Id.h"
 #include "FlowController.h"
 
 //! Main thread sleep interval 1 second
@@ -216,8 +210,18 @@ int main(int argc, char **argv) {
       new minifi::FlowController(prov_repo, flow_repo, configure, std::move(flow_configuration), content_repo));
 
   logger->log_info("Loading FlowController");
+
   // Load flow from specified configuration file
-  controller->load();
+  try {
+    controller->load();
+  } catch (std::exception &e) {
+    logger->log_error("Failed to load configuration due to exception: %s", e.what());
+    return -1;
+  } catch (...) {
+    logger->log_error("Failed to load configuration due to unknown exception");
+    return -1;
+  }
+
   // Start Processing the flow
 
   controller->start();