1 package hudson.tasks.junit; 2 3 import hudson.model.AbstractBuild; 4 import org.kohsuke.stapler.StaplerRequest; 5 import org.kohsuke.stapler.StaplerResponse; 6 7 import java.util.ArrayList ; 8 import java.util.Collections ; 9 import java.util.List ; 10 11 16 public final class ClassResult extends TabulatedResult implements Comparable <ClassResult> { 17 private final String className; 18 19 private final List <CaseResult> cases = new ArrayList <CaseResult>(); 20 21 private int passCount,failCount; 22 23 private final PackageResult parent; 24 25 ClassResult(PackageResult parent, String className) { 26 this.parent = parent; 27 this.className = className; 28 } 29 30 public PackageResult getParent() { 31 return parent; 32 } 33 34 public AbstractBuild<?,?> getOwner() { 35 return parent.getOwner(); 36 } 37 38 public ClassResult getPreviousResult() { 39 PackageResult pr = parent.getPreviousResult(); 40 if(pr==null) return null; 41 return pr.getDynamic(getName(),null,null); 42 } 43 44 public String getTitle() { 45 return "Test Result : "+getName(); 46 } 47 48 public String getName() { 49 int idx = className.lastIndexOf('.'); 50 if(idx<0) return className; 51 else return className.substring(idx+1); 52 } 53 54 public CaseResult getDynamic(String name, StaplerRequest req, StaplerResponse rsp) { 55 for (CaseResult c : cases) { 56 if(c.getSafeName().equals(name)) 57 return c; 58 } 59 return null; 60 } 61 62 63 public List <CaseResult> getChildren() { 64 return cases; 65 } 66 67 public int getPassCount() { 68 return passCount; 69 } 70 71 public int getFailCount() { 72 return failCount; 73 } 74 75 public void add(CaseResult r) { 76 cases.add(r); 77 } 78 79 void freeze() { 80 passCount=failCount=0; 81 for (CaseResult r : cases) { 82 r.setClass(this); 83 if(r.isPassed()) passCount++; 84 else failCount++; 85 } 86 Collections.sort(cases); 87 } 88 89 90 public int compareTo(ClassResult that) { 91 return this.className.compareTo(that.className); 92 } 93 94 public String getDisplayName() { 95 return getName(); 96 } 97 } 98 | Popular Tags |