1 19 24 25 package org.netbeans.modules.j2ee.sun.share.configbean.customizers.webapp; 26 27 import java.util.ArrayList ; 28 import java.util.ResourceBundle ; 29 30 import java.awt.GridBagConstraints ; 31 import java.awt.Insets ; 32 import java.beans.PropertyVetoException ; 33 34 import javax.swing.event.TableModelEvent ; 35 import javax.swing.event.TableModelListener ; 36 37 import org.netbeans.modules.j2ee.sun.dd.api.web.WebProperty; 38 39 import org.netbeans.modules.j2ee.sun.share.configbean.Utils; 40 import org.netbeans.modules.j2ee.sun.share.configbean.WebAppRoot; 41 import org.netbeans.modules.j2ee.sun.share.configbean.WebAppCache; 42 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.GenericTableModel; 43 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.GenericTablePanel; 44 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.HelpContext; 45 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.data.DynamicPropertyPanel; 46 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.data.PropertyListMapping; 47 48 52 public class CacheGeneralPanel extends javax.swing.JPanel implements TableModelListener { 53 54 private static final ResourceBundle webappBundle = ResourceBundle.getBundle( 55 "org.netbeans.modules.j2ee.sun.share.configbean.customizers.webapp.Bundle"); 57 private static final ResourceBundle commonBundle = ResourceBundle.getBundle( 58 "org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.Bundle"); 60 private WebAppRootCustomizer masterPanel; 61 62 private GenericTableModel propertiesModel; 64 private GenericTablePanel propertiesPanel; 65 66 67 public CacheGeneralPanel(WebAppRootCustomizer src) { 68 masterPanel = src; 69 70 initComponents(); 71 initUserComponents(); 72 } 73 74 79 private void initComponents() { 81 java.awt.GridBagConstraints gridBagConstraints; 82 83 jPnlCacheGeneral = new javax.swing.JPanel (); 84 jLblCacheSettings = new javax.swing.JLabel (); 85 jChkCacheEnabled = new javax.swing.JCheckBox (); 86 jLblMaxEntries = new javax.swing.JLabel (); 87 jTxtMaxEntries = new javax.swing.JTextField (); 88 jLblTimeout = new javax.swing.JLabel (); 89 jTxtTimeout = new javax.swing.JTextField (); 90 91 setLayout(new java.awt.GridBagLayout ()); 92 93 getAccessibleContext().setAccessibleName(webappBundle.getString("ACSN_CacheGeneralTab")); 94 getAccessibleContext().setAccessibleDescription(webappBundle.getString("ACSD_CacheGeneralTab")); 95 jPnlCacheGeneral.setLayout(new java.awt.GridBagLayout ()); 96 97 jLblCacheSettings.setText(webappBundle.getString("LBL_CacheSettings")); 98 gridBagConstraints = new java.awt.GridBagConstraints (); 99 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 100 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 101 gridBagConstraints.weightx = 1.0; 102 gridBagConstraints.insets = new java.awt.Insets (6, 6, 0, 0); 103 jPnlCacheGeneral.add(jLblCacheSettings, gridBagConstraints); 104 105 jChkCacheEnabled.setText(webappBundle.getString("LBL_CacheEnabled")); 106 jChkCacheEnabled.addItemListener(new java.awt.event.ItemListener () { 107 public void itemStateChanged(java.awt.event.ItemEvent evt) { 108 jChkCacheEnabledItemStateChanged(evt); 109 } 110 }); 111 112 gridBagConstraints = new java.awt.GridBagConstraints (); 113 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 114 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 115 gridBagConstraints.insets = new java.awt.Insets (6, 2, 0, 0); 116 jPnlCacheGeneral.add(jChkCacheEnabled, gridBagConstraints); 117 jChkCacheEnabled.getAccessibleContext().setAccessibleName(webappBundle.getString("ACSN_CacheEnabled")); 118 jChkCacheEnabled.getAccessibleContext().setAccessibleDescription(webappBundle.getString("ACSD_CacheEnabled")); 119 120 jLblMaxEntries.setLabelFor(jTxtMaxEntries); 121 jLblMaxEntries.setText(webappBundle.getString("LBL_MaximumEntries_1")); 122 gridBagConstraints = new java.awt.GridBagConstraints (); 123 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 124 gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; 125 gridBagConstraints.insets = new java.awt.Insets (6, 6, 0, 0); 126 jPnlCacheGeneral.add(jLblMaxEntries, gridBagConstraints); 127 128 jTxtMaxEntries.addKeyListener(new java.awt.event.KeyAdapter () { 129 public void keyReleased(java.awt.event.KeyEvent evt) { 130 jTxtMaxEntriesKeyReleased(evt); 131 } 132 }); 133 134 gridBagConstraints = new java.awt.GridBagConstraints (); 135 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 136 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 137 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 138 gridBagConstraints.weightx = 0.5; 139 gridBagConstraints.insets = new java.awt.Insets (6, 6, 0, 5); 140 jPnlCacheGeneral.add(jTxtMaxEntries, gridBagConstraints); 141 jTxtMaxEntries.getAccessibleContext().setAccessibleName(webappBundle.getString("ACSN_MaximumEntries")); 142 jTxtMaxEntries.getAccessibleContext().setAccessibleDescription(webappBundle.getString("ACSD_MaximumEntries")); 143 144 jLblTimeout.setLabelFor(jTxtTimeout); 145 jLblTimeout.setText(webappBundle.getString("LBL_Timeout_1")); 146 gridBagConstraints = new java.awt.GridBagConstraints (); 147 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 148 gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; 149 gridBagConstraints.insets = new java.awt.Insets (6, 6, 5, 0); 150 jPnlCacheGeneral.add(jLblTimeout, gridBagConstraints); 151 152 jTxtTimeout.addKeyListener(new java.awt.event.KeyAdapter () { 153 public void keyReleased(java.awt.event.KeyEvent evt) { 154 jTxtTimeoutKeyReleased(evt); 155 } 156 }); 157 158 gridBagConstraints = new java.awt.GridBagConstraints (); 159 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 160 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 161 gridBagConstraints.weightx = 0.5; 162 gridBagConstraints.insets = new java.awt.Insets (6, 6, 5, 5); 163 jPnlCacheGeneral.add(jTxtTimeout, gridBagConstraints); 164 jTxtTimeout.getAccessibleContext().setAccessibleName(webappBundle.getString("ACSN_Timeout")); 165 jTxtTimeout.getAccessibleContext().setAccessibleDescription(webappBundle.getString("ACSD_Timeout")); 166 167 gridBagConstraints = new java.awt.GridBagConstraints (); 168 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 169 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 170 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; 171 gridBagConstraints.weightx = 1.0; 172 add(jPnlCacheGeneral, gridBagConstraints); 173 174 } 176 private void jChkCacheEnabledItemStateChanged(java.awt.event.ItemEvent evt) { WebAppRoot bean = masterPanel.getBean(); 179 if(bean != null) { 180 WebAppCache cacheBean = bean.getCacheBean(); 181 try { 182 boolean state = Utils.interpretCheckboxState(evt); 183 cacheBean.setCacheEnabled(Boolean.toString(state)); 184 } catch(PropertyVetoException ex) { 185 jChkCacheEnabled.setSelected(Utils.booleanValueOf(cacheBean.getCacheEnabled())); 186 } 187 } 188 } 190 private void jTxtMaxEntriesKeyReleased(java.awt.event.KeyEvent evt) { WebAppRoot bean = masterPanel.getBean(); 193 if(bean != null) { 194 WebAppCache cacheBean = bean.getCacheBean(); 195 try { 196 cacheBean.setCacheMaxEntries(jTxtMaxEntries.getText()); 197 cacheBean.validateField(WebAppCache.FIELD_CACHE_MAX_ENTRIES); 198 } catch(PropertyVetoException ex) { 199 jTxtMaxEntries.setText(cacheBean.getCacheMaxEntries()); 200 } 201 } 202 } 204 private void jTxtTimeoutKeyReleased(java.awt.event.KeyEvent evt) { WebAppRoot bean = masterPanel.getBean(); 207 if(bean != null) { 208 WebAppCache cacheBean = bean.getCacheBean(); 209 try { 210 cacheBean.setTimeoutInSeconds(jTxtTimeout.getText()); 211 cacheBean.validateField(WebAppCache.FIELD_CACHE_TIMEOUT); 212 } catch(PropertyVetoException ex) { 213 jTxtTimeout.setText(cacheBean.getTimeoutInSeconds()); 214 } 215 } 216 } 218 private javax.swing.JCheckBox jChkCacheEnabled; 220 private javax.swing.JLabel jLblCacheSettings; 221 private javax.swing.JLabel jLblMaxEntries; 222 private javax.swing.JLabel jLblTimeout; 223 private javax.swing.JPanel jPnlCacheGeneral; 224 private javax.swing.JTextField jTxtMaxEntries; 225 private javax.swing.JTextField jTxtTimeout; 226 228 private void initUserComponents() { 229 232 ArrayList tableColumns = new ArrayList (3); 233 tableColumns.add(new GenericTableModel.AttributeEntry( 234 WebProperty.NAME, commonBundle.getString("LBL_Name"), true)); tableColumns.add(new GenericTableModel.AttributeEntry( 236 WebProperty.VALUE, commonBundle.getString("LBL_Value"), true)); tableColumns.add(new GenericTableModel.ValueEntry( 238 WebProperty.DESCRIPTION, commonBundle.getString("LBL_Description"))); 240 propertiesModel = new GenericTableModel(WebAppRootCustomizer.webPropertyFactory, tableColumns); 242 propertiesPanel = new GenericTablePanel(propertiesModel, 243 webappBundle, "CacheProperties", DynamicPropertyPanel.class, HelpContext.HELP_CACHE_PROPERTY_POPUP, 245 PropertyListMapping.getPropertyList(PropertyListMapping.CACHE_PROPERTIES)); 246 247 GridBagConstraints gridBagConstraints = new GridBagConstraints (); 248 gridBagConstraints.gridwidth = GridBagConstraints.REMAINDER; 249 gridBagConstraints.fill = GridBagConstraints.BOTH; 250 gridBagConstraints.weightx = 1.0; 251 gridBagConstraints.weighty = 1.0; 252 gridBagConstraints.insets = new Insets (0, 6, 0, 5); 253 add(propertiesPanel, gridBagConstraints); 254 } 255 256 public void addListeners() { 257 propertiesModel.addTableModelListener(this); 258 } 259 260 public void removeListeners() { 261 propertiesModel.removeTableModelListener(this); 262 } 263 264 267 public void initFields(WebAppCache cacheBean) { 268 jTxtMaxEntries.setText(cacheBean.getCacheMaxEntries()); 269 jTxtTimeout.setText(cacheBean.getTimeoutInSeconds()); 270 jChkCacheEnabled.setSelected(Utils.booleanValueOf(cacheBean.getCacheEnabled())); 271 272 propertiesPanel.setModel(cacheBean.getProperties(), cacheBean.getParent().getAppServerVersion()); 273 } 274 275 278 public void tableChanged(TableModelEvent e) { 279 WebAppRoot bean = masterPanel.getBean(); 280 if(bean != null) { 281 WebAppCache cacheBean = bean.getCacheBean(); 282 try { 283 cacheBean.setProperties(propertiesModel.getData()); 284 285 bean.setDirty(); 287 } catch(PropertyVetoException ex) { 288 290 } 291 } 292 } 293 } 294 | Popular Tags |