00001 package SummaryReader; 00002 /* 00003 * @author robinson 00004 */ 00005 import java.util.Vector; 00006 import java.util.Set; 00007 import java.util.HashSet; 00008 00009 public class Test { 00010 00011 String[] dataValues; 00012 Vector comments; 00013 String noDefects; 00014 String testStatus; 00015 Vector dataBlockList; 00016 Vector defectList; 00017 TestInfo testInfo; 00018 DAQInfo daqInfo; 00019 ScanInfo scanInfo; 00020 LinkInfo linkInfo=null; 00021 DCSInfo dcsInfo=null; 00022 IVData ivData; 00023 00024 Set badChannelSet; 00025 00026 String testType; 00027 String serialNo; 00028 00029 public Test() { 00030 00031 dataValues = new String[12]; 00032 dataBlockList = new Vector(); 00033 defectList = new Vector(); 00034 comments = new Vector(); 00035 badChannelSet = new HashSet(); 00036 ivData=null; 00037 } 00038 00039 public void add(DataBlock dataBlock) { 00040 dataBlock.calculateMeans(); 00041 dataBlockList.add(dataBlock); 00042 } 00043 public void add(DefectInfo defectInfo) { 00044 defectList.add(defectInfo); 00045 badChannelSet.addAll(defectInfo.getBadChannelSet()); 00046 } 00047 public void add(TestInfo testInfo) { 00048 this.testInfo=testInfo; 00049 } 00050 public void add(ScanInfo info) { 00051 this.scanInfo = info; 00052 } 00053 public void add(LinkInfo info) { 00054 this.linkInfo = info; 00055 } 00056 public void add(DAQInfo daqInfo) { 00057 this.daqInfo=daqInfo; 00058 } 00059 public void add(DCSInfo dcsInfo) { 00060 this.dcsInfo=dcsInfo; 00061 } 00062 public void add(IVData ivData) { 00063 this.ivData = ivData; 00064 } 00065 public DCSInfo getDCSInfo() { 00066 return dcsInfo; 00067 } 00068 public TestInfo getTestInfo() { 00069 return testInfo; 00070 } 00071 public DAQInfo getDAQInfo() { 00072 return daqInfo; 00073 } 00074 public ScanInfo getScanInfo() { 00075 return scanInfo; 00076 } 00077 public LinkInfo getLinkInfo() { 00078 return linkInfo; 00079 } 00080 public IVData getIVData() { 00081 return ivData; 00082 } 00083 public int noDataBlocks() { 00084 return dataBlockList.size(); 00085 } 00086 public DataBlock getDataBlock(int index) { 00087 return (DataBlock)dataBlockList.elementAt(index); 00088 } 00089 public DataBlock getLastDataBlock() { 00090 return (DataBlock)dataBlockList.lastElement(); 00091 } 00092 public Double noDefects() { 00093 return new Double(defectList.size()); 00094 } 00095 public int getNoDefects() { 00096 return defectList.size(); 00097 } 00098 public Double getNoBadChannels() { 00099 return new Double(badChannelSet.size()); 00100 } 00101 00102 public DefectInfo getDefectInfo(int index) { 00103 return (DefectInfo)defectList.elementAt(index); 00104 } 00105 00106 public String getDefectSummaryTable() { 00107 StringBuffer table = new StringBuffer("<h3>Defect Info</h3>\n"); 00108 if(defectList.size()==0) { 00109 table.append("No defects"); 00110 return table.toString(); 00111 } 00112 table.append("<table border=1>\n"); 00113 table.append("<tr><td>Channel(s)</td><td>Defect</td></tr>\n"); 00114 for(int i=0;i<defectList.size();i++) { 00115 DefectInfo defectInfo = (DefectInfo)defectList.elementAt(i); 00116 String chan1 = defectInfo.getFirstChannel(); 00117 String chan2 = defectInfo.getLastChannel(); 00118 String channel = (chan1.equals(chan2)) ? chan1 : chan1+"-"+chan2; 00119 table.append("<tr><td>"+channel+"</td><td>"+defectInfo.getName()+"</td></tr>"); 00120 } 00121 table.append("</table>\n"); 00122 return table.toString(); 00123 } 00124 public void setTestType(String type) { 00125 this.testType=testType; 00126 } 00127 public void addDefectStripCount(String noDefects) { 00128 this.noDefects=noDefects; 00129 } 00130 public void addTestStatus(String testStatus) { 00131 this.testStatus=testStatus; 00132 } 00133 public String getTestStatus() { 00134 if(testStatus==null) return null; 00135 return testStatus; 00136 } 00137 public String getDefectiveStripCount() { 00138 if(noDefects==null) return null; 00139 else return noDefects; 00140 } 00141 00142 public void setSerialNo(String serialNo) { 00143 this.serialNo = serialNo; 00144 } 00145 public String getSerialNo() { 00146 return serialNo; 00147 } 00148 00149 00150 public void setData(int index, String value) { 00151 dataValues[index]=value; 00152 } 00153 public String getData(int index) { 00154 index--; 00155 if(index==-1) { 00156 double maxValue=0.; 00157 for(int i=0;i<dataValues.length;i++) { 00158 double thisValue = Double.parseDouble(dataValues[i]); 00159 if(thisValue>maxValue) maxValue=thisValue; 00160 } 00161 return Double.toString(maxValue); 00162 } 00163 return dataValues[index]; 00164 } 00165 public void addComment(String comment) { 00166 comments.addElement(comment); 00167 } 00168 public String getComment(int commentIndex) { 00169 return (String)comments.elementAt(commentIndex); 00170 } 00171 public String getCommentsSummary() { 00172 StringBuffer table = new StringBuffer("<h3>Comments</h3>\n"); 00173 if(comments.size()==0) { 00174 table.append("None"); 00175 return table.toString(); 00176 } 00177 for(int i=0;i<comments.size();i++) table.append((String)comments.elementAt(i)+"\n"); 00178 return table.toString(); 00179 } 00180 00181 00182 00183 }