Repository: nifi
Updated Branches:
  refs/heads/master 8d37af07b -> fdda8f3e0


NIFI-45 Providing all validation results when more than one property is invalid 
for a referenced ControllerService


Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/fdda8f3e
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/fdda8f3e
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/fdda8f3e

Branch: refs/heads/master
Commit: fdda8f3e0f9577345bd3e805c77af7236c55cb48
Parents: 8d37af0
Author: Aldrin Piri <[email protected]>
Authored: Sun Jan 24 00:29:53 2016 -0500
Committer: Aldrin Piri <[email protected]>
Committed: Mon Jan 25 09:26:33 2016 -0500

----------------------------------------------------------------------
 .../apache/nifi/components/PropertyDescriptor.java  | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/fdda8f3e/nifi-api/src/main/java/org/apache/nifi/components/PropertyDescriptor.java
----------------------------------------------------------------------
diff --git 
a/nifi-api/src/main/java/org/apache/nifi/components/PropertyDescriptor.java 
b/nifi-api/src/main/java/org/apache/nifi/components/PropertyDescriptor.java
index 913bd6f..4ff3fff 100644
--- a/nifi-api/src/main/java/org/apache/nifi/components/PropertyDescriptor.java
+++ b/nifi-api/src/main/java/org/apache/nifi/components/PropertyDescriptor.java
@@ -160,16 +160,20 @@ public final class PropertyDescriptor implements 
Comparable<PropertyDescriptor>
                 }
 
                 final Collection<ValidationResult> validationResults = 
controllerService.validate(context.getControllerServiceValidationContext(controllerService));
+                final List<ValidationResult> invalidResults = new 
ArrayList<>();
                 for (final ValidationResult result : validationResults) {
                     if (!result.isValid()) {
-                        return new ValidationResult.Builder()
-                                .input(input)
-                                .subject(getName())
-                                .valid(false)
-                                .explanation("Controller Service is not valid: 
" + result)
-                                .build();
+                        invalidResults.add(result);
                     }
                 }
+                if (!invalidResults.isEmpty()) {
+                    return new ValidationResult.Builder()
+                        .input(input)
+                        .subject(getName())
+                        .valid(false)
+                        .explanation("Controller Service is not valid: " + 
(invalidResults.size() > 1 ? invalidResults : invalidResults.get(0)))
+                        .build();
+                }
 
                 return new ValidationResult.Builder()
                         .input(input)

Reply via email to