5
5
import java .util .Set ;
6
6
7
7
import com .blackduck .integration .blackduck .api .generated .component .*;
8
+ import com .blackduck .integration .blackduck .api .generated .enumeration .PolicyRuleSeverityType ;
9
+
8
10
import org .apache .commons .lang3 .StringUtils ;
9
11
10
12
import com .blackduck .integration .blackduck .api .generated .view .DeveloperScansScanView ;
11
13
12
14
public class RapidScanComponentGroupDetail {
13
15
14
16
private static final String POLICY_SEPARATOR = "/" ;
15
- private static final String POLICY_SEVERITY_BLOCKER = "BLOCKER" ;
16
- private static final String POLICY_SEVERITY_CRITICAL = "CRITICAL" ;
17
17
18
18
private final RapidScanDetailGroup group ;
19
19
private final Set <String > errorMessages = new LinkedHashSet <>();
@@ -86,12 +86,14 @@ public void addMessages(String errorMessage, String warningMessage) {
86
86
// While it may be possible to reduce the overall message generation code in this class by pushing
87
87
// some common pieces into a parent class or interface, it is likely not worth altering the libraries
88
88
// as this may be temporary code.
89
- public void addComponentMessages (DeveloperScansScanView resultView , DeveloperScansScanItemsComponentViolatingPoliciesView componentPolicyViolation ) {
89
+ public void addComponentMessages (DeveloperScansScanView resultView , DeveloperScansScanItemsComponentViolatingPoliciesView componentPolicyViolation , List < PolicyRuleSeverityType > severitiesToFailPolicyCheck ) {
90
90
String baseMessage = getBaseMessage (resultView );
91
91
92
92
String errorMessage = "" , warningMessage = "" ;
93
93
94
- if (componentPolicyViolation .getPolicySeverity ().equals (POLICY_SEVERITY_CRITICAL ) || componentPolicyViolation .getPolicySeverity ().equals (POLICY_SEVERITY_BLOCKER )) {
94
+ if (severitiesToFailPolicyCheck .stream ()
95
+ .map (PolicyRuleSeverityType ::name )
96
+ .anyMatch (severity -> severity .equals (componentPolicyViolation .getPolicySeverity ()))) {
95
97
if (errorMessage .equals ("" )) {
96
98
errorMessage = baseMessage ;
97
99
} else {
@@ -117,7 +119,7 @@ public void addComponentMessages(DeveloperScansScanView resultView, DeveloperSca
117
119
// While it may be possible to reduce the overall message generation code in this class by pushing
118
120
// some common pieces into a parent class or interface, it is likely not worth altering the libraries
119
121
// as this may be temporary code.
120
- public void addLicenseMessages (DeveloperScansScanView resultView , DeveloperScansScanItemsPolicyViolationLicensesView licensePolicyViolation ) {
122
+ public void addLicenseMessages (DeveloperScansScanView resultView , DeveloperScansScanItemsPolicyViolationLicensesView licensePolicyViolation , List < PolicyRuleSeverityType > severitiesToFailPolicyCheck ) {
121
123
String baseMessage = getBaseMessage (resultView );
122
124
123
125
List <DeveloperScansScanItemsPolicyViolationLicensesViolatingPoliciesView > violatingPolicies = licensePolicyViolation .getViolatingPolicies ();
@@ -126,8 +128,10 @@ public void addLicenseMessages(DeveloperScansScanView resultView, DeveloperScans
126
128
127
129
for (int i = 0 ; i < violatingPolicies .size (); i ++) {
128
130
DeveloperScansScanItemsPolicyViolationLicensesViolatingPoliciesView violation = violatingPolicies .get (i );
129
-
130
- if (violation .getPolicySeverity ().equals (POLICY_SEVERITY_CRITICAL ) || violation .getPolicySeverity ().equals (POLICY_SEVERITY_BLOCKER )) {
131
+
132
+ if (severitiesToFailPolicyCheck .stream ()
133
+ .map (PolicyRuleSeverityType ::name )
134
+ .anyMatch (severity -> severity .equals (violation .getPolicySeverity ()))) {
131
135
if (errorMessage .equals ("" )) {
132
136
errorMessage = baseMessage ;
133
137
} else {
@@ -164,7 +168,7 @@ public void addLicenseMessages(DeveloperScansScanView resultView, DeveloperScans
164
168
// some common pieces into a parent class or interface, it is likely not worth altering the libraries
165
169
// as this may be temporary code.
166
170
public void addVulnerabilityMessages (DeveloperScansScanView resultView ,
167
- DeveloperScansScanItemsPolicyViolationVulnerabilitiesView vulnerabilityPolicyViolation ) {
171
+ DeveloperScansScanItemsPolicyViolationVulnerabilitiesView vulnerabilityPolicyViolation , List < PolicyRuleSeverityType > severitiesToFailPolicyCheck ) {
168
172
String baseMessage = getBaseMessage (resultView );
169
173
170
174
List <DeveloperScansScanItemsPolicyViolationVulnerabilitiesViolatingPoliciesView > violatingPolicies = vulnerabilityPolicyViolation .getViolatingPolicies ();
@@ -174,7 +178,9 @@ public void addVulnerabilityMessages(DeveloperScansScanView resultView,
174
178
for (int i = 0 ; i < violatingPolicies .size (); i ++) {
175
179
DeveloperScansScanItemsPolicyViolationVulnerabilitiesViolatingPoliciesView violation = violatingPolicies .get (i );
176
180
177
- if (violation .getPolicySeverity ().equals (POLICY_SEVERITY_CRITICAL ) || violation .getPolicySeverity ().equals (POLICY_SEVERITY_BLOCKER )) {
181
+ if (severitiesToFailPolicyCheck .stream ()
182
+ .map (PolicyRuleSeverityType ::name )
183
+ .anyMatch (severity -> severity .equals (violation .getPolicySeverity ()))) {
178
184
errorMessage = constructVulnerabilityMessageSegment (baseMessage , errorMessage , violation );
179
185
} else {
180
186
warningMessage = constructVulnerabilityMessageSegment (baseMessage , warningMessage , violation );
@@ -212,15 +218,17 @@ public void addVulnerabilityMessages(DeveloperScansScanView resultView,
212
218
// While it may be possible to reduce the overall message generation code in this class by pushing
213
219
// some common pieces into a parent class or interface, it is likely not worth altering the libraries
214
220
// as this may be temporary code.
215
- public void addViolatingPoliciesMessages (DeveloperScansScanView resultView , List <DeveloperScansScanItemsViolatingPoliciesView > violatingPolicies ) {
221
+ public void addViolatingPoliciesMessages (DeveloperScansScanView resultView , List <DeveloperScansScanItemsViolatingPoliciesView > violatingPolicies , List < PolicyRuleSeverityType > severitiesToFailPolicyCheck ) {
216
222
String baseMessage = getBaseMessage (resultView );
217
223
218
224
String errorMessage = "" , warningMessage = "" ;
219
225
220
226
for (int i = 0 ; i < violatingPolicies .size (); i ++) {
221
227
DeveloperScansScanItemsViolatingPoliciesView violation = violatingPolicies .get (i );
222
228
223
- if (violation .getPolicySeverity ().equals (POLICY_SEVERITY_CRITICAL ) || violation .getPolicySeverity ().equals (POLICY_SEVERITY_BLOCKER )) {
229
+ if (severitiesToFailPolicyCheck .stream ()
230
+ .map (PolicyRuleSeverityType ::name )
231
+ .anyMatch (severity -> severity .equals (violation .getPolicySeverity ()))) {
224
232
if (errorMessage .equals ("" )) {
225
233
errorMessage = baseMessage ;
226
234
} else {
0 commit comments