nifi
nifi copied to clipboard
NIFI-12614: Create record reader service for Protobuf messages
Summary
The implementation does not generate message specific code with builders, instead it reads the schema from the provided proto file and maps it with the Unknown field list parsed from encoded proto data.
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking
- [x] Apache NiFi Jira issue created
Pull Request Tracking
- [x] Pull Request title starts with Apache NiFi Jira issue number, such as
NIFI-00000 - [x] Pull Request commit message starts with Apache NiFi Jira issue number, as such
NIFI-00000
Pull Request Formatting
- [x] Pull Request based on current revision of the
mainbranch - [x] Pull Request refers to a feature branch with one commit containing changes
Verification
Please indicate the verification steps performed prior to pull request creation.
Build
- [x] Build completed using
mvn clean install -P contrib-check- [x] JDK 21
Licensing
- [ ] New dependencies are compatible with the Apache License 2.0 according to the License Policy
- [ ] New dependencies are documented in applicable
LICENSEandNOTICEfiles
Documentation
- [ ] Documentation formatting appears as expected in rendered files
@mark-bathori With a big addition such as this, I would recommend some more documentation for end users so they are clear on how this works and for those who need to review the code. :)
This would go in your case under
nifi-nar-bundles/nifi-protobuf-bundle/nifi-protobuf-services/src/main/resources/org.apache.nifi.services.protobuf.ProtobufReader/additionalDetails.html
To get ideas on how to format and what to include, take a look at the other readers and the documentation they have.
Thanks @dan-s1 for the comment. I've added additionDeatils page to the Reader in my latest commit.
@exceptionfactory Can you please restart the dependency-check? The exception does not seem to relate to the changes. Thanks!
LGTM Thank your for work @mark-bathori and for the review @dan-s1 ! Merged into main.