test_class.file: herd-code/herd-tools/herd-retention-expiration-exporter/src/test/java/org/finra/herd/tools/retention/exporter/RetentionExpirationExporterWebClientTest.java
test_class.identifier: RetentionExpirationExporterWebClientTest
test_class.superclass: extends AbstractExporterTest
test_case.body: @Test
      public void testGetBusinessObjectDefinition() throws Exception
      {
          retentionExpirationExporterWebClient.getRegServerAccessParamsDto().setUseSsl(false);
          BusinessObjectDefinition result = retentionExpirationExporterWebClient.getBusinessObjectDefinition(NAMESPACE, BUSINESS_OBJECT_DEFINITION_NAME);
          assertNotNull(result);
      }
test_case.class_method_signature: RetentionExpirationExporterWebClientTest.testGetBusinessObjectDefinition()
test_case.full_signature: @Test public void testGetBusinessObjectDefinition()
test_case.identifier: testGetBusinessObjectDefinition
test_case.invocations: setUseSsl getRegServerAccessParamsDto getBusinessObjectDefinition assertNotNull
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testGetBusinessObjectDefinition()
focal_class.declarator: LOGGER = LoggerFactory.getLogger(RetentionExpirationExporterWebClient.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOGGER = LoggerFactory.getLogger(RetentionExpirationExporterWebClient.class);
focal_class.type: Logger
focal_class.var_name: LOGGER
focal_class.file: herd-code/herd-tools/herd-retention-expiration-exporter/src/main/java/org/finra/herd/tools/retention/exporter/RetentionExpirationExporterWebClient.java
focal_class.identifier: RetentionExpirationExporterWebClient
focal_class.class_method_signature: RetentionExpirationExporterWebClient.getBusinessObjectDefinition(String namespace, String businessObjectDefinitionName)
focal_class.full_signature:  BusinessObjectDefinition getBusinessObjectDefinition(String namespace, String businessObjectDefinitionName)
focal_class.identifier: getBusinessObjectDefinition
focal_class.parameters: (String namespace, String businessObjectDefinitionName)
focal_class.return: BusinessObjectDefinition
focal_class.signature: BusinessObjectDefinition getBusinessObjectDefinition(String namespace, String businessObjectDefinitionName)
focal_class.class_method_signature: RetentionExpirationExporterWebClient.searchBusinessObjectData(BusinessObjectDataSearchRequest businessObjectDataSearchRequest, Integer pageNum)
focal_class.full_signature:  BusinessObjectDataSearchResult searchBusinessObjectData(BusinessObjectDataSearchRequest businessObjectDataSearchRequest, Integer pageNum)
focal_class.identifier: searchBusinessObjectData
focal_class.parameters: (BusinessObjectDataSearchRequest businessObjectDataSearchRequest, Integer pageNum)
focal_class.return: BusinessObjectDataSearchResult
focal_class.signature: BusinessObjectDataSearchResult searchBusinessObjectData(BusinessObjectDataSearchRequest businessObjectDataSearchRequest, Integer pageNum)
focal_class.class_method_signature: RetentionExpirationExporterWebClient.getBusinessObjectDataSearchResult(CloseableHttpResponse httpResponse)
focal_class.full_signature: private BusinessObjectDataSearchResult getBusinessObjectDataSearchResult(CloseableHttpResponse httpResponse)
focal_class.identifier: getBusinessObjectDataSearchResult
focal_class.modifiers: private
focal_class.parameters: (CloseableHttpResponse httpResponse)
focal_class.return: BusinessObjectDataSearchResult
focal_class.signature: BusinessObjectDataSearchResult getBusinessObjectDataSearchResult(CloseableHttpResponse httpResponse)
focal_class.class_method_signature: RetentionExpirationExporterWebClient.getBusinessObjectDefinition(CloseableHttpResponse httpResponse)
focal_class.full_signature: private BusinessObjectDefinition getBusinessObjectDefinition(CloseableHttpResponse httpResponse)
focal_class.identifier: getBusinessObjectDefinition
focal_class.modifiers: private
focal_class.parameters: (CloseableHttpResponse httpResponse)
focal_class.return: BusinessObjectDefinition
focal_class.signature: BusinessObjectDefinition getBusinessObjectDefinition(CloseableHttpResponse httpResponse)
focal_class.superclass: extends DataBridgeWebClient
focal_method.body: BusinessObjectDefinition getBusinessObjectDefinition(String namespace, String businessObjectDefinitionName)
          throws IOException, JAXBException, URISyntaxException, NoSuchAlgorithmException, KeyStoreException, KeyManagementException
      {
          LOGGER.info("Retrieving business object definition information from the registration server...");
  
          String uriPathBuilder = HERD_APP_REST_URI_PREFIX + "/businessObjectDefinitions" + "/namespaces/" + namespace + "/businessObjectDefinitionNames/" +
              businessObjectDefinitionName;
  
          URIBuilder uriBuilder =
              new URIBuilder().setScheme(getUriScheme()).setHost(regServerAccessParamsDto.getRegServerHost()).setPort(regServerAccessParamsDto.getRegServerPort())
                  .setPath(uriPathBuilder);
  
          URI uri = uriBuilder.build();
  
          try (CloseableHttpClient client = httpClientHelper
              .createHttpClient(regServerAccessParamsDto.isTrustSelfSignedCertificate(), regServerAccessParamsDto.isDisableHostnameVerification()))
          {
              HttpGet request = new HttpGet(uri);
              request.addHeader("Accepts", DEFAULT_ACCEPT);
  
              // If SSL is enabled, set the client authentication header.
              if (regServerAccessParamsDto.isUseSsl())
              {
                  request.addHeader(getAuthorizationHeader());
              }
  
              LOGGER.info(String.format("    HTTP GET URI: %s", request.getURI().toString()));
  
              BusinessObjectDefinition businessObjectDefinition = getBusinessObjectDefinition(httpClientOperations.execute(client, request));
  
              LOGGER.info("Successfully retrieved business object definition from the registration server.");
  
              return businessObjectDefinition;
          }
      }
focal_method.class_method_signature: RetentionExpirationExporterWebClient.getBusinessObjectDefinition(String namespace, String businessObjectDefinitionName)
focal_method.full_signature:  BusinessObjectDefinition getBusinessObjectDefinition(String namespace, String businessObjectDefinitionName)
focal_method.identifier: getBusinessObjectDefinition
focal_method.invocations: info setPath setPort setHost setScheme getUriScheme getRegServerHost getRegServerPort build createHttpClient isTrustSelfSignedCertificate isDisableHostnameVerification addHeader isUseSsl addHeader getAuthorizationHeader info format toString getURI getBusinessObjectDefinition execute info
focal_method.parameters: (String namespace, String businessObjectDefinitionName)
focal_method.return: BusinessObjectDefinition
focal_method.signature: BusinessObjectDefinition getBusinessObjectDefinition(String namespace, String businessObjectDefinitionName)