FindBugsXmlReport.java
package com.capitalone.dashboard.model.quality;
import javax.xml.bind.annotation.*;
import java.util.List;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "BugCollection")
public class FindBugsXmlReport implements CodeQualityVisitee {
@Override
public void accept(CodeQualityVisitor visitor) {
visitor.visit(this);
}
@XmlElement(name = "file")
private List<BugFile> files;
public List<BugFile> getFiles() {
return files;
}
public void setFiles(List<BugFile> files) {
this.files = files;
}
@XmlAccessorType(XmlAccessType.FIELD)
public static class BugFile {
@XmlElement(name = "BugInstance")
private List<BugInstance> bugCollection;
public List<BugInstance> getBugCollection() {
return bugCollection;
}
public void setBugCollection(List<BugInstance> bugCollection) {
this.bugCollection = bugCollection;
}
}
@XmlAccessorType(XmlAccessType.FIELD)
public static class BugInstance {
@XmlAttribute
private String type;
@XmlAttribute
private BugPriority priority;
@XmlAttribute
private BugCategory category;
@XmlAttribute
private String message;
@XmlAttribute
private int lineNumber;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public BugPriority getPriority() {
return priority;
}
public void setPriority(BugPriority priority) {
this.priority = priority;
}
public BugCategory getCategory() {
return category;
}
public void setCategory(BugCategory category) {
this.category = category;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public int getLineNumber() {
return lineNumber;
}
public void setLineNumber(int lineNumber) {
this.lineNumber = lineNumber;
}
}
public enum BugPriority {
Blocker, Low, Critical, Normal
}
public enum BugCategory {
PERFORMANCE, BAD_PRACTICE
}
}