Custom Adapter

Custom Adapter

Functionality

There is a specific type of adapter called a Custom Adapter which can be used to configure adapters that may be specific to an installation, such as a call to an in-house logging API or to an in-house database connection API. A custom adapter should extend the base class "be.securit.trustbuilder.adapter.kernel.Adapter".

Configuration

AdapterUniqueID

Unique name assigned to this adapter; the name is used to reference the adapter in the workflow. The ID has following requirements:

  • START with a letter or _ (underscore)
  • FOLLOWED by a combination of following characters: Letter, Number, '.' (dot), '-' (dash), '_' (underscore)

Workflow Settings

A request for the adapter is prepared by specifying the following properties/scripts in the adapter activity:

  • Input Property: the variable containing the instructions the adapter have to execute
  • Output Property: the variable the adapter will store the response in after execution
  • Before Adapter Script: script that will be executed before calling the adapter
  • After Adapter Script: script that will be executed after the adapter fulfilled its task

Request - API

In order to generate a request in the scripts it is considered best practise to create a function like this:

var createMyCustomAdapterRequest = function(payload){
     return new Packages.my.tld.package.RequestClass(payload);
}

Response - API

Common Properties The response API can be applied to the variable specified in the "output property" (see "Workflow Settings"): to verify whether the action performed by the adapter was successful, to query for the data returned by the adapter.

All responses have four properties in common:

  • status Status flag indicating whether the response is ok (0) or not (1).
  • substatus Response specific number indicating what the problem was, eg. http status code
  • message Response specific message in case there was a problem (can be null)
  • rc Return Code, a human readable code based on the substatus

The status flag indicates whether a request was valid yes or no; consequently, the message or return code (rc) can be used to give the end-user a reasonable explanation or send the information to the underlying logging system.

Extending the response api If you want your custom adapter responses to behave like real javascript object you can register a converter. This is a function that converts your java response class into a javascript object.

tbres.converters['MyCustomAdapterResponseClass'] = function(responseInstance){
     // convert to js object 
     return {
        myProperty: String(responseInstance.getMyProperty()) // cast to javascript string
     };
}
Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments

0 comments

Please sign in to leave a comment.