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 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
00193
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 }