POMBA will include the functionality of validating processed data against Data Dictionary tool.
POMBA will specify APIs which it will be able to consume to integrate with Data Dictionary. Data Dictionary itself is not part of POMBA sub-components.
API should support the following use cases:
- Please get me the list of valid values for this attribute
- Here is a value, please tell me if it meets constraints of the attribute (length, type, regex, range, enum, etc.)
- Here is a subset of attributes in a larger reference table/object, please return full rows that match subset. Note, subset could be one attribute.
- Here is a fully qualified row in a reference table/object, please tell me if it's valid
POMBA will include interface to consume the following APIs:
getEnumValuesOfStringAttribute
validateInstance
POST /commonModelElements/{commonModelElementId}/validateInstance
Operation: validateInstance
validates whether an instance conforms to a type (for example: a value conforms to the
constraints of an attribute type, or, one or more rows of values conforms to the constraints
of an instance table)
Inputs commonModelElementId: identifies the entity defining the constraints as
'entityType~entityName~entityVer'
Inputs (JSON body variables):
{ "instance": instanceSchema }
where instanceSchema is the instance to be validated
Outputs:
on success: status code 204
on failure: status code 400 with json array of error messages: [ errorMessage ]
other failure status codes may be returned if for instance the proxy
is down (503)
Note: a pointer to a file containing the validation errors will be returned;
if less than 1Meg of validation errors occur, they will also be returned
in the error message array
Sample Request:
POST /commonModelElements/instance~nfValuesCatalog~1.0/validateInstance HTTP/1.1
{
“instance”: [
{
"LineofBusiness": "string",
"NFFunction": "string",
"NFNamingCode": "string",
"NFRole": "string",
"NFType": "string",
"NFCFunction": "string",
"NFCNamingCode": "string",
"OwningEntity": "string"
}
]
}
Sample Success Response:
HTTP/1.1 204 No Content
Sample Error Response:
HTTP/1.1 400
content-type: application/json
[
"error message 1"
]