GitHub user alopresto opened a pull request:
https://github.com/apache/nifi/pull/2983
NIFI-5566 Improve HashContent processor and standardize HashAttribute
processor
### This PR should not be merged before [PR
2980](https://github.com/apache/nifi/pull/2980)
This PR introduces two new processors `CryptographicHashContent` and
`CryptographicHashAttribute` (renamed from `CalculateAttributeHash` in PR
2980), deprecates `HashContent`, and adds documentation to `HashAttribute`
indicating the new processor performs the expected behavior.
Thank you for submitting a contribution to Apache NiFi.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
### For all changes:
- [x] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?
- [x] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number
you are trying to resolve? Pay particular attention to the hyphen "-" character.
- [x] Has your PR been rebased against the latest commit within the target
branch (typically master)?
- [ ] Is your initial contribution a single, squashed commit?
### For code changes:
- [x] Have you ensured that the full suite of tests is executed via mvn
-Pcontrib-check clean install at the root nifi folder?
- [x] Have you written or updated unit tests to verify your changes?
- [ ] If adding new dependencies to the code, are these dependencies
licensed in a way that is compatible for inclusion under [ASF
2.0](http://www.apache.org/legal/resolved.html#category-a)?
- [ ] If applicable, have you updated the LICENSE file, including the main
LICENSE file under nifi-assembly?
- [ ] If applicable, have you updated the NOTICE file, including the main
NOTICE file found under nifi-assembly?
- [ ] If adding new Properties, have you added .displayName in addition to
.name (programmatic access) for each of the new properties?
### For documentation related changes:
- [x] Have you ensured that format looks appropriate for the output in
which it is rendered?
### Note:
Please ensure that once the PR is submitted, you check travis-ci for build
issues and submit an update to your PR as soon as possible.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/alopresto/nifi NIFI-5566
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/nifi/pull/2983.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #2983
----
commit e2cf56994edd3c72baa346c46c4fab2c03a654fa
Author: Otto Fowler <ottobackwards@...>
Date: 2018-06-18T15:00:38Z
NIFI-5147 Add CalculateAttributeHash processor
commit 81d7e794e11855b0d44521c55baaae0771c9de44
Author: Otto Fowler <ottobackwards@...>
Date: 2018-06-26T18:51:06Z
add warning and recommendation link
commit 808b9b22e4137ce26e7361015a4953dacc0296a1
Author: Otto Fowler <ottobackwards@...>
Date: 2018-07-01T16:18:08Z
per review
- added properties to control behavior when attributes that are configured
are partially or completely missing
- set charset with a property
- added tests
commit a05de1c62710acf7f91855d5492f01e2ed46e155
Author: Otto Fowler <ottobackwards@...>
Date: 2018-07-01T16:25:24Z
fix assert parameter order
commit 66577ddb57ae4fff198608d29ed4490b1543e424
Author: Andy LoPresto <alopresto@...>
Date: 2018-08-31T02:26:53Z
NIFI-5147 Added HashAlgorithm enum for CalculateHashAlgorithm and
HashContent.
Added unit tests.
commit 8a594e5b1ec9f189a14d933e7e586e9bc1e04432
Author: Andy LoPresto <alopresto@...>
Date: 2018-08-31T03:07:18Z
NIFI-5147 [WIP] Used HashAlgorithm enum in CalculateHashAttribute.
Cleaned up typos and descriptions.
Added unit test demonstrating missing Blake2 algorithm.
commit 39e9cd2325f5f2312daa19d1ccb66664128de384
Author: Andy LoPresto <alopresto@...>
Date: 2018-08-31T03:18:44Z
NIFI-5147 [WIP] Added logic for Blake2 algorithms (needs refactoring).
commit 68db917487c009eb9a3b75ed50d174f809c51e3a
Author: Andy LoPresto <alopresto@...>
Date: 2018-08-31T03:31:27Z
NIFI-5147 Blake2b limited to 160, 256, 384, and 512 in Bouncy Castle
implementation.
Updated unit test.
commit 5165a41bdb90e32e0e81ae402cbff8a61669dd8b
Author: Andy LoPresto <alopresto@...>
Date: 2018-08-31T03:34:28Z
NIFI-5147 Finished implementing Blake2 logic.
Unit test for all default test vectors passes.
commit 6f91e6f9ec3cbbceac5609ca9d495ec259dbc517
Author: Andy LoPresto <alopresto@...>
Date: 2018-08-31T03:44:10Z
NIFI-5147 Added unit test demonstrating empty values fail.
commit afd6a0cbf4d1b09f8109150051bd28a90d4fda6a
Author: Andy LoPresto <alopresto@...>
Date: 2018-08-31T03:45:08Z
NIFI-5147 Implemented logic for empty input values.
commit 9a47353adc439ca6c6ed4976dfb8327450400f74
Author: Andy LoPresto <alopresto@...>
Date: 2018-08-31T04:17:54Z
NIFI-5147 Implemented HashService.
Added unit tests.
commit 82a213904bcf81845b21ef35a41849b7564d2475
Author: Andy LoPresto <alopresto@...>
Date: 2018-08-31T04:31:46Z
NIFI-5147 Implemented unit tests for test vectors, convenience methods,
character encoding, and defaults.
commit b0f8f23d7b4e79d7aa9c635f7f5e6e61f6dade6a
Author: Andy LoPresto <alopresto@...>
Date: 2018-08-31T04:33:01Z
NIFI-5147 Refactored CalculateAttributeHash to use HashService.
All unit tests pass.
commit e0847fb6e09d494536f7fef83fe75656a977144e
Author: Andy LoPresto <alopresto@...>
Date: 2018-08-31T05:01:14Z
NIFI-5147 Added #clearProperties() to TestRunner,
StandardProcessorTestRunner, and MockProcessContext.
commit 040f14ebac33501e5f4b630dca9f007d93adcfef
Author: Andy LoPresto <alopresto@...>
Date: 2018-08-31T05:46:59Z
NIFI-5147 Added HashAttribute#fromName() method to be more generous on name
matching.
Added unit test.
commit 73e7142d4d1693c9aba7eed59469c6c495a9538f
Author: Andy LoPresto <alopresto@...>
Date: 2018-08-31T06:19:21Z
NIFI-5147 Handled edge cases.
Added unit tests.
commit 1d45d68952b41224b194733fa47ea75bf417340b
Author: Andy LoPresto <alopresto@...>
Date: 2018-08-31T06:19:51Z
NIFI-5147 Removed old unit tests.
commit f0281aa94fa41b419cafe1e94fe60a1ba71f2696
Author: Andy LoPresto <alopresto@...>
Date: 2018-08-31T06:59:02Z
NIFI-5147 Fixed checkstyle issues.
commit 4dd248f579a4eaea9f45e9c7fb7ba15cd0113a01
Author: Andy LoPresto <alopresto@...>
Date: 2018-08-31T07:16:16Z
NIFI-5147 Added full algorithm description to AllowableValue.
commit 36acaaffeb359d07d8ae234248a4755d982620e4
Author: Andy LoPresto <alopresto@...>
Date: 2018-09-01T02:28:49Z
NIFI-5147 Added buildHashAlgorithmAllowableValues() and
hashValueStreaming() methods to HashService.
Added unit tests.
commit 8d882c9713ddcb24f89aee8f9f8b78412f6d3b9b
Author: Andy LoPresto <alopresto@...>
Date: 2018-09-01T03:30:05Z
NIFI-5566 Moved HashContent to HashContentLegacy.
Moved TestHashContent to TestHashContentLegacy.
Implemented "modern" HashContent.
Added unit tests as HashContentTest.
Updated processor manifest.
Updated Javadoc.
commit b4471c7a5ed658f9e542e62747c656f8cdec9e65
Author: Andy LoPresto <alopresto@...>
Date: 2018-09-01T04:12:48Z
NIFI-5147 Moved HashAttribute to HashAttributeLegacy.
Moved TestHashAttribute to TestHashAttributeLegacy.
Moved CalculateAttributeHash to HashAttribute.
Moved CalculateAttributeHashTest to HashAttributeTest.
Updated processor manifest.
Updated Javadoc.
commit 9d243e9db6e11e3507b50fc241c6883c4f18bc54
Author: Andy LoPresto <alopresto@...>
Date: 2018-09-04T01:34:30Z
NIFI-5566 Renamed new components to CryptographicHashAttribute and
CryptographicHashContent.
Added documentation about deprecated/renamed components.
Fixed unit test resource path.
----
---