use of com.synopsys.integration.wait.ResilientJobExecutor in project blackduck-common by blackducksoftware.
the class CodeLocationWaiter method checkCodeLocationsAddedToBom.
public CodeLocationWaitResult checkCodeLocationsAddedToBom(UserView userView, NotificationTaskRange notificationTaskRange, NameVersion projectAndVersion, Set<String> codeLocationNames, int expectedNotificationCount, long timeoutInSeconds, int waitIntervalInSeconds) throws IntegrationException, InterruptedException {
logger.debug("Expected notification count " + expectedNotificationCount);
logger.debug("Expected code locations:");
codeLocationNames.forEach(codeLocation -> logger.debug(String.format(" Code Location -> %s", codeLocation)));
logger.debug("");
ResilientJobConfig jobConfig = new ResilientJobConfig(logger, timeoutInSeconds, notificationTaskRange.getTaskStartTime(), waitIntervalInSeconds);
CodeLocationWaitJob codeLocationWaitJob = new CodeLocationWaitJob(logger, projectService, notificationService, userView, notificationTaskRange, projectAndVersion, codeLocationNames, expectedNotificationCount, blackDuckApiClient);
ResilientJobExecutor resilientJobExecutor = new ResilientJobExecutor(jobConfig);
return resilientJobExecutor.executeJob(codeLocationWaitJob);
}
use of com.synopsys.integration.wait.ResilientJobExecutor in project blackduck-common by blackducksoftware.
the class Bdio2UploadJobTest method testRetryOnFailedChunkUpload.
@Test
public void testRetryOnFailedChunkUpload() throws IntegrationException, InterruptedException {
Bdio2StreamUploader bdio2StreamUploader = getUploaderThatGets429OnAppend();
Bdio2UploadJob bdio2UploadJob = getUploadJob(bdio2StreamUploader);
ResilientJobExecutor jobExecutor = getJobExecutor();
Assertions.assertThrows(IntegrationTimeoutException.class, () -> jobExecutor.executeJob(bdio2UploadJob));
}
use of com.synopsys.integration.wait.ResilientJobExecutor in project synopsys-detect by blackducksoftware.
the class RapidModeWaitOperation method waitForScans.
public List<DeveloperScanComponentResultView> waitForScans(List<HttpUrl> uploadedScans, long timeoutInSeconds, int waitIntervalInSeconds) throws IntegrationException, InterruptedException {
ResilientJobConfig waitJobConfig = new ResilientJobConfig(new Slf4jIntLogger(logger), timeoutInSeconds, System.currentTimeMillis(), waitIntervalInSeconds);
DetectRapidScanWaitJob waitJob = new DetectRapidScanWaitJob(blackDuckApiClient, uploadedScans);
ResilientJobExecutor jobExecutor = new ResilientJobExecutor(waitJobConfig);
return jobExecutor.executeJob(waitJob);
}
use of com.synopsys.integration.wait.ResilientJobExecutor in project blackduck-common by blackducksoftware.
the class Bdio2UploadJobTest method testRetryOnFailedHeaderUpload.
@Test
public void testRetryOnFailedHeaderUpload() throws IntegrationException, InterruptedException {
Bdio2StreamUploader bdio2StreamUploader = getUploaderThatGets429OnStart();
Bdio2UploadJob bdio2UploadJob = getUploadJob(bdio2StreamUploader);
ResilientJobExecutor jobExecutor = getJobExecutor();
Assertions.assertThrows(IntegrationTimeoutException.class, () -> jobExecutor.executeJob(bdio2UploadJob));
}
use of com.synopsys.integration.wait.ResilientJobExecutor in project blackduck-common by blackducksoftware.
the class Bdio2FileUploadService method uploadFiles.
private Bdio2UploadResult uploadFiles(List<BdioFileContent> bdioFiles, @Nullable NameVersion nameVersion, long timeout) throws IntegrationException, InterruptedException {
if (bdioFiles.isEmpty()) {
throw new IllegalArgumentException("BDIO files cannot be empty.");
}
BdioFileContent header = bdioFiles.stream().filter(content -> content.getFileName().equals(FILE_NAME_BDIO_HEADER_JSONLD)).findFirst().orElseThrow(() -> new BlackDuckIntegrationException("Cannot find BDIO header file" + FILE_NAME_BDIO_HEADER_JSONLD + "."));
List<BdioFileContent> remainingFiles = bdioFiles.stream().filter(content -> !content.getFileName().equals(FILE_NAME_BDIO_HEADER_JSONLD)).collect(Collectors.toList());
int count = remainingFiles.size();
logger.debug("BDIO upload file count = " + count);
BlackDuckRequestBuilderEditor editor = noOp -> {
};
if (nameVersion != null) {
editor = builder -> builder.addHeader(Bdio2StreamUploader.PROJECT_NAME_HEADER, nameVersion.getName()).addHeader(Bdio2StreamUploader.VERSION_NAME_HEADER, nameVersion.getVersion());
}
ResilientJobConfig jobConfig = new ResilientJobConfig(logger, timeout, System.currentTimeMillis(), BD_WAIT_AND_RETRY_INTERVAL);
Bdio2UploadJob bdio2UploadJob = new Bdio2UploadJob(bdio2Uploader, header, remainingFiles, editor, count);
ResilientJobExecutor jobExecutor = new ResilientJobExecutor(jobConfig);
return jobExecutor.executeJob(bdio2UploadJob);
}
Aggregations