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;
00015 String sctdbObjectHeader;
00016 String testObjectHeader;
00017 String sctdbRodDaqObjectHeader;
00018 String regex;
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
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
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