Repository: nifi-minifi-cpp
Updated Branches:
  refs/heads/master 4c8cb0e0c -> b26b06479


MINIFICPP-481: Update agent to exit gracefully with an invalid *repo dir

This closes #319

Signed-off-by: Aldrin Piri <[email protected]>


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/b26b0647
Tree: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/tree/b26b0647
Diff: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/diff/b26b0647

Branch: refs/heads/master
Commit: b26b064795f8104f836a86d71f7d6e53f4eae56d
Parents: 4c8cb0e
Author: Marc Parisi <[email protected]>
Authored: Thu May 3 17:01:18 2018 -0400
Committer: Aldrin Piri <[email protected]>
Committed: Fri May 4 09:00:57 2018 -0400

----------------------------------------------------------------------
 main/MiNiFiMain.cpp | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/b26b0647/main/MiNiFiMain.cpp
----------------------------------------------------------------------
diff --git a/main/MiNiFiMain.cpp b/main/MiNiFiMain.cpp
index 6a669fe..868b65f 100644
--- a/main/MiNiFiMain.cpp
+++ b/main/MiNiFiMain.cpp
@@ -151,23 +151,33 @@ int main(int argc, char **argv) {
   configure->get(minifi::Configure::nifi_provenance_repository_class_name, 
prov_repo_class);
   // Create repos for flow record and provenance
   std::shared_ptr<core::Repository> prov_repo = 
core::createRepository(prov_repo_class, true, "provenance");
-  prov_repo->initialize(configure);
+
+  if (!prov_repo->initialize(configure)) {
+    std::cerr << "Provenance repository failed to initialize, exiting.." << 
std::endl;
+    exit(1);
+  }
 
   configure->get(minifi::Configure::nifi_flow_repository_class_name, 
flow_repo_class);
 
   std::shared_ptr<core::Repository> flow_repo = 
core::createRepository(flow_repo_class, true, "flowfile");
 
-  flow_repo->initialize(configure);
+  if (!flow_repo->initialize(configure)) {
+    std::cerr << "Flow file repository failed to initialize, exiting.." << 
std::endl;
+    exit(1);
+  }
 
   configure->get(minifi::Configure::nifi_content_repository_class_name, 
content_repo_class);
 
   std::shared_ptr<core::ContentRepository> content_repo = 
core::createContentRepository(content_repo_class, true, "content");
 
-  content_repo->initialize(configure);
+  if (!content_repo->initialize(configure)) {
+    std::cerr << "Content repository failed to initialize, exiting.." << 
std::endl;
+    exit(1);
+  }
 
   std::string content_repo_path;
-  if 
(configure->get(minifi::Configure::nifi_dbcontent_repository_directory_default, 
content_repo_path)){
-    std::cout << "setting default dir to " << content_repo_path<< std::endl;
+  if 
(configure->get(minifi::Configure::nifi_dbcontent_repository_directory_default, 
content_repo_path)) {
+    std::cout << "setting default dir to " << content_repo_path << std::endl;
     minifi::setDefaultDirectory(content_repo_path);
   }
 

Reply via email to