Github user ijokarumawak commented on a diff in the pull request:
https://github.com/apache/nifi/pull/2199#discussion_r145412969
--- Diff:
nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/SolrProcessor.java
---
@@ -275,7 +275,7 @@ protected final boolean isBasicAuthEnabled() {
}
@Override
- protected final Collection<ValidationResult>
customValidate(ValidationContext context) {
+ protected Collection<ValidationResult>
customValidate(ValidationContext context) {
--- End diff --
I imagine the reason why this customValidate is marked with `final` is that
because the original author wanted to avoid sub-classes skip executing
validation code implemented here. You implemented within GetSolr, and call
`super.customValidate` from there, so it should be fine, but other sub-class
can forget to call `super.customValidate` if we remove `final` keyword.
So, I thought it might be safer approach to add an abstract method, such as
`additionalCustomValidate` at SolrProcessor, then call it from customValidate,
and let sub-classes implement custom validation in it.
---