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

DatabaseLister.java

00001 /*
00002  * DatabaseLister.java
00003  *
00004  * Created on 27 February 2004, 13:50
00005  */
00006 
00007 package DisplayGUI;
00008 import javax.swing.ListSelectionModel;
00009 import javax.swing.event.ListSelectionListener;
00010 import javax.swing.ListSelectionModel;
00011 import javax.swing.event.ListSelectionEvent;
00012 import java.util.*;
00013 import ProdDatabase.*;
00014 
00019 public class DatabaseLister extends javax.swing.JFrame implements displayParams, SCTDBInfo, TestDataInfo, ListSelectionListener {
00020     
00021     DataList dataList;
00022     Map testMap;
00023     ListSelectionModel rowSM;
00024 
00025     private javax.swing.JButton jButton1;
00026     private javax.swing.JTable jTable;
00027     private javax.swing.JButton jButton2;
00028     private javax.swing.JButton jButton3;
00029     private javax.swing.JComboBox jComboBox1;
00030     private javax.swing.JLabel jLabel1,jLabel2;
00031     private javax.swing.JScrollPane jScrollPane1;
00032 
00034     public DatabaseLister() {
00035         super("Download SctRodDaq Tests");
00036          createTestMap();
00037         initComponents();
00038     }
00039     
00045     private void initComponents() {
00046        
00047         java.awt.GridBagConstraints gridBagConstraints;
00048 
00049         jButton2 = new javax.swing.JButton();
00050         jButton2.setFont(displayTextFont);
00051         jComboBox1 = new javax.swing.JComboBox();
00052         jComboBox1.setFont(displayTextFont);
00053         jComboBox1.setBackground(backgroundColor);
00054         for(int i=0;i<testNames.length;i++) {
00055            if(testIsDefined[i] && i!=TEST_NMASK) jComboBox1.addItem(testMenuNames[i]);
00056            }
00057         jLabel1 = new javax.swing.JLabel();
00058         jLabel2 = new javax.swing.JLabel();
00059         dataList = new DataList();
00060         jTable = new javax.swing.JTable(dataList);
00061         jTable.setFont(tableFont);
00062         jTable.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
00063         rowSM = jTable.getSelectionModel();
00064         rowSM.addListSelectionListener(this);
00065         jScrollPane1 = new javax.swing.JScrollPane(jTable);
00066         jScrollPane1.setBackground(new java.awt.Color(255, 255, 255));
00067         jScrollPane1.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));
00068         jScrollPane1.setMinimumSize(new java.awt.Dimension(300, 150));
00069         jScrollPane1.setPreferredSize(new java.awt.Dimension(300, 200));
00070         jButton1 = new javax.swing.JButton();
00071         jButton1.setFont(displayTextFont);
00072         jButton3 = new javax.swing.JButton();
00073         jButton3.setFont(displayTextFont);
00074 
00075         getContentPane().setLayout(new java.awt.GridBagLayout());
00076 
00077         addWindowListener(new java.awt.event.WindowAdapter() {
00078             public void windowClosing(java.awt.event.WindowEvent evt) {
00079                 exitForm(evt);
00080             }
00081         });
00082 
00083         jButton2.setText("Download Selected Test");
00084         gridBagConstraints = new java.awt.GridBagConstraints();
00085         gridBagConstraints.gridx = 0;
00086         gridBagConstraints.gridy = 3;
00087         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00088         gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST;
00089         getContentPane().add(jButton2, gridBagConstraints);
00090         jButton2.addActionListener(new java.awt.event.ActionListener() {
00091                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00092                        int selectedRow = rowSM.getMinSelectionIndex();
00093                        String testname = (String)dataList.getValueAt(selectedRow,1);
00094                        Integer testIndex = (Integer)testMap.get(testname);
00095                        String r = (String)dataList.getValueAt(selectedRow,2);
00096                        String s = (String)dataList.getValueAt(selectedRow,3);
00097                        SCTDBTestDownloader d = new SCTDBTestDownloader(r+"-"+s,testIndex.intValue(),Preferences.PreferencesInterface.getInstance().getPreference(Preferences.PreferencesInterface.INSTITUTE));
00098                        if(d.downloadsRequired() && d.isOkToStart()) d.start();
00099                        setVisible(false);
00100                      }
00101              });
00102         jButton2.setEnabled(false);
00103 
00104         gridBagConstraints = new java.awt.GridBagConstraints();
00105         gridBagConstraints.gridx = 1;
00106         gridBagConstraints.gridy = 0;
00107         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00108         gridBagConstraints.weightx = 0.5;
00109         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
00110         getContentPane().add(jComboBox1, gridBagConstraints);
00111 
00112         jLabel1.setText("Select Test:");
00113         jLabel1.setFont(displayTextFont);
00114         gridBagConstraints = new java.awt.GridBagConstraints();
00115         gridBagConstraints.gridx = 0;
00116         gridBagConstraints.gridy = 0;
00117         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00118         gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
00119         gridBagConstraints.weightx = 0.2;
00120         getContentPane().add(jLabel1, gridBagConstraints);
00121 
00122         jLabel2.setText("No Data listed...");
00123         jLabel2.setFont(displayScaleFont);  
00124         gridBagConstraints = new java.awt.GridBagConstraints();
00125         gridBagConstraints.gridx = 0;
00126         gridBagConstraints.gridy = 1;
00127         gridBagConstraints.gridwidth = 3;
00128         gridBagConstraints.insets = new java.awt.Insets(2, 5, 0, 5);
00129         gridBagConstraints.weighty = 0.1;
00130         gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST;
00131 //        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
00132         getContentPane().add(jLabel2, gridBagConstraints);
00133 
00134         gridBagConstraints = new java.awt.GridBagConstraints();
00135         gridBagConstraints.gridx = 0;
00136         gridBagConstraints.gridy = 2;
00137         gridBagConstraints.gridwidth = 3;
00138         gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5);
00139         gridBagConstraints.weighty = 0.6;
00140         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
00141         getContentPane().add(jScrollPane1, gridBagConstraints);
00142 
00143         jButton1.setText("List Available Data");
00144         gridBagConstraints = new java.awt.GridBagConstraints();
00145         gridBagConstraints.gridx = 2;
00146         gridBagConstraints.gridy = 0;
00147         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00148         gridBagConstraints.weightx = 0.3;
00149         gridBagConstraints.weighty = 0.2;
00150         getContentPane().add(jButton1, gridBagConstraints);
00151         jButton1.addActionListener(new java.awt.event.ActionListener() {
00152                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00153                        Integer index = (Integer)testMap.get((String)jComboBox1.getSelectedItem());
00154                        if(index==null) return;
00155                        try {
00156                          String locn = Preferences.PreferencesInterface.getInstance().getPreference(Preferences.PreferencesInterface.INSTITUTE);
00157                          if(locn.equals(Preferences.PreferencesInterface.unDefinedString)) {
00158                           javax.swing.JOptionPane.showMessageDialog(null,"You must define your location before downloading anything... use the Preferences menu.","SCT Database Download",javax.swing.JOptionPane.INFORMATION_MESSAGE);
00159                           return;
00160                           }
00161                          dataList.reTable(GeneralUtilities.getTestList(index.intValue(),locn,testMenuNames[index.intValue()]));
00162                          jLabel2.setText(dataList.getRowCount()+" "+(String)jComboBox1.getSelectedItem()+" tests are available.");
00163                        }catch(Exception e){System.err.println("Failed to retrieve test list - "+e.toString());} 
00164                     }
00165              });
00166 
00167         jButton3.setText("Close");
00168         gridBagConstraints = new java.awt.GridBagConstraints();
00169         gridBagConstraints.gridx = 2;
00170         gridBagConstraints.gridy = 3;
00171         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00172         gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHEAST;
00173         gridBagConstraints.weighty = 0.1;
00174         getContentPane().add(jButton3, gridBagConstraints);
00175         jButton3.addActionListener(new java.awt.event.ActionListener() {
00176                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00177                      exitForm(null);
00178                      }
00179              });
00180         getContentPane().setBackground(new java.awt.Color(255, 255, 255));
00181 
00182         pack();
00183     }
00184 
00186     public void valueChanged(ListSelectionEvent e) {
00187 
00188               if (e.getValueIsAdjusting()) return;
00189 
00190               ListSelectionModel lsm = (ListSelectionModel)e.getSource();
00191  
00192         
00193               if (lsm.isSelectionEmpty()) {
00194                    jButton2.setEnabled(false);
00195                    return;
00196                    }
00197 
00198               jButton2.setEnabled(true);
00199               }
00200     
00202     private void exitForm(java.awt.event.WindowEvent evt) {
00203        setVisible(false);
00204        dispose();
00205     }
00206     
00210     public static void main(String args[]) {
00211         new DatabaseLister().show();
00212     }
00213 
00214 public void createTestMap() {
00215     testMap = new HashMap();
00216     for(int i=0;i<testNames.length;i++) {
00217              testMap.put(testMenuNames[i],new Integer(i));
00218 
00219              }
00220     }
00221 
00222 public class DataList extends javax.swing.table.AbstractTableModel {
00223     private String[] columnNames = {"Date","Test","Run","Scan"};
00224     List rows;
00225 
00226     public DataList() {
00227          rows=new ArrayList();
00228          }
00229 
00230 
00231     public void reTable(List rows) {
00232          this.rows=rows;
00233          fireTableChanged(null); // Tell the listeners a new table has arrived.
00234          return ;
00235     }
00236 
00237 
00238 
00239     //  Now the Implementation of the TableModel Interface
00240    
00241     public String getColumnName(int column) {
00242         if (columnNames[column] != null) {
00243             return columnNames[column];
00244         } else {
00245             return "";
00246         }
00247     }
00248 
00249     public Class getColumnClass(int column) {
00250             return getValueAt(0, column).getClass();
00251 
00252    }
00253 
00254     public boolean isCellEditable(int row, int column) {
00255             return false; 
00256     }
00257 
00258     public int getColumnCount() {
00259         return columnNames.length;
00260     }
00261 
00262     public int getRowCount() {
00263         return rows.size();
00264     }
00265 
00266     public Object getValueAt(int aRow, int column) {
00267 
00268         List theRow = (ArrayList)rows.get(aRow);
00269         return theRow.get(column);
00270     }
00271 
00272 
00273     public void setValueAt(Object value, int row, int column) {
00274         List dataRow = (List)rows.get(row);
00275         dataRow.set(column, value);
00276     }
00277 
00278 
00279 
00280 }
00281 
00282     
00283     
00284 
00285     
00286 }

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