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 2018/10/08 17:08:32 UTC
nifi-minifi-cpp git commit: MINIFICPP-636 - C API: allow creation of
empty flow, remove some code duplication
Repository: nifi-minifi-cpp
Updated Branches:
refs/heads/master 9bb72d2fa -> 6d9aaa2b3
MINIFICPP-636 - C API: allow creation of empty flow, remove some code duplication
This closes #414.
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/6d9aaa2b
Tree: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/tree/6d9aaa2b
Diff: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/diff/6d9aaa2b
Branch: refs/heads/master
Commit: 6d9aaa2b30eab51761485308a9c3ad6e54027dba
Parents: 9bb72d2
Author: Arpad Boda <ab...@hortonworks.com>
Authored: Mon Oct 8 12:01:53 2018 +0200
Committer: Marc Parisi <ph...@apache.org>
Committed: Mon Oct 8 13:07:29 2018 -0400
----------------------------------------------------------------------
libminifi/src/capi/api.cpp | 36 +++++++++---------------------------
1 file changed, 9 insertions(+), 27 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/6d9aaa2b/libminifi/src/capi/api.cpp
----------------------------------------------------------------------
diff --git a/libminifi/src/capi/api.cpp b/libminifi/src/capi/api.cpp
index 084cfef..1671c86 100644
--- a/libminifi/src/capi/api.cpp
+++ b/libminifi/src/capi/api.cpp
@@ -259,22 +259,16 @@ flow *create_flow(nifi_instance *instance, const char *first_processor) {
new_flow->plan = execution_plan;
- // automatically adds it with success
- execution_plan->addProcessor(first_processor, first_processor);
-
+ if (first_processor != nullptr && strlen(first_processor) > 0) {
+ // automatically adds it with success
+ execution_plan->addProcessor(first_processor, first_processor);
+ }
return new_flow;
}
flow *create_getfile(nifi_instance *instance, flow *parent_flow, GetFileConfig *c) {
- std::string first_processor = "GetFile";
- auto minifi_instance_ref = static_cast<minifi::Instance*>(instance->instance_ptr);
- flow *new_flow = parent_flow == 0x00 ? new flow : parent_flow;
-
- if (parent_flow == 0x00) {
- auto execution_plan = new ExecutionPlan(minifi_instance_ref->getContentRepository(), minifi_instance_ref->getNoOpRepository(), minifi_instance_ref->getNoOpRepository());
-
- new_flow->plan = execution_plan;
- }
+ static const std::string first_processor = "GetFile";
+ flow *new_flow = parent_flow == nullptr ? create_flow(instance, nullptr) : parent_flow;
ExecutionPlan *plan = static_cast<ExecutionPlan*>(new_flow->plan);
// automatically adds it with success
@@ -323,23 +317,11 @@ size_t get_flow_files(nifi_instance *instance, flow *flow, flow_file_record **ff
size_t i = 0;
for (; i < size; i++) {
execution_plan->reset();
- while (execution_plan->runNextProcessor()) {
- }
- auto ff = execution_plan->getCurrentFlowFile();
- if (ff == nullptr)
- break;
- auto claim = ff->getResourceClaim();
-
- if (claim != nullptr) {
- claim->increaseFlowFileRecordOwnedCount();
-
- auto path = claim->getContentFullPath();
- // create a flow file.
- ff_r[i] = create_ff_object(path.c_str(), path.length(), ff->getSize());
- ff_r[i]->in = instance;
- } else {
+ auto ffr = get_next_flow_file(instance, flow);
+ if (ffr == nullptr) {
break;
}
+ ff_r[i] = ffr;
}
return i;
}