summaryrefslogtreecommitdiffstats
path: root/bundleconfig/etc/rules/common_rules.groovy
diff options
context:
space:
mode:
authormark.j.leonard <mark.j.leonard@gmail.com>2019-02-14 13:51:11 +0000
committermark.j.leonard <mark.j.leonard@gmail.com>2019-02-14 13:51:11 +0000
commit13b3d5d42bae10ce2733c86814177c3e31eb2014 (patch)
tree9ece0ac87d1725891a0bcaed8c186af0b74d563a /bundleconfig/etc/rules/common_rules.groovy
parentc9cdd245b2b575164a11785ab7a4710395f950c7 (diff)
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 <mark.j.leonard@gmail.com>
Diffstat (limited to 'bundleconfig/etc/rules/common_rules.groovy')
-rw-r--r--bundleconfig/etc/rules/common_rules.groovy30
1 files changed, 30 insertions, 0 deletions
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