Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

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              resultObjectHeader=null;
00063              sctdbObjectHeader=null;
00064              testObjectHeader=null;
00065              sctdbRodDaqObjectHeader=null;
00066              regex=null;
00067              return;
00068              }
00069        
00070           testObjectHeader = "TestData.SctData::"+testData.testName+"Result."+Integer.toString(testData.runNumber)+"."+Integer.toString(testData.startScanNumber)+".";
00071           resultObjectHeader = isRetrievedData() ? "RetrievedData.Summary."+Integer.toString(testData.runNumber)+"."+Integer.toString(testData.startScanNumber)+"." : "TestData.Summary."+Integer.toString(testData.runNumber)+"."+Integer.toString(testData.startScanNumber)+".";
00072           sctdbObjectHeader = "SCTDBData."+testNames[testIndex]+"."+location+".";
00073           sctdbRodDaqObjectHeader = "SCTDBData."+Preferences.PreferencesInterface.getInstance().getPreference(Preferences.PreferencesInterface.INSTITUTE)+".Summary."+Integer.toString(testData.runNumber)+"."+Integer.toString(testData.startScanNumber)+".";
00074           regex = regexB.toString();
00075          } 
00076       public void setSCTDBLocation(String location) {
00077           sctdbObjectHeader=null;
00078           if(testIndex==-1) return;
00079           sctdbObjectHeader = "SCTDBData."+testNames[testIndex]+"."+location+".";
00080           }
00081       public String getRunScanRegex() {
00082           return regex;
00083           }
00084       public int getTestIndex() {
00085           return testIndex;
00086           }
00087       public String getTestObjectHeader() {
00088           return testObjectHeader;
00089           }
00090       public String getResultObjectHeader() {
00091           return resultObjectHeader;
00092           }
00093       public String getSCTDBObjectHeader() {
00094           return sctdbObjectHeader;
00095           }
00096       public String getSCTDBRodDaqObjectHeader() {
00097           return sctdbRodDaqObjectHeader;
00098           }
00099    public int getRunNo() {
00100          if(testData==null) return -1;
00101          else return testData.runNumber;
00102          }
00103    public int getScanNo() {
00104          if(testData==null) return -1;
00105          else return testData.startScanNumber;
00106          }
00107    public int getNoScans() {
00108          if(testData==null) return 0;
00109          else return testData.nScans;
00110          }
00111    public String getTestName() {
00112          if(testData==null) return null;
00113          else return testData.testName;
00114          }
00115    public int getStartScanNumber() {
00116          if(testData==null) return -1;
00117          else return testData.startScanNumber;
00118          }
00119    public TestData getTestData() {
00120         // get updated copy of testData
00121         try {
00122            GuiComponents.System.ISInterface.getInstance().getRepository().getValue(testObjectName, testData); 
00123            return testData;
00124         }catch(Exception e){System.err.println("SctGUI::TestSelection - cant retrieve testData - "+e.toString());}
00125         return null;
00126         }
00127    public int getTestStatus() {
00128         try {
00129            GuiComponents.System.ISInterface.getInstance().getRepository().getValue(testObjectName, testData); 
00130            return testData.status;
00131         }catch(Exception e){System.err.println("SctGUI::TestSelection - cant retrieve testData - "+e.toString());}
00132         return -1;
00133         }
00134    public boolean isRetrievedData() {
00135        return testObjectName.startsWith("RetrievedData");
00136        }
00137    public boolean isSCTDBRodDaqData() {
00138        return testObjectName.startsWith("SCTDBData");
00139        }
00140 
00141 }
00142        

Generated on Thu Jul 15 09:55:50 2004 for SCT DAQ/DCS Software - Java by doxygen 1.3.5