diff options
Diffstat (limited to 'policy-endpoints/src/main/java/org/onap/policy/common/endpoints/parameters')
2 files changed, 31 insertions, 5 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; + } } diff --git a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/parameters/TopicParameters.java b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/parameters/TopicParameters.java index 82c75d35..d525aafc 100644 --- a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/parameters/TopicParameters.java +++ b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/parameters/TopicParameters.java @@ -20,10 +20,10 @@ package org.onap.policy.common.endpoints.parameters; -import java.util.List; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.Setter; +import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams; import org.onap.policy.common.parameters.annotations.NotBlank; import org.onap.policy.common.parameters.annotations.NotNull; @@ -36,9 +36,7 @@ import org.onap.policy.common.parameters.annotations.NotNull; @NotBlank @Getter @Setter -@EqualsAndHashCode -public class TopicParameters { - private String topic; - private List<String> servers; +@EqualsAndHashCode(callSuper = false) +public class TopicParameters extends BusTopicParams { private String topicCommInfrastructure; } |