use of com.synopsys.integration.blackduck.api.generated.enumeration.PolicySummaryStatusType in project hub-detect by blackducksoftware.
the class PolicyChecker method getPolicyStatus.
/**
* For the given DetectProject, find the matching Hub project/version, then all of its code locations, then all of their scan summaries, wait until they are all complete, then get the policy status.
* @throws IntegrationException
*/
public Optional<PolicyStatusDescription> getPolicyStatus(final ProjectService projectService, final ProjectVersionView version) throws IntegrationException {
final Optional<VersionBomPolicyStatusView> versionBomPolicyStatusView = projectService.getPolicyStatusForVersion(version);
if (!versionBomPolicyStatusView.isPresent()) {
return Optional.empty();
}
final PolicyStatusDescription policyStatusDescription = new PolicyStatusDescription(versionBomPolicyStatusView.get());
PolicySummaryStatusType statusEnum = PolicySummaryStatusType.NOT_IN_VIOLATION;
if (policyStatusDescription.getCountInViolation() != null && policyStatusDescription.getCountInViolation().value > 0) {
statusEnum = PolicySummaryStatusType.IN_VIOLATION;
} else if (policyStatusDescription.getCountInViolationOverridden() != null && policyStatusDescription.getCountInViolationOverridden().value > 0) {
statusEnum = PolicySummaryStatusType.IN_VIOLATION_OVERRIDDEN;
}
logger.info(String.format("Policy Status: %s", statusEnum.name()));
return Optional.of(policyStatusDescription);
}
Aggregations