ModuleConfigurationPanel.java

00001 /*
00002  * ModuleConfigurationPanel.java
00003  *
00004  * Created on 07 November 2003, 10:45
00005  */
00006 package GuiComponents.Panels;
00007 
00008 import SctData.*;
00009 import Sct.File.ObjectManagerFile;
00010 import Sct.*;
00011 import GuiComponents.System.SystemInterface;
00012 import GuiComponents.Inspector.*;
00013 import java.util.logging.*;
00014 import javax.swing.*;
00015 import sctConf.*;
00016 import Sct_SctApi.*;
00017 
00022 public class ModuleConfigurationPanel extends javax.swing.JPanel {
00023     
00027     public ModuleConfigurationPanel(String serialNo) {
00028         this.serialNo = serialNo;
00029         initComponents();
00030     }
00031     
00032     
00033    
00034     private void getCurrentModuleConfig() {
00035         if (currentModuleConfig != null && currentIP != null) return;
00036         SctApiIPC api = SystemInterface.getInstance().getSctApi();
00037         if (api == null) {
00038             Logger.getLogger("TestGUI").info("ModuleConfigurationPanel unable to get SctApi - so no data!");
00039             return;
00040         }
00041         try {
00042             int mid = api.findModuleSerial(serialNo);
00043             ABCDModule data = api.retrieveModule(mid);
00044             currentModuleConfig = new ModuleConfiguration(data);
00045             currentIP = new InspectorPanel("Module Configuration " + serialNo, new SerializableWrapper(currentModuleConfig, serialNo, "ModuleConfiguration"));
00046         } catch (Exception ce) {
00047             Logger.getLogger("TestGUI").info("ConfigurationException whilst ModuleConfigurationPanel getting saved Module Configuration: " + ce.getMessage());
00048             return;
00049         }
00050     }
00051 
00052     private void getSavedModuleConfig() {
00053         if (savedModuleConfig != null && savedIP != null) return;
00054         Configuration config = SystemInterface.getInstance().getConfigurationService();
00055         if (config == null) {
00056             Logger.getLogger("TestGUI").info("ModuleConfigurationPanel unable to get ConfigurationService - so no data!");
00057             return;
00058         }
00059         try {
00060             ABCDModule data = config.getModuleConfig(serialNo);
00061             savedModuleConfig = new ModuleConfiguration(data);
00062             savedIP = new InspectorPanel("Module Configuration " + serialNo, new SerializableWrapper(savedModuleConfig, serialNo, "ModuleConfiguration"));          
00063         } catch (sctConf.ConfigurationException ce) {
00064             Logger.getLogger("TestGUI").info("ConfigurationException whilst ModuleConfigurationPanel getting current Module Configuration: " + ce.getMessage());
00065             return;
00066         }
00067     }
00068     
00069     private void updateConfiguration() {
00070         int ret = JOptionPane.showConfirmDialog(this, "This will update the configuration for all modules but it is NOT persistent.\nAre you sure?", "Configuration Update", JOptionPane.YES_NO_OPTION);
00071         if (ret != JOptionPane.YES_OPTION) return;
00072         SctApiIPC api = SystemInterface.getInstance().getSctApi();
00073         if (api == null) {
00074             Logger.getLogger("TestGUI").info("ModuleConfigurationPanel unable to get SctApi - so no data!");
00075             return;
00076         }
00077         try {
00078             api.storeModuleConfigurations(Sct_SctApi.BankType.CALIBRATION_CONFIG);
00079         } catch (Exception ce) {
00080             Logger.getLogger("TestGUI").info("ConfigurationException whilst ModuleConfigurationPanel getting saved Module Configuration: " + ce.getMessage());
00081             return;
00082         }
00083     }
00084     
00085     
00086     
00092     private void initComponents() {
00093         
00094         setBackground(new java.awt.Color(255, 255, 255));
00095 
00096         java.awt.GridBagConstraints gridBagConstraints;
00097 
00098         defaultText = new JTextArea("Configuration data not available");
00099         defaultText.setMinimumSize(new java.awt.Dimension(500, 400));
00100         defaultText.setPreferredSize(new java.awt.Dimension(600, 600));
00101 
00102         scrollPane = new javax.swing.JScrollPane(defaultText);
00103         saveConfigButton = new javax.swing.JButton();
00104         saveAllConfigButton = new javax.swing.JButton();
00105         storedConfigButton = new javax.swing.JRadioButton();
00106         storedConfigButton.setBackground(new java.awt.Color(255,255,255));
00107         currentConfigButton = new javax.swing.JRadioButton();
00108         currentConfigButton.setBackground(new java.awt.Color(255,255,255));
00109         title = new javax.swing.JLabel("Configuration data for "+serialNo);
00110         title.setFont(new java.awt.Font("Arial",java.awt.Font.BOLD,16));
00111         title.setForeground(new java.awt.Color(51, 0, 153));
00112 
00113         buttonGroup1 = new javax.swing.ButtonGroup();
00114 
00115         setLayout(new java.awt.GridBagLayout());
00116 
00117         gridBagConstraints = new java.awt.GridBagConstraints();
00118         gridBagConstraints.gridx = 0;
00119         gridBagConstraints.gridy = 0;
00120         gridBagConstraints.gridwidth = 2;
00121         gridBagConstraints.insets = new java.awt.Insets(2, 0, 2, 0);
00122         gridBagConstraints.weighty = 0.1;
00123         add(title, gridBagConstraints);
00124 
00125         gridBagConstraints = new java.awt.GridBagConstraints();
00126         gridBagConstraints.gridx = 0;
00127         gridBagConstraints.gridy = 2;
00128         gridBagConstraints.gridwidth = 2;
00129         gridBagConstraints.insets = new java.awt.Insets(2, 0, 2, 0);
00130         gridBagConstraints.weighty = 0.7;
00131         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
00132         add(scrollPane, gridBagConstraints);
00133 
00134         saveAllConfigButton.setFont(new java.awt.Font("Arial", 0, 12));
00135         saveAllConfigButton.setText("Copy all SctApi configurations to server");
00136         gridBagConstraints = new java.awt.GridBagConstraints();
00137         gridBagConstraints.gridx = 0;
00138         gridBagConstraints.gridy = 3;
00139         gridBagConstraints.gridwidth = 2;
00140         gridBagConstraints.weighty = 0.1;
00141         add(saveAllConfigButton, gridBagConstraints);
00142         saveAllConfigButton.addActionListener(new java.awt.event.ActionListener() {
00143             public void actionPerformed(java.awt.event.ActionEvent evt) {
00144                 updateConfiguration();
00145             }
00146         });
00147 
00148         saveConfigButton.setFont(new java.awt.Font("Arial", 0, 12));
00149         saveConfigButton.setText("Copy SctApi configuration to server");
00150         gridBagConstraints = new java.awt.GridBagConstraints();
00151         gridBagConstraints.gridx = 0;
00152         gridBagConstraints.gridy = 3;
00153         gridBagConstraints.gridwidth = 2;
00154         gridBagConstraints.weighty = 0.1;
00155         add(saveConfigButton, gridBagConstraints);
00156         saveConfigButton.addActionListener(new java.awt.event.ActionListener() {
00157             public void actionPerformed(java.awt.event.ActionEvent evt) {
00158                 updateConfiguration();
00159             }
00160         });
00161 
00162         storedConfigButton.setFont(new java.awt.Font("Arial", 0, 12));
00163         storedConfigButton.setText("Configuration in server");
00164         gridBagConstraints = new java.awt.GridBagConstraints();
00165         gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 2);
00166         gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
00167         gridBagConstraints.weightx = 0.5;
00168         gridBagConstraints.gridx = 0;
00169         gridBagConstraints.gridy = 1;
00170         add(storedConfigButton, gridBagConstraints);
00171 
00172         currentConfigButton.setFont(new java.awt.Font("Arial", 0, 12));
00173         currentConfigButton.setText("Configuration in SctApi");
00174         gridBagConstraints = new java.awt.GridBagConstraints();
00175         gridBagConstraints.insets = new java.awt.Insets(0, 2, 0, 0);
00176         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
00177         gridBagConstraints.weightx = 0.5;
00178         gridBagConstraints.weighty = 0.1;
00179         gridBagConstraints.gridx = 1;
00180         gridBagConstraints.gridy = 1;
00181         add(currentConfigButton, gridBagConstraints);
00182 
00183         buttonGroup1.add(storedConfigButton);
00184         buttonGroup1.add(currentConfigButton);
00185         storedConfigButton.addActionListener(new java.awt.event.ActionListener() {
00186             public void actionPerformed(java.awt.event.ActionEvent evt) {
00187                 getSavedModuleConfig();
00188                 if (savedIP != null) scrollPane.setViewportView(savedIP.treeTable);
00189                 else scrollPane.setViewportView(defaultText);
00190             }
00191         });
00192         currentConfigButton.addActionListener(new java.awt.event.ActionListener() {
00193             public void actionPerformed(java.awt.event.ActionEvent evt) {
00194                 getCurrentModuleConfig();
00195                 if (currentIP != null) scrollPane.setViewportView(currentIP.treeTable);
00196                 else scrollPane.setViewportView(defaultText);
00197             }
00198         });
00199         storedConfigButton.setSelected(true);
00200         getSavedModuleConfig();
00201         if (savedIP != null) scrollPane.setViewportView(savedIP.treeTable);
00202         else scrollPane.setViewportView(defaultText);        
00203     }
00204 
00205 
00206     
00207     // Variables declaration - do not modify//GEN-BEGIN:variables
00208     // End of variables declaration//GEN-END:variables
00209     private String serialNo;
00210     private ModuleConfiguration currentModuleConfig;
00211     private InspectorPanel currentIP;
00212     private ModuleConfiguration savedModuleConfig;
00213     private InspectorPanel savedIP;
00214     private javax.swing.ButtonGroup buttonGroup1;
00215     private javax.swing.JRadioButton currentConfigButton;
00216     private javax.swing.JButton saveAllConfigButton;
00217     private javax.swing.JButton saveConfigButton;
00218     private javax.swing.JScrollPane scrollPane;
00219     private javax.swing.JRadioButton storedConfigButton;
00220     private javax.swing.JTextArea defaultText;
00221     private javax.swing.JLabel title;
00222 }

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