
iabudiab.maven.plugins.dependencytrack.suppressions.Suppressions Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dependency-track-maven-plugin Show documentation
Show all versions of dependency-track-maven-plugin Show documentation
Maven plugin for interacting with Dependency Track
package iabudiab.maven.plugins.dependencytrack.suppressions;
import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;
import iabudiab.maven.plugins.dependencytrack.client.model.Finding;
import lombok.Data;
@Data
public class Suppressions {
private List suppressions;
public static Suppressions none() {
return new Suppressions(new ArrayList<>());
}
public Suppressions(@JsonProperty("suppressions") List suppressions) {
this.suppressions = suppressions;
}
public boolean shouldSuppress(Finding finding) {
return suppressions.stream()
.filter(Suppression::isNotExpired)
.anyMatch(suppression -> suppression.shouldSuppress(finding));
}
public Suppression hasSuppression(Finding finding) {
for (Suppression suppression : suppressions) {
if (suppression.isNotExpired() && suppression.shouldSuppress(finding)) {
return suppression;
}
}
return null;
}
public CharSequence printSummary() {
StringBuilder builder = new StringBuilder();
builder.append("--- Custom Suppressions ---");
builder.append("\n");
if (suppressions.isEmpty()) {
builder.append("None");
} else {
for (Suppression suppression : suppressions) {
builder.append(suppression.print());
builder.append("\n");
}
}
return builder.toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy