arpadboda commented on a change in pull request #636: Minificpp-780 - Change 
GenerateFlowFile to allow 0b content FlowFiles
URL: https://github.com/apache/nifi-minifi-cpp/pull/636#discussion_r320780138
 
 

 ##########
 File path: extensions/standard-processors/processors/GenerateFlowFile.h
 ##########
 @@ -40,55 +40,47 @@ class GenerateFlowFile : public core::Processor {
    */
   GenerateFlowFile(std::string name, utils::Identifier uuid = 
utils::Identifier())
       : Processor(name, uuid), 
logger_(logging::LoggerFactory<GenerateFlowFile>::getLogger()) {
-    _data = NULL;
-    _dataSize = 0;
   }
   // Destructor
-  virtual ~GenerateFlowFile() {
-    if (_data)
-      delete[] _data;
-  }
+  virtual ~GenerateFlowFile() = default;
   // Processor Name
   static constexpr char const* ProcessorName = "GenerateFlowFile";
   // Supported Properties
   static core::Property FileSize;
   static core::Property BatchSize;
   static core::Property DataFormat;
   static core::Property UniqueFlowFiles;
-  static const char *DATA_FORMAT_BINARY;
   static const char *DATA_FORMAT_TEXT;
   // Supported Relationships
   static core::Relationship Success;
   // Nest Callback Class for write stream
   class WriteCallback : public OutputStreamCallback {
    public:
-    WriteCallback(char *data, uint64_t size)
-        : _data(data),
-          _dataSize(size) {
+    WriteCallback(std::vector<char> && data) : _data(data) {
+    }
+    WriteCallback(const std::vector<char>& data) : _data(data) {
     }
-    char *_data;
-    uint64_t _dataSize;
+    std::vector<char> _data;
     int64_t process(std::shared_ptr<io::BaseStream> stream) {
-      int64_t ret = 0;
-      if (_data && _dataSize > 0)
-        ret = stream->write(reinterpret_cast<uint8_t*>(_data), _dataSize);
+      int64_t  ret = 0;
+      if(_data.size() > 0)
+        ret = stream->write(reinterpret_cast<uint8_t*>(&_data[0]), 
_data.size());
       return ret;
     }
   };
 
  public:
   // OnTrigger method, implemented by NiFi GenerateFlowFile
-  virtual void onTrigger(core::ProcessContext *context, core::ProcessSession 
*session);
+  virtual void onTrigger(core::ProcessContext *context, core::ProcessSession 
*session) override;
   // Initialize, over write by NiFi GenerateFlowFile
-  virtual void initialize(void);
+  virtual void initialize(void) override;
 
  protected:
+  std::vector<char> _data;
 
 Review comment:
   Good spot, done, thanks!

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to