use of com.synopsys.integration.phonehome.PhoneHomeService in project hub-alert by blackducksoftware.
the class PhoneHomeTask method runTask.
@Override
public void runTask() {
String productVersion = aboutReader.getProductVersion();
if (AboutReader.PRODUCT_VERSION_UNKNOWN.equals(productVersion)) {
return;
}
ExecutorService phoneHomeExecutor = Executors.newSingleThreadExecutor();
try {
String[] channelMetaData = retrieveChannelMetadataForAllJobs();
for (ProviderPhoneHomeHandler handler : providerHandlers) {
List<ConfigurationModel> configurations = configurationModelConfigurationAccessor.getConfigurationsByDescriptorKeyAndContext(handler.getProviderKey(), ConfigContextEnum.GLOBAL);
for (ConfigurationModel configuration : configurations) {
PhoneHomeService phoneHomeService = createPhoneHomeService(phoneHomeExecutor);
NameVersion alertArtifactInfo = new NameVersion(ARTIFACT_ID, productVersion);
PhoneHomeRequestBodyBuilder requestBodyBuilder = handler.populatePhoneHomeData(configuration, alertArtifactInfo);
requestBodyBuilder.addArtifactModules(channelMetaData);
PhoneHomeRequestBody requestBody = requestBodyBuilder.build();
PhoneHomeResponse phoneHomeResponse = phoneHomeService.phoneHome(requestBody, System.getenv());
boolean taskSucceeded = BooleanUtils.isTrue(phoneHomeResponse.awaitResult(DEFAULT_TIMEOUT));
if (!taskSucceeded) {
logger.debug("Phone home task timed out and did not send any results.");
}
}
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
} finally {
phoneHomeExecutor.shutdownNow();
}
}
Aggregations