This is an automated email from the ASF dual-hosted git repository.
szaszm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git
The following commit(s) were added to refs/heads/main by this push:
new 76d1eaa81 MINIFICPP-2566 Rename JsonRecordSetReader to JsonTreeReader
76d1eaa81 is described below
commit 76d1eaa81b8eab3d3a64056f1e5c15bac503ae4e
Author: Ferenc Gerlits <[email protected]>
AuthorDate: Tue May 20 18:22:57 2025 +0200
MINIFICPP-2566 Rename JsonRecordSetReader to JsonTreeReader
... because that's what it is called in NiFi.
Closes #1967
Signed-off-by: Marton Szasz <[email protected]>
---
CONTROLLERS.md | 4 ++--
docker/test/integration/features/python.feature | 4 ++--
docker/test/integration/features/steps/steps.py | 6 +++---
.../{JsonRecordSetReader.py => JsonTreeReader.py} | 6 +++---
.../{JsonRecordSetReader.cpp => JsonTreeReader.cpp} | 7 ++++---
.../{JsonRecordSetReader.h => JsonTreeReader.h} | 14 +++++++-------
.../standard-processors/tests/unit/JsonRecordTests.cpp | 12 ++++++------
.../standard-processors/tests/unit/SplitRecordTests.cpp | 4 ++--
8 files changed, 29 insertions(+), 28 deletions(-)
diff --git a/CONTROLLERS.md b/CONTROLLERS.md
index e3263854c..be3313ca2 100644
--- a/CONTROLLERS.md
+++ b/CONTROLLERS.md
@@ -20,7 +20,7 @@ limitations under the License.
- [CouchbaseClusterService](#CouchbaseClusterService)
-
[ElasticsearchCredentialsControllerService](#ElasticsearchCredentialsControllerService)
- [GCPCredentialsControllerService](#GCPCredentialsControllerService)
-- [JsonRecordSetReader](#JsonRecordSetReader)
+- [JsonTreeReader](#JsonTreeReader)
- [JsonRecordSetWriter](#JsonRecordSetWriter)
- [KubernetesControllerService](#KubernetesControllerService)
- [LinuxPowerManagerService](#LinuxPowerManagerService)
@@ -140,7 +140,7 @@ In the list below, the names of required properties appear
in bold. Any other pr
| Container Name Filter | | | If present, limit
the output to containers the name of which matches this regular expression |
-## JsonRecordSetReader
+## JsonTreeReader
### Description
diff --git a/docker/test/integration/features/python.feature
b/docker/test/integration/features/python.feature
index c9791f31a..f701e9842 100644
--- a/docker/test/integration/features/python.feature
+++ b/docker/test/integration/features/python.feature
@@ -228,9 +228,9 @@ Feature: MiNiFi can use python processors in its flows
Given a GetFile processor with the "Input Directory" property set to
"/tmp/input"
And a file with the content '{"group": "group1", "name":
"John"}\n{"group": "group1", "name": "Jane"}\n{"group": "group2", "name":
"Kyle"}\n{"name": "Zoe"}' is present in '/tmp/input'
And a file with the content '{"group": "group1", "name": "Steve"}\n{}' is
present in '/tmp/input'
- And a SetRecordField processor with the "Record Reader" property set to
"JsonRecordSetReader"
+ And a SetRecordField processor with the "Record Reader" property set to
"JsonTreeReader"
And the "Record Writer" property of the SetRecordField processor is set to
"JsonRecordSetWriter"
- And a JsonRecordSetReader controller service is set up
+ And a JsonTreeReader controller service is set up
And a JsonRecordSetWriter controller service is set up with "Array" output
grouping
And a LogAttribute processor with the "FlowFiles To Log" property set to
"0"
And the "Log Payload" property of the LogAttribute processor is set to
"true"
diff --git a/docker/test/integration/features/steps/steps.py
b/docker/test/integration/features/steps/steps.py
index ea593b4ed..29e526f91 100644
--- a/docker/test/integration/features/steps/steps.py
+++ b/docker/test/integration/features/steps/steps.py
@@ -24,7 +24,7 @@ from minifi.controllers.ElasticsearchCredentialsService
import ElasticsearchCred
from minifi.controllers.ODBCService import ODBCService
from minifi.controllers.KubernetesControllerService import
KubernetesControllerService
from minifi.controllers.JsonRecordSetWriter import JsonRecordSetWriter
-from minifi.controllers.JsonRecordSetReader import JsonRecordSetReader
+from minifi.controllers.JsonTreeReader import JsonTreeReader
from minifi.controllers.CouchbaseClusterService import CouchbaseClusterService
from behave import given, then, when
@@ -398,9 +398,9 @@ def step_impl(context, output_grouping: str):
container.add_controller(json_record_set_writer)
-@given("a JsonRecordSetReader controller service is set up")
+@given("a JsonTreeReader controller service is set up")
def step_impl(context):
- json_record_set_reader = JsonRecordSetReader("JsonRecordSetReader")
+ json_record_set_reader = JsonTreeReader("JsonTreeReader")
container = context.test.acquire_container(context=context,
name="minifi-cpp-flow")
container.add_controller(json_record_set_reader)
diff --git a/docker/test/integration/minifi/controllers/JsonRecordSetReader.py
b/docker/test/integration/minifi/controllers/JsonTreeReader.py
similarity index 84%
rename from docker/test/integration/minifi/controllers/JsonRecordSetReader.py
rename to docker/test/integration/minifi/controllers/JsonTreeReader.py
index 909bf0e7c..fe83ada66 100644
--- a/docker/test/integration/minifi/controllers/JsonRecordSetReader.py
+++ b/docker/test/integration/minifi/controllers/JsonTreeReader.py
@@ -17,7 +17,7 @@
from ..core.ControllerService import ControllerService
-class JsonRecordSetReader(ControllerService):
+class JsonTreeReader(ControllerService):
def __init__(self, name=None):
- super(JsonRecordSetReader, self).__init__(name=name)
- self.service_class = 'JsonRecordSetReader'
+ super(JsonTreeReader, self).__init__(name=name)
+ self.service_class = 'JsonTreeReader'
diff --git a/extensions/standard-processors/controllers/JsonRecordSetReader.cpp
b/extensions/standard-processors/controllers/JsonTreeReader.cpp
similarity index 95%
rename from extensions/standard-processors/controllers/JsonRecordSetReader.cpp
rename to extensions/standard-processors/controllers/JsonTreeReader.cpp
index 61811e27b..17b196811 100644
--- a/extensions/standard-processors/controllers/JsonRecordSetReader.cpp
+++ b/extensions/standard-processors/controllers/JsonTreeReader.cpp
@@ -15,7 +15,8 @@
* limitations under the License.
*/
-#include "JsonRecordSetReader.h"
+#include "JsonTreeReader.h"
+
#include "core/Resource.h"
#include "rapidjson/document.h"
@@ -112,7 +113,7 @@ bool readAsArray(const std::string& content,
core::RecordSet& record_set) {
return true;
}
-nonstd::expected<core::RecordSet, std::error_code>
JsonRecordSetReader::read(const std::shared_ptr<core::FlowFile>& flow_file,
core::ProcessSession& session) {
+nonstd::expected<core::RecordSet, std::error_code> JsonTreeReader::read(const
std::shared_ptr<core::FlowFile>& flow_file, core::ProcessSession& session) {
core::RecordSet record_set{};
const auto read_result = session.read(flow_file, [&record_set](const
std::shared_ptr<io::InputStream>& input_stream) -> int64_t {
std::string content;
@@ -133,7 +134,7 @@ nonstd::expected<core::RecordSet, std::error_code>
JsonRecordSetReader::read(con
return record_set;
}
-REGISTER_RESOURCE(JsonRecordSetReader, ControllerService);
+REGISTER_RESOURCE(JsonTreeReader, ControllerService);
} // namespace org::apache::nifi::minifi::standard
#ifdef WIN32
diff --git a/extensions/standard-processors/controllers/JsonRecordSetReader.h
b/extensions/standard-processors/controllers/JsonTreeReader.h
similarity index 82%
rename from extensions/standard-processors/controllers/JsonRecordSetReader.h
rename to extensions/standard-processors/controllers/JsonTreeReader.h
index 26ae7a4ce..a57b48bc8 100644
--- a/extensions/standard-processors/controllers/JsonRecordSetReader.h
+++ b/extensions/standard-processors/controllers/JsonTreeReader.h
@@ -22,16 +22,16 @@
namespace org::apache::nifi::minifi::standard {
-class JsonRecordSetReader final : public core::RecordSetReaderImpl {
+class JsonTreeReader final : public core::RecordSetReaderImpl {
public:
- explicit JsonRecordSetReader(const std::string_view name, const
utils::Identifier& uuid = {}) : RecordSetReaderImpl(name, uuid) {}
+ explicit JsonTreeReader(const std::string_view name, const
utils::Identifier& uuid = {}) : RecordSetReaderImpl(name, uuid) {}
- JsonRecordSetReader(JsonRecordSetReader&&) = delete;
- JsonRecordSetReader(const JsonRecordSetReader&) = delete;
- JsonRecordSetReader& operator=(JsonRecordSetReader&&) = delete;
- JsonRecordSetReader& operator=(const JsonRecordSetReader&) = delete;
+ JsonTreeReader(JsonTreeReader&&) = delete;
+ JsonTreeReader(const JsonTreeReader&) = delete;
+ JsonTreeReader& operator=(JsonTreeReader&&) = delete;
+ JsonTreeReader& operator=(const JsonTreeReader&) = delete;
- ~JsonRecordSetReader() override = default;
+ ~JsonTreeReader() override = default;
EXTENSIONAPI static constexpr const char* Description = "Parses JSON into
individual Record objects. "
"While the reader expects each record to be well-formed JSON, the content
of a FlowFile may consist of many records, "
diff --git a/extensions/standard-processors/tests/unit/JsonRecordTests.cpp
b/extensions/standard-processors/tests/unit/JsonRecordTests.cpp
index 85699f635..858c1bb90 100644
--- a/extensions/standard-processors/tests/unit/JsonRecordTests.cpp
+++ b/extensions/standard-processors/tests/unit/JsonRecordTests.cpp
@@ -17,15 +17,15 @@
#include <numbers>
#include <variant>
-#include <catch2/generators/catch_generators.hpp>
+#include "catch2/generators/catch_generators.hpp"
+#include "controllers/JsonRecordSetWriter.h"
+#include "controllers/JsonTreeReader.h"
+#include "minifi-cpp/core/Record.h"
#include "unit/Catch.h"
#include "unit/RecordSetTesters.h"
#include "unit/TestBase.h"
#include "unit/TestRecord.h"
-#include "controllers/JsonRecordSetReader.h"
-#include "controllers/JsonRecordSetWriter.h"
-#include "minifi-cpp/core/Record.h"
namespace org::apache::nifi::minifi::standard::test {
@@ -105,12 +105,12 @@ TEST_CASE("JsonRecordSetWriter tests") {
}));
}
-TEST_CASE("JsonRecordSetReader tests") {
+TEST_CASE("JsonTreeReader tests") {
core::RecordSet expected_record_set;
expected_record_set.push_back(core::test::createSampleRecord(true));
expected_record_set.push_back(core::test::createSampleRecord2(true));
- JsonRecordSetReader json_record_set_reader{"json_record_set_reader"};
+ JsonTreeReader json_record_set_reader{"json_record_set_reader"};
const auto input_str = GENERATE(record_per_line_str, array_compressed_str,
array_pretty_str);
CHECK(core::test::testRecordReader(json_record_set_reader, input_str,
expected_record_set));
}
diff --git a/extensions/standard-processors/tests/unit/SplitRecordTests.cpp
b/extensions/standard-processors/tests/unit/SplitRecordTests.cpp
index 1b066bf85..bc51c3499 100644
--- a/extensions/standard-processors/tests/unit/SplitRecordTests.cpp
+++ b/extensions/standard-processors/tests/unit/SplitRecordTests.cpp
@@ -28,10 +28,10 @@ namespace org::apache::nifi::minifi::test {
class SplitRecordTestController : public TestController {
public:
SplitRecordTestController() {
- controller_.plan->addController("JsonRecordSetReader",
"JsonRecordSetReader");
+ controller_.plan->addController("JsonTreeReader", "JsonTreeReader");
controller_.plan->addController("JsonRecordSetWriter",
"JsonRecordSetWriter");
REQUIRE(controller_.getProcessor());
-
controller_.getProcessor()->setProperty(processors::SplitRecord::RecordReader.name,
"JsonRecordSetReader");
+
controller_.getProcessor()->setProperty(processors::SplitRecord::RecordReader.name,
"JsonTreeReader");
controller_.getProcessor()->setProperty(processors::SplitRecord::RecordWriter.name,
"JsonRecordSetWriter");
}