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.awt.event.ItemEvent ; 33 import java.beans.PropertyChangeEvent ; 34 import java.beans.PropertyChangeListener ; 35 import java.beans.PropertyVetoException ; 36 37 import javax.swing.event.TableModelEvent ; 38 import javax.swing.event.TableModelListener ; 39 40 import org.netbeans.modules.j2ee.sun.dd.api.web.JspConfig; 41 import org.netbeans.modules.j2ee.sun.dd.api.web.SunWebApp; 42 import org.netbeans.modules.j2ee.sun.dd.api.web.WebProperty; 43 import org.netbeans.modules.j2ee.sun.share.configbean.ASDDVersion; 44 45 import org.netbeans.modules.j2ee.sun.share.configbean.WebAppRoot; 46 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.BaseCustomizer; 47 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.GenericTableModel; 48 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.GenericTablePanel; 49 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.HelpContext; 50 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.data.DynamicPropertyPanel; 51 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.data.PropertyListMapping; 52 53 54 58 public class WebAppGeneralPanel extends javax.swing.JPanel implements TableModelListener { 59 60 private static final ResourceBundle webappBundle = ResourceBundle.getBundle( 61 "org.netbeans.modules.j2ee.sun.share.configbean.customizers.webapp.Bundle"); 63 private static final ResourceBundle commonBundle = ResourceBundle.getBundle( 64 "org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.Bundle"); 66 private WebAppRootCustomizer masterPanel; 67 68 private GenericTableModel jspConfigModel; 70 private GenericTablePanel jspConfigPanel; 71 72 private GenericTableModel propertiesModel; 74 private GenericTablePanel propertiesPanel; 75 76 private boolean as81FeaturesVisible; 78 79 private boolean as90FeaturesVisible; 81 82 83 public WebAppGeneralPanel(WebAppRootCustomizer src) { 84 masterPanel = src; 85 86 initComponents(); 87 initUserComponents(); 88 } 89 90 95 private void initComponents() { 97 java.awt.GridBagConstraints gridBagConstraints; 98 99 jLblContextRoot = new javax.swing.JLabel (); 100 jTxtContextRoot = new javax.swing.JTextField (); 101 jLblErrorUrl = new javax.swing.JLabel (); 102 jTxtErrorUrl = new javax.swing.JTextField (); 103 jLblHttpservletSecurityProvider = new javax.swing.JLabel (); 104 jTxtHttpservletSecurityProvider = new javax.swing.JTextField (); 105 106 setLayout(new java.awt.GridBagLayout ()); 107 108 getAccessibleContext().setAccessibleName(webappBundle.getString("ACSN_WebAppGeneralTab")); 109 getAccessibleContext().setAccessibleDescription(webappBundle.getString("ACSD_WebAppGeneralTab")); 110 jLblContextRoot.setLabelFor(jTxtContextRoot); 111 jLblContextRoot.setText(webappBundle.getString("LBL_ContextRoot_1")); 112 gridBagConstraints = new java.awt.GridBagConstraints (); 113 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 114 gridBagConstraints.ipady = 4; 115 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 116 gridBagConstraints.insets = new java.awt.Insets (6, 6, 0, 0); 117 add(jLblContextRoot, gridBagConstraints); 118 119 jTxtContextRoot.addKeyListener(new java.awt.event.KeyAdapter () { 120 public void keyReleased(java.awt.event.KeyEvent evt) { 121 jTxtContextRootKeyReleased(evt); 122 } 123 }); 124 125 gridBagConstraints = new java.awt.GridBagConstraints (); 126 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 127 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 128 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; 129 gridBagConstraints.weightx = 1.0; 130 gridBagConstraints.insets = new java.awt.Insets (6, 6, 0, 5); 131 add(jTxtContextRoot, gridBagConstraints); 132 jTxtContextRoot.getAccessibleContext().setAccessibleName(webappBundle.getString("ACSN_ContextRoot")); 133 jTxtContextRoot.getAccessibleContext().setAccessibleDescription(webappBundle.getString("ACSD_ContextRoot")); 134 135 jLblErrorUrl.setLabelFor(jTxtErrorUrl); 136 jLblErrorUrl.setText(webappBundle.getString("LBL_ErrorUrl_1")); 137 gridBagConstraints = new java.awt.GridBagConstraints (); 138 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 139 gridBagConstraints.ipady = 4; 140 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 141 gridBagConstraints.insets = new java.awt.Insets (6, 6, 0, 0); 142 add(jLblErrorUrl, gridBagConstraints); 143 144 jTxtErrorUrl.addKeyListener(new java.awt.event.KeyAdapter () { 145 public void keyReleased(java.awt.event.KeyEvent evt) { 146 jTxtErrorUrlKeyReleased(evt); 147 } 148 }); 149 150 gridBagConstraints = new java.awt.GridBagConstraints (); 151 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 152 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 153 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; 154 gridBagConstraints.weightx = 1.0; 155 gridBagConstraints.insets = new java.awt.Insets (6, 6, 0, 5); 156 add(jTxtErrorUrl, gridBagConstraints); 157 158 jLblHttpservletSecurityProvider.setLabelFor(jTxtHttpservletSecurityProvider); 159 jLblHttpservletSecurityProvider.setText(webappBundle.getString("LBL_HttpservletSecurityProvider_1")); 160 gridBagConstraints = new java.awt.GridBagConstraints (); 161 gridBagConstraints.gridwidth = 2; 162 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 163 gridBagConstraints.insets = new java.awt.Insets (6, 6, 5, 0); 164 add(jLblHttpservletSecurityProvider, gridBagConstraints); 165 166 jTxtHttpservletSecurityProvider.addKeyListener(new java.awt.event.KeyAdapter () { 167 public void keyReleased(java.awt.event.KeyEvent evt) { 168 jTxtHttpservletSecurityProviderKeyReleased(evt); 169 } 170 }); 171 172 gridBagConstraints = new java.awt.GridBagConstraints (); 173 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 174 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 175 gridBagConstraints.insets = new java.awt.Insets (6, 6, 5, 5); 176 add(jTxtHttpservletSecurityProvider, gridBagConstraints); 177 178 } 180 private void jTxtHttpservletSecurityProviderKeyReleased(java.awt.event.KeyEvent evt) { WebAppRoot bean = masterPanel.getBean(); 182 if(bean != null) { 183 try { 184 bean.setHttpservletSecurityProvider(jTxtHttpservletSecurityProvider.getText()); 185 } catch(java.beans.PropertyVetoException exception) { 187 jTxtHttpservletSecurityProvider.setText(bean.getHttpservletSecurityProvider()); 188 } 189 } 190 } 192 private void jTxtErrorUrlKeyReleased(java.awt.event.KeyEvent evt) { WebAppRoot bean = masterPanel.getBean(); 194 if(bean != null) { 195 try { 196 bean.setErrorUrl(jTxtErrorUrl.getText()); 197 } catch(java.beans.PropertyVetoException exception) { 199 jTxtErrorUrl.setText(bean.getErrorUrl()); 200 } 201 } 202 } 204 private void jTxtContextRootKeyReleased(java.awt.event.KeyEvent evt) { WebAppRoot bean = masterPanel.getBean(); 206 if(bean != null) { 207 try { 208 bean.setContextRoot(jTxtContextRoot.getText()); 209 } catch(java.beans.PropertyVetoException exception) { 211 jTxtContextRoot.setText(bean.getContextRoot()); 212 } 213 } 214 } 216 217 private javax.swing.JLabel jLblContextRoot; 219 private javax.swing.JLabel jLblErrorUrl; 220 private javax.swing.JLabel jLblHttpservletSecurityProvider; 221 private javax.swing.JTextField jTxtContextRoot; 222 private javax.swing.JTextField jTxtErrorUrl; 223 private javax.swing.JTextField jTxtHttpservletSecurityProvider; 224 226 private void initUserComponents() { 227 228 as81FeaturesVisible = true; 229 as90FeaturesVisible = true; 230 231 234 ArrayList tableColumns = new ArrayList (3); 235 tableColumns.add(new GenericTableModel.AttributeEntry( 236 WebProperty.NAME, commonBundle.getString("LBL_Name"), true)); tableColumns.add(new GenericTableModel.AttributeEntry( 238 WebProperty.VALUE, commonBundle.getString("LBL_Value"), true)); tableColumns.add(new GenericTableModel.ValueEntry( 240 WebProperty.DESCRIPTION, commonBundle.getString("LBL_Description"))); 242 jspConfigModel = new GenericTableModel(JspConfig.PROPERTY, WebAppRootCustomizer.webPropertyFactory, tableColumns); 244 jspConfigPanel = new GenericTablePanel(jspConfigModel, 245 webappBundle, "JspConfigProperties", DynamicPropertyPanel.class, HelpContext.HELP_WEBAPP_JSPCONFIG_POPUP, 247 PropertyListMapping.getPropertyList(PropertyListMapping.WEBAPP_JSPCONFIG_PROPERTIES)); 248 249 GridBagConstraints gridBagConstraints = new GridBagConstraints (); 250 gridBagConstraints.gridwidth = GridBagConstraints.REMAINDER; 251 gridBagConstraints.fill = GridBagConstraints.BOTH; 252 gridBagConstraints.weightx = 1.0; 253 gridBagConstraints.weighty = 1.0; 254 gridBagConstraints.insets = new Insets (0, 6, 0, 5); 255 add(jspConfigPanel, gridBagConstraints); 256 257 propertiesModel = new GenericTableModel(WebAppRootCustomizer.webPropertyFactory, tableColumns); 259 propertiesPanel = new GenericTablePanel(propertiesModel, 260 webappBundle, "WebProperties", DynamicPropertyPanel.class, HelpContext.HELP_WEBAPP_PROPERTY_POPUP, 262 PropertyListMapping.getPropertyList(PropertyListMapping.WEBAPP_PROPERTIES)); 263 264 gridBagConstraints = new GridBagConstraints (); 265 gridBagConstraints.gridwidth = GridBagConstraints.REMAINDER; 266 gridBagConstraints.fill = GridBagConstraints.BOTH; 267 gridBagConstraints.weightx = 1.0; 268 gridBagConstraints.weighty = 1.0; 269 gridBagConstraints.insets = new Insets (0, 6, 0, 5); 270 add(propertiesPanel, gridBagConstraints); 271 } 272 273 public void addListeners() { 274 jspConfigModel.addTableModelListener(this); 275 propertiesModel.addTableModelListener(this); 276 } 277 278 public void removeListeners() { 279 propertiesModel.removeTableModelListener(this); 280 jspConfigModel.removeTableModelListener(this); 281 } 282 283 286 public void initFields(WebAppRoot bean) { 287 ASDDVersion asVersion = bean.getAppServerVersion(); 288 289 jspConfigPanel.setModel(bean.getJspConfig(), asVersion); 290 propertiesPanel.setModel(bean.getProperties(), asVersion); 291 292 if(ASDDVersion.SUN_APPSERVER_8_1.compareTo(bean.getAppServerVersion()) <= 0) { 293 showAS81Fields(); 294 jTxtContextRoot.setText(bean.getContextRoot()); 295 jTxtErrorUrl.setText(bean.getErrorUrl()); 296 } else { 297 hideAS81Fields(); 298 } 299 300 if(ASDDVersion.SUN_APPSERVER_9_0.compareTo(bean.getAppServerVersion()) <= 0) { 301 showAS90Fields(); 302 jTxtHttpservletSecurityProvider.setText(bean.getHttpservletSecurityProvider()); 303 } else { 304 hideAS90Fields(); 305 } 306 307 } 308 309 private void showAS81Fields() { 318 if(!as81FeaturesVisible) { 319 jLblContextRoot.setVisible(true); 320 jTxtContextRoot.setVisible(true); 321 jLblErrorUrl.setVisible(true); 322 jTxtErrorUrl.setVisible(true); 323 324 as81FeaturesVisible = true; 325 } 326 } 327 328 private void hideAS81Fields() { 329 if(as81FeaturesVisible) { 330 jLblContextRoot.setVisible(false); 331 jTxtContextRoot.setVisible(false); 332 jLblErrorUrl.setVisible(false); 333 jTxtErrorUrl.setVisible(false); 334 335 as81FeaturesVisible = false; 336 } 337 } 338 339 private void showAS90Fields() { 340 if(!as90FeaturesVisible) { 341 jLblHttpservletSecurityProvider.setVisible(true); 342 jTxtHttpservletSecurityProvider.setVisible(true); 343 344 as90FeaturesVisible = true; 345 } 346 } 347 348 private void hideAS90Fields() { 349 if(as90FeaturesVisible) { 350 jLblHttpservletSecurityProvider.setVisible(false); 351 jTxtHttpservletSecurityProvider.setVisible(false); 352 353 as90FeaturesVisible = false; 354 } 355 } 356 357 360 public void tableChanged(TableModelEvent e) { 361 WebAppRoot bean = masterPanel.getBean(); 362 if(bean != null) { 363 try { 364 Object eventSource = e.getSource(); 365 if(eventSource == jspConfigModel) { 366 } else if(eventSource == propertiesModel) { 373 bean.setProperties(propertiesModel.getData()); 374 } 375 376 bean.setDirty(); 378 } catch(PropertyVetoException ex) { 379 } 381 } 382 } 383 } 384 | Popular Tags |