java.lang.Object
org.odpi.openmetadata.adapters.connectors.integration.openapis.RESTClient

public class RESTClient extends Object
RESTClient is responsible for issuing calls to the OMAS REST APIs.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected org.odpi.openmetadata.frameworks.auditlog.AuditLog
     
    protected String
     
    protected String
     
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    RESTClient(String serverName, String url, String userId, String password, org.odpi.openmetadata.frameworks.auditlog.AuditLog auditLog)
    Constructor for simple userId and password authentication with audit log.
    protected
    RESTClient(String serverName, String url, org.odpi.openmetadata.frameworks.auditlog.AuditLog auditLog)
    Constructor for no authentication with audit log.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected <T> T
    callDeleteRESTCall(String methodName, Class<T> returnClass, String urlTemplate, Object... params)
    Issue a Delete REST call that returns a response object.
    protected <T> T
    callDeleteRESTCall(String methodName, org.springframework.core.ParameterizedTypeReference<T> responseType, String urlTemplate, Object... params)
    Issue a Delete REST call that returns a response object.
    protected <T> T
    callGetRESTCall(String methodName, Class<T> returnClass, String urlTemplate, Object... params)
    Issue a GET REST call that returns a response object.
    protected <T> T
    callGetRESTCall(String methodName, org.springframework.core.ParameterizedTypeReference<T> responseType, String urlTemplate, Object... params)
    Issue a GET REST call that returns a response object.
    protected <T> T
    callGetRESTCallNoParams(String methodName, Class<T> returnClass, String urlTemplate)
    Issue a GET REST call that returns a response object.
    protected <T> T
    callPostRESTCall(String methodName, Class<T> returnClass, String urlTemplate, Object requestBody, Object... params)
    Issue a POST REST call that returns a response object.
    protected <T> T
    callPostRESTCall(String methodName, org.springframework.core.ParameterizedTypeReference<T> responseType, String urlTemplate, Object requestBody, Object... params)
    Issue a POST REST call that returns a response object.
    protected <T> T
    callPostRESTCallNoParams(String methodName, Class<T> returnClass, String urlTemplate, Object requestBody)
    Issue a POST REST call that returns a response object.
    protected <T> T
    callPutRESTCall(String methodName, Class<T> returnClass, String urlTemplate, Object requestBody, Object... params)
    Issue a PUT REST call that returns a response object.
    protected <T> T
    callPutRESTCall(String methodName, org.springframework.core.ParameterizedTypeReference<T> responseType, String urlTemplate, Object requestBody, Object... params)
    Issue a PUT REST call that returns a response object.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • serverName

      protected String serverName
    • url

      protected String url
    • auditLog

      protected org.odpi.openmetadata.frameworks.auditlog.AuditLog auditLog
  • Constructor Details

    • RESTClient

      protected RESTClient(String serverName, String url, org.odpi.openmetadata.frameworks.auditlog.AuditLog auditLog) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException
      Constructor for no authentication with audit log.
      Parameters:
      serverName - name of the OMAG Server to call
      url - URL root of the server platform where the OMAG Server is running.
      auditLog - destination for log messages.
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
    • RESTClient

      protected RESTClient(String serverName, String url, String userId, String password, org.odpi.openmetadata.frameworks.auditlog.AuditLog auditLog) throws org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException
      Constructor for simple userId and password authentication with audit log.
      Parameters:
      serverName - name of the OMAG Server to call
      url - URL root of the server platform where the OMAG Server is running.
      userId - user id for the HTTP request
      password - password for the HTTP request
      auditLog - destination for log messages.
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
  • Method Details

    • callGetRESTCallNoParams

      protected <T> T callGetRESTCallNoParams(String methodName, Class<T> returnClass, String urlTemplate) throws org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Issue a GET REST call that returns a response object.
      Type Parameters:
      T - return type
      Parameters:
      methodName - name of the method being called.
      returnClass - class of the response object.
      urlTemplate - template of the URL for the REST API call with place-holders for the parameters.
      Returns:
      response object
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - something went wrong with the REST call stack.
    • callGetRESTCall

      protected <T> T callGetRESTCall(String methodName, Class<T> returnClass, String urlTemplate, Object... params) throws org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Issue a GET REST call that returns a response object.
      Type Parameters:
      T - return type
      Parameters:
      methodName - name of the method being called.
      returnClass - class of the response object.
      urlTemplate - template of the URL for the REST API call with place-holders for the parameters.
      params - a list of parameters that are slotted into the url template.
      Returns:
      response object
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - something went wrong with the REST call stack.
    • callGetRESTCall

      protected <T> T callGetRESTCall(String methodName, org.springframework.core.ParameterizedTypeReference<T> responseType, String urlTemplate, Object... params) throws org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Issue a GET REST call that returns a response object. It's working only with SpringRESTClientConnector
      Type Parameters:
      T - return type
      Parameters:
      methodName - name of the method being called.
      responseType - class of the response object.
      urlTemplate - template of the URL for the REST API call with place-holders for the parameters.
      params - a list of parameters that are slotted into the url template.
      Returns:
      response object
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - something went wrong with the REST call stack.
    • callPostRESTCallNoParams

      protected <T> T callPostRESTCallNoParams(String methodName, Class<T> returnClass, String urlTemplate, Object requestBody) throws org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Issue a POST REST call that returns a response object. This is typically a create, update, or find with complex parameters.
      Type Parameters:
      T - return type
      Parameters:
      methodName - name of the method being called.
      returnClass - class of the response object.
      urlTemplate - template of the URL for the REST API call with place-holders for the parameters.
      requestBody - request body for the request.
      Returns:
      response object
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - something went wrong with the REST call stack.
    • callPostRESTCall

      protected <T> T callPostRESTCall(String methodName, Class<T> returnClass, String urlTemplate, Object requestBody, Object... params) throws org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Issue a POST REST call that returns a response object. This is typically a create, update, or find with complex parameters.
      Type Parameters:
      T - return type
      Parameters:
      methodName - name of the method being called.
      returnClass - class of the response object.
      urlTemplate - template of the URL for the REST API call with place-holders for the parameters.
      requestBody - request body for the request.
      params - a list of parameters that are slotted into the url template.
      Returns:
      response object
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - something went wrong with the REST call stack.
    • callPostRESTCall

      protected <T> T callPostRESTCall(String methodName, org.springframework.core.ParameterizedTypeReference<T> responseType, String urlTemplate, Object requestBody, Object... params) throws org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Issue a POST REST call that returns a response object. This is typically a create, update, or find with complex parameters. It's working only with SpringRESTClientConnector
      Type Parameters:
      T - return type
      Parameters:
      methodName - name of the method being called.
      responseType - class of the response for generic object.
      urlTemplate - template of the URL for the REST API call with place-holders for the parameters.
      requestBody - request body for the request.
      params - a list of parameters that are slotted into the url template.
      Returns:
      response object
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - something went wrong with the REST call stack.
    • callPutRESTCall

      protected <T> T callPutRESTCall(String methodName, Class<T> returnClass, String urlTemplate, Object requestBody, Object... params) throws org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Issue a PUT REST call that returns a response object. This is typically an update.
      Type Parameters:
      T - return type
      Parameters:
      methodName - name of the method being called.
      returnClass - class of the response object.
      urlTemplate - template of the URL for the REST API call with place-holders for the parameters.
      requestBody - request body for the request.
      params - a list of parameters that are slotted into the url template.
      Returns:
      response object
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - something went wrong with the REST call stack.
    • callPutRESTCall

      protected <T> T callPutRESTCall(String methodName, org.springframework.core.ParameterizedTypeReference<T> responseType, String urlTemplate, Object requestBody, Object... params) throws org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Issue a PUT REST call that returns a response object. This is typically an update. It's working only with SpringRESTClientConnector
      Type Parameters:
      T - return type
      Parameters:
      methodName - name of the method being called.
      responseType - class of the response for generic object.
      urlTemplate - template of the URL for the REST API call with place-holders for the parameters.
      requestBody - request body for the request.
      params - a list of parameters that are slotted into the url template.
      Returns:
      response object
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - something went wrong with the REST call stack.
    • callDeleteRESTCall

      protected <T> T callDeleteRESTCall(String methodName, Class<T> returnClass, String urlTemplate, Object... params) throws org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Issue a Delete REST call that returns a response object.
      Type Parameters:
      T - return type
      Parameters:
      methodName - name of the method being called.
      returnClass - class of the response object.
      urlTemplate - template of the URL for the REST API call with place-holders for the parameters.
      params - a list of parameters that are slotted into the url template.
      Returns:
      response object
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - something went wrong with the REST call stack.
    • callDeleteRESTCall

      protected <T> T callDeleteRESTCall(String methodName, org.springframework.core.ParameterizedTypeReference<T> responseType, String urlTemplate, Object... params) throws org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException
      Issue a Delete REST call that returns a response object.
      Type Parameters:
      T - return type
      Parameters:
      methodName - name of the method being called.
      responseType - class of the response for generic object.
      urlTemplate - template of the URL for the REST API call with place-holders for the parameters.
      params - a list of parameters that are slotted into the url template.
      Returns:
      response object
      Throws:
      org.odpi.openmetadata.frameworks.connectors.ffdc.PropertyServerException - something went wrong with the REST call stack.