diff options
author | Jorge Hernandez <jorge.hernandez-herrero@att.com> | 2019-07-30 13:57:35 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2019-07-30 13:57:35 +0000 |
commit | 32a6ceac730a392f18a15ca562b0545edbd8fec8 (patch) | |
tree | 7822df23ae26a4b1ea4a1d0358d71c61fc5d43a9 /policy-endpoints/src/main/java/org/onap/policy/common/endpoints/parameters/TopicParameterGroup.java | |
parent | f14578b9c5d9a98cceb5342d69b0326289b1690c (diff) | |
parent | ef0641c47e0ffe212f2b850c90069ede7c16e1d7 (diff) |
Merge "Passing the updated topic parameters to policy-endpoints"
Diffstat (limited to 'policy-endpoints/src/main/java/org/onap/policy/common/endpoints/parameters/TopicParameterGroup.java')
-rw-r--r-- | policy-endpoints/src/main/java/org/onap/policy/common/endpoints/parameters/TopicParameterGroup.java | 36 |
1 files changed, 26 insertions, 10 deletions
diff --git a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/parameters/TopicParameterGroup.java b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/parameters/TopicParameterGroup.java index f633b0ef..eab9c12f 100644 --- a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/parameters/TopicParameterGroup.java +++ b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/parameters/TopicParameterGroup.java @@ -56,22 +56,38 @@ public class TopicParameterGroup extends ParameterGroupImpl { @Override public GroupValidationResult validate() { GroupValidationResult result = super.validate(); - if (result.isValid() && (checkMissingMandatoryParams(topicSources) - || checkMissingMandatoryParams(topicSinks))) { - result.setResult(ValidationStatus.INVALID, "Mandatory parameters are missing. topic, servers " - + "and topicCommInfrastructure must be specified."); + if (result.isValid()) { + StringBuilder errorMsg = new StringBuilder(); + StringBuilder missingSourceParams = checkMissingMandatoryParams(topicSources); + if (missingSourceParams.length() > 0) { + errorMsg.append(missingSourceParams.append("missing in topicSources. ")); + } + StringBuilder missingSinkParams = checkMissingMandatoryParams(topicSinks); + if (missingSinkParams.length() > 0) { + errorMsg.append(missingSinkParams.append("missing in topicSinks.")); + } + + if (errorMsg.length() > 0) { + errorMsg.insert(0, "Mandatory parameters are missing. "); + result.setResult(ValidationStatus.INVALID, errorMsg.toString()); + } } return result; } - private boolean checkMissingMandatoryParams(List<TopicParameters> topicParametersList) { + private StringBuilder checkMissingMandatoryParams(List<TopicParameters> topicParametersList) { + StringBuilder missingParams = new StringBuilder(); for (TopicParameters topicParameters : topicParametersList) { - if (StringUtils.isBlank(topicParameters.getTopic()) - || StringUtils.isBlank(topicParameters.getTopicCommInfrastructure()) - || topicParameters.getServers().isEmpty()) { - return true; + if (StringUtils.isBlank(topicParameters.getTopic())) { + missingParams.append("topic, "); + } + if (StringUtils.isBlank(topicParameters.getTopicCommInfrastructure())) { + missingParams.append("topicCommInfrastructure, "); + } + if (null == topicParameters.getServers() || topicParameters.getServers().isEmpty()) { + missingParams.append("servers, "); } } - return false; + return missingParams; } } |