From 13b3d5d42bae10ce2733c86814177c3e31eb2014 Mon Sep 17 00:00:00 2001 From: "mark.j.leonard" Date: Thu, 14 Feb 2019 13:51:11 +0000 Subject: Add support for common rules across types Refactor the Rule Driven Validator implementation for loading the Groovy rules. Firstly, support multiple top-level folders. Secondly, include each top-level folder in the set of paths to search for *.groovy files. Pull a common rule up to the top-level to remove the duplication. Add tests to exercise the exception handling code. Change-Id: Ib70fe03ab5b1f2f8c1711760236b07850aaaa398 Issue-ID: AAI-2155 Signed-off-by: mark.j.leonard --- bundleconfig/etc/rules/common_rules.groovy | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 bundleconfig/etc/rules/common_rules.groovy (limited to 'bundleconfig/etc/rules/common_rules.groovy') diff --git a/bundleconfig/etc/rules/common_rules.groovy b/bundleconfig/etc/rules/common_rules.groovy new file mode 100644 index 0000000..36e8132 --- /dev/null +++ b/bundleconfig/etc/rules/common_rules.groovy @@ -0,0 +1,30 @@ +/* + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright (c) 2018-2019 AT&T Intellectual Property. All rights reserved. + * Copyright (c) 2018-2019 European Software Marketing Ltd. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +rule { + name 'valid_ipv4_addr' + category 'INVALID_VALUE' + description 'Validate an IPv4 address' + errorText 'Invalid value - attribute is not a valid IPv4 address' + severity 'MINOR' + attributes 'ipaddr' + validate 'ipaddr != null && ipaddr.matches("^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])")' +} \ No newline at end of file -- cgit 1.2.3-korg