aboutsummaryrefslogtreecommitdiffstats
path: root/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/parameters/TopicParameterGroup.java
diff options
context:
space:
mode:
authora.sreekumar <ajith.sreekumar@est.tech>2019-07-25 15:58:58 +0000
committera.sreekumar <ajith.sreekumar@est.tech>2019-07-25 15:58:58 +0000
commit208e75751007395086ac2f8dad6f5a280173eea1 (patch)
treeaf3e43fc77d13b41b3e54cf850593ab15b29c788 /policy-endpoints/src/main/java/org/onap/policy/common/endpoints/parameters/TopicParameterGroup.java
parentf2b5c0111e65d1033157da0a1dc09dd3b681cce9 (diff)
Changes to add missing topic parameters
Changes to support parameters which would be critical to run in a secure environment. Change-Id: Ia7df174261041b35e57b9f1f2be7552e5dcd2cec Issue-ID: POLICY-1744 Signed-off-by: a.sreekumar <ajith.sreekumar@est.tech>
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.java28
1 files changed, 28 insertions, 0 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 3cc2503a..70a06036 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
@@ -23,7 +23,10 @@ package org.onap.policy.common.endpoints.parameters;
import java.util.List;
import lombok.Getter;
import lombok.Setter;
+import org.apache.commons.lang3.StringUtils;
+import org.onap.policy.common.parameters.GroupValidationResult;
import org.onap.policy.common.parameters.ParameterGroupImpl;
+import org.onap.policy.common.parameters.ValidationStatus;
import org.onap.policy.common.parameters.annotations.NotBlank;
import org.onap.policy.common.parameters.annotations.NotNull;
@@ -44,4 +47,29 @@ public class TopicParameterGroup extends ParameterGroupImpl {
public TopicParameterGroup() {
super(TopicParameterGroup.class.getSimpleName());
}
+
+ /**
+ * {@inheritDoc}.
+ */
+ @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.");
+ }
+ return result;
+ }
+
+ private boolean checkMissingMandatoryParams(List<TopicParameters> topicParametersList) {
+ for (TopicParameters topicParameters : topicParametersList) {
+ if (StringUtils.isBlank(topicParameters.getTopic())
+ || StringUtils.isBlank(topicParameters.getTopicCommInfrastructure())
+ || topicParameters.getServers().isEmpty()) {
+ return true;
+ }
+ }
+ return false;
+ }
}