summaryrefslogtreecommitdiffstats
path: root/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-kafka/src
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2021-04-28 15:45:22 -0400
committerJim Hahn <jrh3@att.com>2021-05-03 15:44:08 -0400
commite168ce2fad71650ad730519c772a9b093c0a8f43 (patch)
tree8d97f8823eb4f97916b2c19909c6b13e6a008e4a /plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-kafka/src
parentcb09008c4d252dbc9a62f3a1d0b463a74380aa77 (diff)
Remove GroupValidationResult
Removed GroupValidationResult, replacing it with BeanValidationResult. Modified the ParameterGroup subclasses to use BeanValidator, adding annotations where needed to trigger the validations that had been automatically performed by GroupValidationResult. Issue-ID: POLICY-2059 Change-Id: I2c0c01fac355e6cde4d8d6998dc42f8a2e2ebb65 Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-kafka/src')
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-kafka/src/main/java/org/onap/policy/apex/plugins/event/carrier/kafka/KafkaCarrierTechnologyParameters.java79
1 files changed, 46 insertions, 33 deletions
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-kafka/src/main/java/org/onap/policy/apex/plugins/event/carrier/kafka/KafkaCarrierTechnologyParameters.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-kafka/src/main/java/org/onap/policy/apex/plugins/event/carrier/kafka/KafkaCarrierTechnologyParameters.java
index eb1f15c93..475017283 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-kafka/src/main/java/org/onap/policy/apex/plugins/event/carrier/kafka/KafkaCarrierTechnologyParameters.java
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-kafka/src/main/java/org/onap/policy/apex/plugins/event/carrier/kafka/KafkaCarrierTechnologyParameters.java
@@ -3,6 +3,7 @@
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
* Modifications Copyright (C) 2019 Nordix Foundation.
* Modifications Copyright (C) 2021 Bell Canada. All rights reserved.
+ * Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -25,16 +26,20 @@ package org.onap.policy.apex.plugins.event.carrier.kafka;
import java.time.Duration;
import java.util.Arrays;
import java.util.Collection;
+import java.util.List;
import java.util.Properties;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.StringUtils;
import org.apache.kafka.clients.producer.internals.DefaultPartitioner;
import org.onap.policy.apex.service.parameters.carriertechnology.CarrierTechnologyParameters;
-import org.onap.policy.common.parameters.GroupValidationResult;
+import org.onap.policy.common.parameters.BeanValidationResult;
+import org.onap.policy.common.parameters.ObjectValidationResult;
+import org.onap.policy.common.parameters.ValidationResult;
import org.onap.policy.common.parameters.ValidationStatus;
import org.onap.policy.common.parameters.annotations.Min;
import org.onap.policy.common.parameters.annotations.NotBlank;
+import org.onap.policy.models.base.Validated;
/**
* Apex parameters for Kafka as an event carrier technology.
@@ -226,68 +231,76 @@ public class KafkaCarrierTechnologyParameters extends CarrierTechnologyParameter
* {@inheritDoc}.
*/
@Override
- public GroupValidationResult validate() {
- final GroupValidationResult result = super.validate();
+ public BeanValidationResult validate() {
+ final BeanValidationResult result = super.validate();
- validateConsumerTopicList(result);
+ result.addResult(validateConsumerTopicList());
- validateKafkaProperties(result);
+ result.addResult(validateKafkaProperties());
return result;
}
/**
* Validate the consumer topic list.
- *
- * @param result the result of the validation.
*/
- private void validateConsumerTopicList(final GroupValidationResult result) {
+ private ValidationResult validateConsumerTopicList() {
if (consumerTopicList == null || consumerTopicList.length == 0) {
- result.setResult("consumerTopicList", ValidationStatus.INVALID,
+ return new ObjectValidationResult("consumerTopicList", consumerTopicList, ValidationStatus.INVALID,
"not specified, must be specified as a list of strings");
- return;
}
- StringBuilder consumerTopicStringBuilder = new StringBuilder();
+ BeanValidationResult result = new BeanValidationResult("consumerTopicList", consumerTopicList);
+ int item = 0;
for (final String consumerTopic : consumerTopicList) {
if (StringUtils.isBlank(consumerTopic)) {
- consumerTopicStringBuilder.append(consumerTopic + "/");
+ result.addResult(ENTRY + item, consumerTopic, ValidationStatus.INVALID, Validated.IS_BLANK);
}
+
+ ++item;
}
- if (consumerTopicStringBuilder.length() > 0) {
- result.setResult("consumerTopicList", ValidationStatus.INVALID,
- "invalid consumer topic list entries found: /" + consumerTopicStringBuilder.toString());
- }
+
+ return result;
}
/**
* Validate the kafka properties.
- *
- * @param result the result of the validation.
*/
- private void validateKafkaProperties(final GroupValidationResult result) {
+ private ValidationResult validateKafkaProperties() {
// Kafka properties are optional
if (kafkaProperties == null || kafkaProperties.length == 0) {
- return;
+ return null;
}
- for (int i = 0; i < kafkaProperties.length; i++) {
- if (kafkaProperties[i].length != 2) {
- result.setResult(KAFKA_PROPERTIES, ValidationStatus.INVALID,
- ENTRY + i + " invalid, kafka properties must be name-value pairs");
- }
+ BeanValidationResult result = new BeanValidationResult(KAFKA_PROPERTIES, kafkaProperties);
- if (StringUtils.isBlank(kafkaProperties[i][0])) {
- result.setResult(KAFKA_PROPERTIES, ValidationStatus.INVALID,
- ENTRY + i + " invalid, key is null or blank");
+ for (int i = 0; i < kafkaProperties.length; i++) {
+ final String label = ENTRY + i;
+ final String[] kafkaProperty = kafkaProperties[i];
+ final List<String> value = (kafkaProperty == null ? null : Arrays.asList(kafkaProperty));
+ final BeanValidationResult result2 = new BeanValidationResult(label, value);
+
+ if (kafkaProperty == null) {
+ // note: add to result, not result2
+ result.addResult(label, value, ValidationStatus.INVALID, Validated.IS_NULL);
+
+ } else if (kafkaProperty.length != 2) {
+ // note: add to result, not result2
+ result.addResult(label, Arrays.asList(kafkaProperty), ValidationStatus.INVALID,
+ "kafka properties must be name-value pairs");
+
+ } else if (StringUtils.isBlank(kafkaProperty[0])) {
+ result2.addResult("key", kafkaProperty[0], ValidationStatus.INVALID, Validated.IS_BLANK);
+
+ } else if (null == kafkaProperty[1]) {
+ // the value of a property has to be specified as empty in some cases, but should never be null.
+ result2.addResult("value", kafkaProperty[1], ValidationStatus.INVALID, Validated.IS_NULL);
}
- // the value of a property has to be specified as empty in some cases, but should never be null.
- if (null == kafkaProperties[i][1]) {
- result.setResult(KAFKA_PROPERTIES, ValidationStatus.INVALID,
- ENTRY + i + " invalid, value is null");
- }
+ result.addResult(result2);
}
+
+ return result;
}
/**