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