markap14 commented on PR #9061:
URL: https://github.com/apache/nifi/pull/9061#issuecomment-2214130908
Hey @mark-bathori thanks for the update! I agree with the problem and the
general approach. The only concern that I have here is with the new
`ValidationResult` class. Specifically, I don't think it makes sense to create
a `ValidationResult` and then call `add_validation_result` on that object. I
would also like to avoid having to create a `ValidationResult` just to call
`build_validation_result_list()` just in order to return it.
Rather, I think we should define `ValidationResult` to have an `init` that
takes those 4 parameters (`subject`, `valid`, `explanation`, input`) and just
return a `list` of them from the method. For example, we should be able to
implement the above as:
```
def customValidate(self, context):
results = []
results.append(new ValidationResult(subject="Test subject 1",
explanation="Test validation 1", valid=False, input="Input 1")
results.append(new ValidationResult(subject="Test subject 2",
explanation="Test validation 2", valid=False, input="Input 1")
return results
```
Or, alternatively,
```
def customValidate(self, context):
return [
new ValidationResult(subject="Test subject 1", explanation="Test
validation 1", valid=False, input="Input 1"),
new ValidationResult(subject="Test subject 2", explanation="Test
validation 2", valid=False, input="Input 1")]
```
The `PythonProcessorAdapter`, then, should be responsible for taking that
Python `list` that is returned and converting it into the `ArrayList` needed by
the framework.
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]