00001
00002
00003
00004
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
00208
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 }