00001 package SummaryReader;
00002
00003
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 }