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

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         SctApi 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         SctApi 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();
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         storedConfigButton = new javax.swing.JRadioButton();
00105         storedConfigButton.setBackground(new java.awt.Color(255,255,255));
00106         currentConfigButton = new javax.swing.JRadioButton();
00107         currentConfigButton.setBackground(new java.awt.Color(255,255,255));
00108         title = new javax.swing.JLabel("Configuration data for "+serialNo);
00109         title.setFont(new java.awt.Font("Arial",java.awt.Font.BOLD,16));
00110         title.setForeground(new java.awt.Color(51, 0, 153));
00111 
00112         buttonGroup1 = new javax.swing.ButtonGroup();
00113 
00114         setLayout(new java.awt.GridBagLayout());
00115 
00116         gridBagConstraints = new java.awt.GridBagConstraints();
00117         gridBagConstraints.gridx = 0;
00118         gridBagConstraints.gridy = 0;
00119         gridBagConstraints.gridwidth = 2;
00120         gridBagConstraints.insets = new java.awt.Insets(2, 0, 2, 0);
00121         gridBagConstraints.weighty = 0.1;
00122         add(title, gridBagConstraints);
00123 
00124         gridBagConstraints = new java.awt.GridBagConstraints();
00125         gridBagConstraints.gridx = 0;
00126         gridBagConstraints.gridy = 2;
00127         gridBagConstraints.gridwidth = 2;
00128         gridBagConstraints.insets = new java.awt.Insets(2, 0, 2, 0);
00129         gridBagConstraints.weighty = 0.7;
00130         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
00131         add(scrollPane, gridBagConstraints);
00132 
00133         saveConfigButton.setFont(new java.awt.Font("Arial", 0, 12));
00134         saveConfigButton.setText("Save this Configuration");
00135         gridBagConstraints = new java.awt.GridBagConstraints();
00136         gridBagConstraints.gridx = 0;
00137         gridBagConstraints.gridy = 3;
00138         gridBagConstraints.gridwidth = 2;
00139         gridBagConstraints.weighty = 0.1;
00140         add(saveConfigButton, gridBagConstraints);
00141         saveConfigButton.addActionListener(new java.awt.event.ActionListener() {
00142             public void actionPerformed(java.awt.event.ActionEvent evt) {
00143                 updateConfiguration();
00144             }
00145         });
00146 
00147         storedConfigButton.setFont(new java.awt.Font("Arial", 0, 12));
00148         storedConfigButton.setText("Stored Configuration");
00149         gridBagConstraints = new java.awt.GridBagConstraints();
00150         gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 2);
00151         gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
00152         gridBagConstraints.weightx = 0.5;
00153         gridBagConstraints.gridx = 0;
00154         gridBagConstraints.gridy = 1;
00155         add(storedConfigButton, gridBagConstraints);
00156 
00157         currentConfigButton.setFont(new java.awt.Font("Arial", 0, 12));
00158         currentConfigButton.setText("Current Configuration");
00159         gridBagConstraints = new java.awt.GridBagConstraints();
00160         gridBagConstraints.insets = new java.awt.Insets(0, 2, 0, 0);
00161         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
00162         gridBagConstraints.weightx = 0.5;
00163         gridBagConstraints.weighty = 0.1;
00164         gridBagConstraints.gridx = 1;
00165         gridBagConstraints.gridy = 1;
00166         add(currentConfigButton, gridBagConstraints);
00167 
00168         buttonGroup1.add(storedConfigButton);
00169         buttonGroup1.add(currentConfigButton);
00170         storedConfigButton.addActionListener(new java.awt.event.ActionListener() {
00171             public void actionPerformed(java.awt.event.ActionEvent evt) {
00172                 getSavedModuleConfig();
00173                 if (savedIP != null) scrollPane.setViewportView(savedIP.treeTable);
00174                 else scrollPane.setViewportView(defaultText);
00175             }
00176         });
00177         currentConfigButton.addActionListener(new java.awt.event.ActionListener() {
00178             public void actionPerformed(java.awt.event.ActionEvent evt) {
00179                 getCurrentModuleConfig();
00180                 if (currentIP != null) scrollPane.setViewportView(currentIP.treeTable);
00181                 else scrollPane.setViewportView(defaultText);
00182             }
00183         });
00184         storedConfigButton.setSelected(true);
00185         getSavedModuleConfig();
00186         if (savedIP != null) scrollPane.setViewportView(savedIP.treeTable);
00187         else scrollPane.setViewportView(defaultText);        
00188     }
00189 
00190 
00191     
00192     // Variables declaration - do not modify//GEN-BEGIN:variables
00193     // End of variables declaration//GEN-END:variables
00194     private String serialNo;
00195     private ModuleConfiguration currentModuleConfig;
00196     private InspectorPanel currentIP;
00197     private ModuleConfiguration savedModuleConfig;
00198     private InspectorPanel savedIP;
00199     private javax.swing.ButtonGroup buttonGroup1;
00200     private javax.swing.JRadioButton currentConfigButton;
00201     private javax.swing.JButton saveConfigButton;
00202     private javax.swing.JScrollPane scrollPane;
00203     private javax.swing.JRadioButton storedConfigButton;
00204     private javax.swing.JTextArea defaultText;
00205     private javax.swing.JLabel title;
00206 }

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