Github user phrocker commented on a diff in the pull request:

    https://github.com/apache/nifi-minifi-cpp/pull/432#discussion_r231868999
  
    --- Diff: nanofi/src/cxx/Plan.cpp ---
    @@ -162,6 +153,21 @@ bool 
ExecutionPlan::runNextProcessor(std::function<void(const std::shared_ptr<co
       }
       std::shared_ptr<core::ProcessSession> current_session = 
std::make_shared<core::ProcessSession>(context);
       process_sessions_.push_back(current_session);
    +  if (input_ff != nullptr) {
    +    auto content_repo = 
static_cast<std::shared_ptr<minifi::core::ContentRepository>*>(input_ff->crp);
    +    std::shared_ptr<minifi::ResourceClaim> claim = 
std::make_shared<minifi::ResourceClaim>(input_ff->contentLocation, 
*content_repo);
    +    auto stream = (*content_repo)->read(claim);
    +    std::shared_ptr<minifi::FlowFileRecord> flowFile = 
std::static_pointer_cast<minifi::FlowFileRecord>(current_session->create());
    +    auto map = static_cast<std::map<std::string, 
std::string>*>(input_ff->attributes);
    +    if (map) {
    +      for (const auto& attr: *map) {
    +        flowFile->setAttribute(attr.first, attr.second);
    +      }
    +    }
    +    current_session->importFrom(*stream, flowFile);
    +    current_session->transfer(flowFile, core::Relationship("success", 
"success"));
    +    
relationships_[relationships_.size()-1]->put(std::static_pointer_cast<core::FlowFile>(flowFile));
    --- End diff --
    
    is there a safeguard to ensure a relationship exists?


---

Reply via email to