aboutsummaryrefslogtreecommitdiffstats
path: root/common-parameters/src/main/java/org/onap/policy/common/parameters/BeanValidator.java
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2021-01-04 12:11:32 -0500
committerJim Hahn <jrh3@att.com>2021-01-04 17:32:12 -0500
commitf9add40e0d87baff4ed56529bc61c31a577dc93d (patch)
treed1be521c0f4e84c8fd6a75b196b7f372c87aa38b /common-parameters/src/main/java/org/onap/policy/common/parameters/BeanValidator.java
parent5f1b1162d047d2a743f1ce57cc17494a6150c75c (diff)
Update junits for Validation
The Validation code was previously refactored. Added/updated junits correspondingly. Issue-ID: POLICY-2648 Change-Id: I570c0ec692ecfcb6e69ada45f7997f6e63735ea0 Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'common-parameters/src/main/java/org/onap/policy/common/parameters/BeanValidator.java')
-rw-r--r--common-parameters/src/main/java/org/onap/policy/common/parameters/BeanValidator.java23
1 files changed, 13 insertions, 10 deletions
diff --git a/common-parameters/src/main/java/org/onap/policy/common/parameters/BeanValidator.java b/common-parameters/src/main/java/org/onap/policy/common/parameters/BeanValidator.java
index 3f5abccc..51b11402 100644
--- a/common-parameters/src/main/java/org/onap/policy/common/parameters/BeanValidator.java
+++ b/common-parameters/src/main/java/org/onap/policy/common/parameters/BeanValidator.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP
* ================================================================================
- * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2020-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.
@@ -34,11 +34,14 @@ import org.onap.policy.common.parameters.annotations.NotBlank;
import org.onap.policy.common.parameters.annotations.NotNull;
import org.onap.policy.common.parameters.annotations.Pattern;
import org.onap.policy.common.parameters.annotations.Valid;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Bean validator, supporting the parameter annotations.
*/
public class BeanValidator {
+ public static final Logger logger = LoggerFactory.getLogger(BeanValidator.class);
/**
* Validates top level fields within an object. For each annotated field, it retrieves
@@ -147,18 +150,18 @@ public class BeanValidator {
*/
public boolean verRegex(BeanValidationResult result, String fieldName, Pattern annot, Object value) {
try {
- if (value instanceof String && !com.google.re2j.Pattern.matches(annot.regexp(), value.toString())) {
- ObjectValidationResult result2 = new ObjectValidationResult(fieldName, xlate(value),
- ValidationStatus.INVALID, "does not match regular expression " + annot.regexp());
- result.addResult(result2);
- return false;
+ if (value instanceof String && com.google.re2j.Pattern.matches(annot.regexp(), value.toString())) {
+ return true;
}
+
} catch (RuntimeException e) {
- // TODO log at trace level
- return true;
+ logger.warn("validation error for regular expression: {}", annot.regexp(), e);
}
- return true;
+ ObjectValidationResult result2 = new ObjectValidationResult(fieldName, xlate(value), ValidationStatus.INVALID,
+ "does not match regular expression " + annot.regexp());
+ result.addResult(result2);
+ return false;
}
/**
@@ -352,7 +355,7 @@ public class BeanValidator {
*/
public boolean verMap(BeanValidationResult result, String fieldName, EntryValidator entryValidator, Object value) {
- if (!(value instanceof Map)) {
+ if (!(value instanceof Map) || entryValidator.isEmpty()) {
return true;
}