TestSelection.java

00001 package DisplayGUI;
00002 
00003 import Sct_CalibrationController.TestData;
00004 import is.*;
00005 import Sct.Serializable;
00006 import Sct.IS.*;
00007 
00012 public class TestSelection implements TestDataInfo {
00013 
00014      String resultObjectHeader;   // the header of the summary object name
00015      String sctdbObjectHeader;    // the header of the SCTDAQ object name
00016      String testObjectHeader;     // the header of the test object name
00017      String sctdbRodDaqObjectHeader; // the header of the SCTDB RodDaq object name
00018      String regex;         // the run no and scanno
00019      TestData testData;
00020      int testIndex;
00021      String testObjectName;
00022 
00023      public TestSelection(String testObjectName, String location) {
00024 
00025          StringBuffer regexB = new StringBuffer(".*(");         
00026          testIndex=-1;
00027          this.testObjectName = testObjectName;
00028 
00029          try {
00030            testData = new TestData(); 
00031            GuiComponents.System.ISInterface.getInstance().getRepository().getValue(testObjectName, testData); 
00032            String runNo = Integer.toString(testData.runNumber);
00033            for(int k=testData.startScanNumber;k<testData.startScanNumber+testData.nScans;k++) {
00034              if(k>testData.startScanNumber) regexB.append("|");
00035              regexB.append("\\.");
00036              regexB.append(runNo);
00037              regexB.append("\\.");
00038              regexB.append(Integer.toString(k));
00039              regexB.append("\\.");
00040              }
00041          regexB.append(")");
00042 
00043 // first extract the run number, and scan numbers
00044            String testName = testData.testName;
00045            for(int i=0;i<testNames.length;i++) {
00046            if(testName.indexOf(testNames[i])!=-1) {
00047                     if(testName.equals("NPtGainTest") && testData.nScans==3) {
00048                              testIndex=TEST_3PTGAIN;
00049                              break;
00050                              }
00051                     testIndex=i;
00052                     break;
00053                     }  
00054             }       
00055           }catch(Exception e2) {
00056               System.err.println("SctGUI::TestSelection : Exception extracting TestData : "+e2.toString());
00057               testData=null;
00058               }
00059 
00060           if(testIndex==-1) {
00061              System.out.println("SctGui::TestSelection : Unrecognised testname: "+testData.testName);
00062              System.out.println("SctGUI::TestSelection : Assuming DefaultTest ");
00063              testIndex = TEST_DEFAULT;
00064 //             resultObjectHeader=null;
00065 //             sctdbObjectHeader=null;
00066 //             testObjectHeader=null;
00067 //             sctdbRodDaqObjectHeader=null;
00068 //             regex=null;
00069 //             return;
00070              }
00071        
00072           testObjectHeader = "TestData.SctData::"+testData.testName+"Result."+Integer.toString(testData.runNumber)+"."+Integer.toString(testData.startScanNumber)+".";
00073           resultObjectHeader = isRetrievedData() ? "RetrievedData.Summary."+Integer.toString(testData.runNumber)+"."+Integer.toString(testData.startScanNumber)+"." : "TestData.Summary."+Integer.toString(testData.runNumber)+"."+Integer.toString(testData.startScanNumber)+".";
00074           sctdbObjectHeader = "SCTDBData."+testNames[testIndex]+"."+location+".";
00075           sctdbRodDaqObjectHeader = "SCTDBData."+location+".Summary."+Integer.toString(testData.runNumber)+"."+Integer.toString(testData.startScanNumber)+".";
00076           regex = regexB.toString();
00077          } 
00078       public void setSCTDBLocation(String location) {
00079           sctdbObjectHeader=null;
00080           if(testIndex==-1) return;
00081           sctdbObjectHeader = "SCTDBData."+testNames[testIndex]+"."+location+".";
00082           }
00083       public String getRunScanRegex() {
00084           return regex;
00085           }
00086       public int getTestIndex() {
00087           return testIndex;
00088           }
00089       public String getTestObjectHeader() {
00090           return testObjectHeader;
00091           }
00092       public String getResultObjectHeader() {
00093           return resultObjectHeader;
00094           }
00095       public String getSCTDBObjectHeader() {
00096           return sctdbObjectHeader;
00097           }
00098       public String getSCTDBRodDaqObjectHeader() {
00099           return sctdbRodDaqObjectHeader;
00100           }
00101    public int getRunNo() {
00102          if(testData==null) return -1;
00103          else return testData.runNumber;
00104          }
00105    public int getScanNo() {
00106          if(testData==null) return -1;
00107          else return testData.startScanNumber;
00108          }
00109    public int getNoScans() {
00110          if(testData==null) return 0;
00111          else return testData.nScans;
00112          }
00113    public String getTestName() {
00114          if(testData==null) return null;
00115          else return testData.testName;
00116          }
00117    public int getStartScanNumber() {
00118          if(testData==null) return -1;
00119          else return testData.startScanNumber;
00120          }
00121    public TestData getTestData() {
00122         // get updated copy of testData
00123         try {
00124            GuiComponents.System.ISInterface.getInstance().getRepository().getValue(testObjectName, testData); 
00125            return testData;
00126         }catch(Exception e){System.err.println("SctGUI::TestSelection - cant retrieve testData - "+e.toString());}
00127         return null;
00128         }
00129    public int getTestStatus() {
00130         try {
00131            GuiComponents.System.ISInterface.getInstance().getRepository().getValue(testObjectName, testData); 
00132            return testData.status;
00133         }catch(Exception e){System.err.println("SctGUI::TestSelection - cant retrieve testData - "+e.toString());}
00134         return -1;
00135         }
00136    public boolean isRetrievedData() {
00137        return testObjectName.startsWith("RetrievedData");
00138        }
00139    public boolean isSCTDBRodDaqData() {
00140        return testObjectName.startsWith("SCTDBData");
00141        }
00142 
00143 }
00144        

Generated on Mon Feb 6 14:12:20 2006 for SCT DAQ/DCS Software - Java by  doxygen 1.4.6