Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/main/java/org/dependencytrack/model/AnalysisState.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,6 @@ public enum AnalysisState {
FALSE_POSITIVE,
NOT_AFFECTED,
RESOLVED,
NOT_SET
RESOLVED_WITH_PEDIGREE,
NOT_SET,
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ public static class Title {
public static final String ANALYSIS_DECISION_SUPPRESSED = "Analysis Decision: Finding Suppressed";
public static final String ANALYSIS_DECISION_UNSUPPRESSED = "Analysis Decision: Finding UnSuppressed";
public static final String ANALYSIS_DECISION_RESOLVED = "Analysis Decision: Finding Resolved";
public static final String ANALYSIS_DECISION_RESOLVED_WITH_PEDIGREE = "Analysis Decision: Finding Resolved By Pedigree";
public static final String VIOLATIONANALYSIS_DECISION_APPROVED = "Violation Analysis Decision: Approved";
public static final String VIOLATIONANALYSIS_DECISION_REJECTED = "Violation Analysis Decision: Rejected";
public static final String VIOLATIONANALYSIS_DECISION_NOT_SET = "Violation Analysis Decision: Marking Finding as NOT SET";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ private static void updateAnalysis(final QueryManager qm, final Component compon
}
if (cdxVuln.getAnalysis().getState() != null) {
analysisState = ModelConverter.convertCdxVulnAnalysisStateToDtAnalysisState(cdxVuln.getAnalysis().getState());
suppress = (AnalysisState.FALSE_POSITIVE == analysisState || AnalysisState.NOT_AFFECTED == analysisState || AnalysisState.RESOLVED == analysisState);
suppress = (AnalysisState.FALSE_POSITIVE == analysisState || AnalysisState.NOT_AFFECTED == analysisState || AnalysisState.RESOLVED == analysisState || AnalysisState.RESOLVED_WITH_PEDIGREE == analysisState);
AnalysisCommentUtil.makeStateComment(qm, analysis, analysisState, COMMENTER);
}
if (cdxVuln.getAnalysis().getJustification() != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1107,6 +1107,8 @@ private static org.cyclonedx.model.vulnerability.Vulnerability.Analysis.State co
return org.cyclonedx.model.vulnerability.Vulnerability.Analysis.State.NOT_AFFECTED;
case RESOLVED:
return org.cyclonedx.model.vulnerability.Vulnerability.Analysis.State.RESOLVED;
case RESOLVED_WITH_PEDIGREE:
return org.cyclonedx.model.vulnerability.Vulnerability.Analysis.State.RESOLVED_WITH_PEDIGREE;
default:
return null;
}
Expand All @@ -1127,6 +1129,8 @@ public static AnalysisState convertCdxVulnAnalysisStateToDtAnalysisState(final o
return AnalysisState.NOT_AFFECTED;
case RESOLVED:
return AnalysisState.RESOLVED;
case RESOLVED_WITH_PEDIGREE:
return AnalysisState.RESOLVED_WITH_PEDIGREE;
default:
return AnalysisState.NOT_SET;
}
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/org/dependencytrack/util/NotificationUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,9 @@ public static void analyzeNotificationCriteria(final QueryManager qm, Analysis a
case RESOLVED:
title = NotificationConstants.Title.ANALYSIS_DECISION_RESOLVED;
break;
case RESOLVED_WITH_PEDIGREE:
title = NotificationConstants.Title.ANALYSIS_DECISION_RESOLVED_WITH_PEDIGREE;
break;
}
} else if (suppressionChange) {
if (analysis.isSuppressed()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,5 +47,6 @@ void testConstants() {
Assertions.assertEquals("Analysis Decision: Finding Suppressed", NotificationConstants.Title.ANALYSIS_DECISION_SUPPRESSED);
Assertions.assertEquals("Analysis Decision: Finding UnSuppressed", NotificationConstants.Title.ANALYSIS_DECISION_UNSUPPRESSED);
Assertions.assertEquals("Analysis Decision: Finding Resolved", NotificationConstants.Title.ANALYSIS_DECISION_RESOLVED);
Assertions.assertEquals("Analysis Decision: Finding Resolved By Pedigree", NotificationConstants.Title.ANALYSIS_DECISION_RESOLVED_WITH_PEDIGREE);
}
}