test_class.file: herd-code/herd-tools/herd-uploader/src/test/java/org/finra/herd/tools/uploader/UploaderWebClientTest.java
test_class.identifier: UploaderWebClientTest
test_class.superclass: extends AbstractUploaderTest
test_case.body: @Test
      public void testGetBusinessObjectDataUploadCredential3() throws Exception
      {
          DataBridgeBaseManifestDto manifest = new DataBridgeBaseManifestDto();
          manifest.setNamespace("test1");
          manifest.setBusinessObjectDefinitionName("test2");
          manifest.setBusinessObjectFormatUsage("test3");
          manifest.setBusinessObjectFormatFileType("test4");
          manifest.setBusinessObjectFormatVersion("test5");
          manifest.setPartitionValue("test6");
          manifest.setSubPartitionValues(Arrays.asList("test7", "test8"));
          String storageName = "test8";
          Integer businessObjectDataVersion = null;
          Boolean createNewVersion = true;
          uploaderWebClient.getRegServerAccessParamsDto().setUseSsl(true);
          BusinessObjectDataUploadCredential businessObjectDataUploadCredential =
              uploaderWebClient.getBusinessObjectDataUploadCredential(manifest, storageName, businessObjectDataVersion, createNewVersion);
          Assert.assertNotNull(businessObjectDataUploadCredential);
          AwsCredential awsCredential = businessObjectDataUploadCredential.getAwsCredential();
          Assert.assertNotNull(awsCredential);
          Assert.assertEquals("https://testWebServiceHostname:1234/herd-app/rest/businessObjectData/upload/credential/namespaces/test1" +
              "/businessObjectDefinitionNames/test2/businessObjectFormatUsages/test3/businessObjectFormatFileTypes/test4/businessObjectFormatVersions/test5" +
              "/partitionValues/test6?storageName=test8&subPartitionValues=test7%7Ctest8&createNewVersion=true", awsCredential.getAwsAccessKey());
      }
test_case.class_method_signature: UploaderWebClientTest.testGetBusinessObjectDataUploadCredential3()
test_case.full_signature: @Test public void testGetBusinessObjectDataUploadCredential3()
test_case.identifier: testGetBusinessObjectDataUploadCredential3
test_case.invocations: setNamespace setBusinessObjectDefinitionName setBusinessObjectFormatUsage setBusinessObjectFormatFileType setBusinessObjectFormatVersion setPartitionValue setSubPartitionValues asList setUseSsl getRegServerAccessParamsDto getBusinessObjectDataUploadCredential assertNotNull getAwsCredential assertNotNull assertEquals getAwsAccessKey
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testGetBusinessObjectDataUploadCredential3()
focal_class.declarator: LOGGER = LoggerFactory.getLogger(UploaderWebClient.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOGGER = LoggerFactory.getLogger(UploaderWebClient.class);
focal_class.type: Logger
focal_class.var_name: LOGGER
focal_class.declarator: jsonHelper
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private JsonHelper jsonHelper;
focal_class.type: JsonHelper
focal_class.var_name: jsonHelper
focal_class.file: herd-code/herd-tools/herd-uploader/src/main/java/org/finra/herd/tools/uploader/UploaderWebClient.java
focal_class.identifier: UploaderWebClient
focal_class.class_method_signature: UploaderWebClient.getBusinessObjectDataUploadCredential(DataBridgeBaseManifestDto manifest, String storageName,
          Integer businessObjectDataVersion, Boolean createNewVersion)
focal_class.full_signature: public BusinessObjectDataUploadCredential getBusinessObjectDataUploadCredential(DataBridgeBaseManifestDto manifest, String storageName,
          Integer businessObjectDataVersion, Boolean createNewVersion)
focal_class.identifier: getBusinessObjectDataUploadCredential
focal_class.modifiers: public
focal_class.parameters: (DataBridgeBaseManifestDto manifest, String storageName,
          Integer businessObjectDataVersion, Boolean createNewVersion)
focal_class.return: BusinessObjectDataUploadCredential
focal_class.signature: BusinessObjectDataUploadCredential getBusinessObjectDataUploadCredential(DataBridgeBaseManifestDto manifest, String storageName,
          Integer businessObjectDataVersion, Boolean createNewVersion)
focal_class.class_method_signature: UploaderWebClient.getBusinessObjectDataVersions(BusinessObjectDataKey businessObjectDataKey)
focal_class.full_signature: public BusinessObjectDataVersions getBusinessObjectDataVersions(BusinessObjectDataKey businessObjectDataKey)
focal_class.identifier: getBusinessObjectDataVersions
focal_class.modifiers: public
focal_class.parameters: (BusinessObjectDataKey businessObjectDataKey)
focal_class.return: BusinessObjectDataVersions
focal_class.signature: BusinessObjectDataVersions getBusinessObjectDataVersions(BusinessObjectDataKey businessObjectDataKey)
focal_class.class_method_signature: UploaderWebClient.updateBusinessObjectDataStatusIgnoreException(BusinessObjectDataKey businessObjectDataKey, String businessObjectDataStatus)
focal_class.full_signature: public void updateBusinessObjectDataStatusIgnoreException(BusinessObjectDataKey businessObjectDataKey, String businessObjectDataStatus)
focal_class.identifier: updateBusinessObjectDataStatusIgnoreException
focal_class.modifiers: public
focal_class.parameters: (BusinessObjectDataKey businessObjectDataKey, String businessObjectDataStatus)
focal_class.return: void
focal_class.signature: void updateBusinessObjectDataStatusIgnoreException(BusinessObjectDataKey businessObjectDataKey, String businessObjectDataStatus)
focal_class.class_method_signature: UploaderWebClient.getBusinessObjectDataVersions(CloseableHttpResponse httpResponse)
focal_class.full_signature: protected BusinessObjectDataVersions getBusinessObjectDataVersions(CloseableHttpResponse httpResponse)
focal_class.identifier: getBusinessObjectDataVersions
focal_class.modifiers: protected
focal_class.parameters: (CloseableHttpResponse httpResponse)
focal_class.return: BusinessObjectDataVersions
focal_class.signature: BusinessObjectDataVersions getBusinessObjectDataVersions(CloseableHttpResponse httpResponse)
focal_class.class_method_signature: UploaderWebClient.getBusinessObjectDataUploadCredential(CloseableHttpResponse response)
focal_class.full_signature: private BusinessObjectDataUploadCredential getBusinessObjectDataUploadCredential(CloseableHttpResponse response)
focal_class.identifier: getBusinessObjectDataUploadCredential
focal_class.modifiers: private
focal_class.parameters: (CloseableHttpResponse response)
focal_class.return: BusinessObjectDataUploadCredential
focal_class.signature: BusinessObjectDataUploadCredential getBusinessObjectDataUploadCredential(CloseableHttpResponse response)
focal_class.superclass: extends DataBridgeWebClient
focal_method.body: public BusinessObjectDataUploadCredential getBusinessObjectDataUploadCredential(DataBridgeBaseManifestDto manifest, String storageName,
          Integer businessObjectDataVersion, Boolean createNewVersion)
          throws URISyntaxException, IOException, JAXBException, NoSuchAlgorithmException, KeyStoreException, KeyManagementException
      {
          URIBuilder uriBuilder =
              new URIBuilder().setScheme(getUriScheme()).setHost(regServerAccessParamsDto.getRegServerHost()).setPort(regServerAccessParamsDto.getRegServerPort())
                  .setPath(String.join("/", HERD_APP_REST_URI_PREFIX, "businessObjectData", "upload", "credential", "namespaces", manifest.getNamespace(),
                      "businessObjectDefinitionNames", manifest.getBusinessObjectDefinitionName(), "businessObjectFormatUsages",
                      manifest.getBusinessObjectFormatUsage(), "businessObjectFormatFileTypes", manifest.getBusinessObjectFormatFileType(),
                      "businessObjectFormatVersions", manifest.getBusinessObjectFormatVersion(), "partitionValues", manifest.getPartitionValue()))
                  .setParameter("storageName", storageName);
          if (manifest.getSubPartitionValues() != null)
          {
              uriBuilder.setParameter("subPartitionValues", herdStringHelper.join(manifest.getSubPartitionValues(), "|", "\\"));
          }
          if (businessObjectDataVersion != null)
          {
              uriBuilder.setParameter("businessObjectDataVersion", businessObjectDataVersion.toString());
          }
          if (createNewVersion != null)
          {
              uriBuilder.setParameter("createNewVersion", createNewVersion.toString());
          }
          HttpGet httpGet = new HttpGet(uriBuilder.build());
          httpGet.addHeader("Accepts", DEFAULT_ACCEPT);
          if (regServerAccessParamsDto.isUseSsl())
          {
              httpGet.addHeader(getAuthorizationHeader());
          }
          try (CloseableHttpClient httpClient = httpClientHelper
              .createHttpClient(regServerAccessParamsDto.isTrustSelfSignedCertificate(), regServerAccessParamsDto.isDisableHostnameVerification()))
          {
              LOGGER.info("Retrieving upload credentials from registration server...");
              return getBusinessObjectDataUploadCredential(httpClientOperations.execute(httpClient, httpGet));
          }
      }
focal_method.class_method_signature: UploaderWebClient.getBusinessObjectDataUploadCredential(DataBridgeBaseManifestDto manifest, String storageName,
          Integer businessObjectDataVersion, Boolean createNewVersion)
focal_method.full_signature: public BusinessObjectDataUploadCredential getBusinessObjectDataUploadCredential(DataBridgeBaseManifestDto manifest, String storageName,
          Integer businessObjectDataVersion, Boolean createNewVersion)
focal_method.identifier: getBusinessObjectDataUploadCredential
focal_method.invocations: setParameter setPath setPort setHost setScheme getUriScheme getRegServerHost getRegServerPort join getNamespace getBusinessObjectDefinitionName getBusinessObjectFormatUsage getBusinessObjectFormatFileType getBusinessObjectFormatVersion getPartitionValue getSubPartitionValues setParameter join getSubPartitionValues setParameter toString setParameter toString build addHeader isUseSsl addHeader getAuthorizationHeader createHttpClient isTrustSelfSignedCertificate isDisableHostnameVerification info getBusinessObjectDataUploadCredential execute
focal_method.modifiers: public
focal_method.parameters: (DataBridgeBaseManifestDto manifest, String storageName,
          Integer businessObjectDataVersion, Boolean createNewVersion)
focal_method.return: BusinessObjectDataUploadCredential
focal_method.signature: BusinessObjectDataUploadCredential getBusinessObjectDataUploadCredential(DataBridgeBaseManifestDto manifest, String storageName,
          Integer businessObjectDataVersion, Boolean createNewVersion)