Search in sources :

Example 1 with PolicySummaryStatusType

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);
}
Also used : PolicyStatusDescription(com.synopsys.integration.blackduck.service.model.PolicyStatusDescription) PolicySummaryStatusType(com.synopsys.integration.blackduck.api.generated.enumeration.PolicySummaryStatusType) VersionBomPolicyStatusView(com.synopsys.integration.blackduck.api.generated.view.VersionBomPolicyStatusView)

Aggregations

PolicySummaryStatusType (com.synopsys.integration.blackduck.api.generated.enumeration.PolicySummaryStatusType)1 VersionBomPolicyStatusView (com.synopsys.integration.blackduck.api.generated.view.VersionBomPolicyStatusView)1 PolicyStatusDescription (com.synopsys.integration.blackduck.service.model.PolicyStatusDescription)1