...
The following example defines a rule that uses the data-dictionary interfaced defined here.
By default, the URI template is configured as "/commonModelElements/{0}~{1}~1.0/validateInstance"
With the arguments used for calling validate() below, the resulting URL would be: [ddict-host:port]/commonModelElements/instance~vfModuleNetworkType~1.0/validateInstance
Code Block | ||||
---|---|---|---|---|
| ||||
entity { name 'POA-EVENT' indexing { indices 'default-rules' } validation { useRule { name 'Data-Dictionary validate VF type' attributes 'context-list.ndcb.vfList[*].vfModuleList[*].networkList[*].type' } } } rule { name 'Data-Dictionary validate VF type' category 'INVALID_VALUE' description 'Validate all VF type values against data-dictionary' errorText 'VF type [{0}] failed data-dictionary validation: {1}' severity 'ERROR' attributes 'typeList' validate ''' boolean success = true List<String> details = new ArrayList<>() typeList.any { if(!success) { // break out of 'any' loop return false } def result = org.onap.aai.validation.ruledriven.rule.builtin.DataDictionary.validate("instance", "vfModuleNetworkType", "type", "$it") if(!result.isEmpty()) { success = false details.add("$it") details.add("$result") } } return new Tuple2(success, details) ''' } |
...