use of com.synopsys.integration.detect.configuration.DetectUserFriendlyException in project synopsys-detect by blackducksoftware.
the class UnmapCodeLocationsOperation method unmapCodeLocations.
public void unmapCodeLocations(ProjectVersionView projectVersionView) throws DetectUserFriendlyException {
try {
List<CodeLocationView> codeLocationViews = blackDuckService.getAllResponses(projectVersionView.metaCodelocationsLink());
for (CodeLocationView codeLocationView : codeLocationViews) {
codeLocationService.unmapCodeLocation(codeLocationView);
}
logger.info("Successfully unmapped (" + codeLocationViews.size() + ") code locations.");
} catch (IntegrationException e) {
String errorMessage = String.format("There was a problem unmapping Code Locations: %s", e.getMessage());
throw new DetectUserFriendlyException(errorMessage, e, ExitCodeType.FAILURE_GENERAL_ERROR);
}
}
use of com.synopsys.integration.detect.configuration.DetectUserFriendlyException in project synopsys-detect by blackducksoftware.
the class CreateAggregateBdio2FileOperation method writeDocument.
private void writeDocument(File aggregateFile, Bdio2Document bdio2Document) throws DetectUserFriendlyException {
Bdio2Writer bdio2Writer = new Bdio2Writer();
try {
OutputStream outputStream = new FileOutputStream(aggregateFile);
bdio2Writer.writeBdioDocument(outputStream, bdio2Document);
logger.debug(String.format("BDIO Generated: %s", aggregateFile.getAbsolutePath()));
} catch (IOException e) {
throw new DetectUserFriendlyException(e.getMessage(), e, ExitCodeType.FAILURE_GENERAL_ERROR);
}
}
use of com.synopsys.integration.detect.configuration.DetectUserFriendlyException in project synopsys-detect by blackducksoftware.
the class UpdateCustomFieldsOperation method pairOperationFromViews.
private List<CustomFieldOperation> pairOperationFromViews(List<CustomFieldElement> elements, List<CustomFieldView> views, String targetName, BlackDuckApiClient blackDuckService) throws DetectUserFriendlyException {
List<CustomFieldOperation> operations = new ArrayList<>();
for (CustomFieldElement element : elements) {
Optional<CustomFieldView> fieldView = views.stream().filter(view -> view.getLabel().equals(element.getLabel())).findFirst();
if (!fieldView.isPresent()) {
throw new DetectUserFriendlyException(String.format("Unable to find custom field view with label '%s' on the %s. Ensure it exists.", element.getLabel(), targetName), ExitCodeType.FAILURE_BLACKDUCK_FEATURE_ERROR);
}
List<String> values = new ArrayList<>();
List<CustomFieldOptionView> options = retrieveCustomFieldOptions(fieldView.get(), blackDuckService);
if (options.isEmpty()) {
logger.debug("Did not find any associated options for this field, will use raw values.");
values = element.getValue();
} else {
logger.debug("Found one or more options for this field. Will attempt to map given values to fields..");
for (String value : element.getValue()) {
Optional<CustomFieldOptionView> option = options.stream().filter(it -> it.getLabel().equals(value)).findFirst();
if (option.isPresent()) {
values.add(option.get().getHref().string());
} else {
throw new DetectUserFriendlyException(String.format("Unable to update custom field '%s', unable to find option for value '%s'", element.getLabel(), value), ExitCodeType.FAILURE_BLACKDUCK_FEATURE_ERROR);
}
}
}
operations.add(new CustomFieldOperation(fieldView.get(), values));
}
return operations;
}
use of com.synopsys.integration.detect.configuration.DetectUserFriendlyException in project synopsys-detect by blackducksoftware.
the class UpdateCustomFieldsOperation method executeCustomFieldOperations.
// radio, multiselect, and dropdown
private void executeCustomFieldOperations(List<CustomFieldOperation> operations, BlackDuckApiClient blackDuckService) throws DetectUserFriendlyException {
for (CustomFieldOperation operation : operations) {
CustomFieldView fieldView = operation.customField;
fieldView.setValues(operation.values);
try {
blackDuckService.put(fieldView);
} catch (IntegrationException e) {
throw new DetectUserFriendlyException(String.format("Unable to update custom field label with name '%s'", operation.customField.getLabel()), e, ExitCodeType.FAILURE_BLACKDUCK_FEATURE_ERROR);
}
}
}
use of com.synopsys.integration.detect.configuration.DetectUserFriendlyException in project synopsys-detect by blackducksoftware.
the class BlackDuckConfigFactory method createServerConfig.
public BlackDuckServerConfig createServerConfig(IntLogger intLogger) throws DetectUserFriendlyException {
IntLogger logger;
if (intLogger == null) {
logger = new SilentIntLogger();
} else {
logger = intLogger;
}
ConnectionDetails connectionDetails = blackDuckConnectionDetails.getConnectionDetails();
BlackDuckServerConfigBuilder blackDuckServerConfigBuilder = BlackDuckServerConfig.newApiTokenBuilder().setExecutorService(Executors.newFixedThreadPool(blackDuckConnectionDetails.getParallelProcessors())).setLogger(logger);
blackDuckServerConfigBuilder.setProperties(blackDuckConnectionDetails.getBlackduckProperties().entrySet());
blackDuckServerConfigBuilder.setProperty(BLACK_DUCK_SERVER_CONFIG_BUILDER_TIMEOUT_KEY, blackDuckConnectionDetails.getConnectionDetails().getTimeout().toString());
blackDuckServerConfigBuilder.setSolutionDetails(new NameVersion("synopsys_detect", detectInfo.getDetectVersion()));
Optional<Boolean> shouldIgnore = blackDuckConnectionDetails.getBlackDuckUrl().map(blackduckUrl -> ProxyUtil.shouldIgnoreUrl(blackduckUrl, connectionDetails.getIgnoredProxyHostPatterns(), logger));
if (shouldIgnore.isPresent() && Boolean.TRUE.equals(shouldIgnore.get())) {
blackDuckServerConfigBuilder.setProxyInfo(ProxyInfo.NO_PROXY_INFO);
} else {
blackDuckServerConfigBuilder.setProxyInfo(connectionDetails.getProxyInformation());
}
try {
return blackDuckServerConfigBuilder.build();
} catch (IllegalArgumentException e) {
throw new DetectUserFriendlyException("Failed to configure Black Duck server connection: " + e.getMessage(), e, ExitCodeType.FAILURE_CONFIGURATION);
}
}
Aggregations