Class FFDCRESTClientBase

java.lang.Object
org.odpi.openmetadata.commonservices.ffdc.rest.FFDCRESTClientBase
Direct Known Subclasses:
FFDCRESTClient

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

    • serverName

      protected String serverName
    • serverPlatformURLRoot

      protected String serverPlatformURLRoot
    • auditLog

      protected AuditLog auditLog
    • exceptionHandler

      protected final RESTExceptionHandler exceptionHandler
  • Constructor Details

    • FFDCRESTClientBase

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

      protected FFDCRESTClientBase(String serverName, String serverPlatformURLRoot) throws InvalidParameterException
      Constructor for no authentication.
      Parameters:
      serverName - name of the OMAG Server to call
      serverPlatformURLRoot - URL root of the server platform where the OMAG Server is running.
      Throws:
      InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
    • FFDCRESTClientBase

      protected FFDCRESTClientBase(String serverName, String serverPlatformURLRoot, String userId, String password, AuditLog auditLog) throws InvalidParameterException
      Constructor for simple userId and password authentication with audit log.
      Parameters:
      serverName - name of the OMAG Server to call
      serverPlatformURLRoot - 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:
      InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
    • FFDCRESTClientBase

      protected FFDCRESTClientBase(String serverName, String serverPlatformURLRoot, String userId, String password) throws InvalidParameterException
      Constructor for simple userId and password authentication.
      Parameters:
      serverName - name of the OMAG Server to call
      serverPlatformURLRoot - 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
      Throws:
      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 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:
      PropertyServerException - something went wrong with the REST call stack.
    • callGetRESTCall

      protected <T> T callGetRESTCall(String methodName, Class<T> returnClass, String urlTemplate, Object... params) throws 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:
      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 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:
      PropertyServerException - something went wrong with the REST call stack.
    • callPostRESTCallNoParams

      public <T> T callPostRESTCallNoParams(String methodName, Class<T> returnClass, String urlTemplate, Object requestBody) throws 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:
      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 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:
      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 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:
      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 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:
      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 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:
      PropertyServerException - something went wrong with the REST call stack.
    • callDeleteRESTCall

      protected <T> T callDeleteRESTCall(String methodName, Class<T> returnClass, String urlTemplate, Object requestBody, Object... params) throws 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.
      requestBody - body of request
      params - a list of parameters that are slotted into the url template.
      Returns:
      response object
      Throws:
      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 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:
      PropertyServerException - something went wrong with the REST call stack.