Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

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:

  1. Please get me the list of valid values for this attribute
  2. Here is a value, please tell me if it meets constraints of the attribute (length, type, regex, range, enum, etc.)
  3. 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.
  4. 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


POST /commonModelElements/{commonModelElementId}/getEnumValues
Operation: getEnumValues
           returns the enum values of a commonModelElement attribute
Inputs commonModelElementId: identifies the attribute as 'attribute~attribName~version'
Outputs: 
         on success: status code 200 with [ enumValues ]
         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)


Headers:
    x-authorization:  Basic XXXXXXXXXXXXXXXX
    Content-Type:  application/json
Sample:
	POST /commonModelElements/attribute~nfRole~1.0/getEnumValues 


Sample Success Response:
	HTTP/1.1 200 OK
	content-type: application/json
	content-length: 12345 
	[
	    vFW,
	    vFW-A,
	    vFW-B,
	]


validateInstance

Can this currently differentiate between 1) supported, bad value and 2) unsupported field?

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


Headers:
    x-authorization:  Basic XXXXXXXXXXXXXXXX
    Content-Type:  application/json
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"
]


getInstanceTableRows


POST /commonModelElements/{commonModelElementId}/getInstanceTableRowsWithMatchingColumns 


 Operation: getInstanceTableRows
             returns an array of instance table rows containing the column values provided 
             as input
 
  Inputs (pathstring variables):  
             commonModelElementId: identifies the instance table as 'instance~instName~version'
 
  Inputs (JSON body variables): 
             { "columnKey1": "columnValueToMatch1", "columnKey2": "columnValueToMatch2" }
             where as many column keys as necessary must be supplied and the match is done
             as an AND across all key values (i.e., all key values must match)
 
  Outputs: 
             on success: status code 200 with [ instanceTableRows ]
             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)


Headers:
    x-authorization:  Basic XXXXXXXXXXXXXXXX
    Content-Type:  application/json
Sample Request:
POST /commonModelElements/instance~nfValuesCatalog~1.0/getInstanceTableRowsWithMatchingColumns 
{
  "NFRole": "NF-ROLE-A",
  "NFType": "NF-TYPE-A",
}


Sample Success Response:


 HTTP/1.1 200 OK
 content-type: application/json


[
  {
    "LineofBusiness": "string",
    "NFFunction": "string",
    "NFNamingCode": "string",
    "NFRole": "NF-ROLE-A",
    "NFType": "NF-TYPE-A",
    "NFCFunction": "string"
  },
  {
    "LineofBusiness": "string",
    "NFFunction": "string",
    "NFNamingCode": "string",
    "NFRole": "NF-ROLE-A",
    "NFType": "NF-TYPE	-A",
    "NFCFunction": "string"
  }
]


Sample Error response:
 
HTTP/1.1 400 
content-type:   application/json 
[
    "error message 1",
    "error message 2"
]
 

 



Validate Single Attribute

POST /commonModelElements/{commonModelElementId}/validateInstance


Operation: validate attribute value 
            validates whether an instance conforms to a type for a single attribute 

Inputs commonModelElementId: identifies the entity defining the constraints as
                                  'attribute~attributeName~entityVer'
Inputs (JSON body variables):
            { "instance": instanceSchema }
            where instanceSchema is the attribute value under a test 
Outputs:
            on success: status code 204
            on failure: status code 400 with 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


Headers:
    x-authorization:  Basic XXXXXXXXXXXXXXXX
    Content-Type:  application/json

Sample Request:
   POST /commonModelElements/attribute~nfRole~1.0/validateInstance HTTP/1.1
   {
      "instance": "someValue"
   }


Sample Success Response:
   HTTP/1.1 204 No Content
Sample Error Response:
    HTTP/1.1 400
   content-type: application/json
 {
    "error message 1"

 } 





  • No labels