1 19 24 25 package org.netbeans.modules.j2ee.sun.share.configbean.customizers; 26 import java.util.ResourceBundle ; 27 import java.beans.PropertyChangeEvent ; 28 import java.beans.PropertyChangeListener ; 29 30 import java.awt.GridBagConstraints ; 31 import java.awt.Insets ; 32 import javax.swing.JPanel ; 33 import javax.swing.JLabel ; 34 import org.netbeans.modules.j2ee.sun.share.configbean.ASDDVersion; 35 36 import org.netbeans.modules.j2ee.sun.share.configbean.ServletRef; 37 import org.netbeans.modules.j2ee.sun.share.configbean.ServletVersion; 38 import org.netbeans.modules.j2ee.sun.share.configbean.Utils; 39 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.BaseCustomizer; 40 41 42 46 public class ServletRefCustomizer extends BaseCustomizer implements 47 PropertyChangeListener { 48 49 private static final ResourceBundle customizerBundle = ResourceBundle.getBundle( 50 "org.netbeans.modules.j2ee.sun.share.configbean.customizers.Bundle"); 52 private ServletRef theBean; 53 private boolean servlet24FeaturesVisible; 54 55 private boolean as90FeaturesVisible; 57 58 59 public ServletRefCustomizer() { 60 initComponents(); 61 initUserComponents(); 62 } 63 64 69 private void initComponents() { 71 java.awt.GridBagConstraints gridBagConstraints; 72 73 jPanel1 = new javax.swing.JPanel (); 74 jLblName = new javax.swing.JLabel (); 75 jTxtName = new javax.swing.JTextField (); 76 jLblRoleUsageDescription = new javax.swing.JLabel (); 77 jLblRunAsRoleName = new javax.swing.JLabel (); 78 jTxtRunAsRoleName = new javax.swing.JTextField (); 79 jLblPrincipalName = new javax.swing.JLabel (); 80 jTxtPrincipalName = new javax.swing.JTextField (); 81 jLblClassNameUsageDesc = new javax.swing.JLabel (); 82 jLblClassName = new javax.swing.JLabel (); 83 jTxtClassName = new javax.swing.JTextField (); 84 jLblEndpointHelp = new javax.swing.JLabel (); 85 jPnlFiller = new javax.swing.JPanel (); 86 87 setLayout(new java.awt.GridBagLayout ()); 88 89 jPanel1.setLayout(new java.awt.GridBagLayout ()); 90 91 jLblName.setLabelFor(jTxtName); 92 jLblName.setText(customizerBundle.getString("LBL_ServletName_1")); 93 gridBagConstraints = new java.awt.GridBagConstraints (); 94 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 95 gridBagConstraints.ipady = 4; 96 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 97 jPanel1.add(jLblName, gridBagConstraints); 98 99 jTxtName.setEditable(false); 100 gridBagConstraints = new java.awt.GridBagConstraints (); 101 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 102 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 103 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; 104 gridBagConstraints.insets = new java.awt.Insets (0, 6, 0, 0); 105 jPanel1.add(jTxtName, gridBagConstraints); 106 jTxtName.getAccessibleContext().setAccessibleName(customizerBundle.getString("ACSN_ServletName")); 107 jTxtName.getAccessibleContext().setAccessibleDescription(customizerBundle.getString("ACSD_ServletName")); 108 109 jLblRoleUsageDescription.setLabelFor(jTxtPrincipalName); 110 jLblRoleUsageDescription.setText(customizerBundle.getString("LBL_ServletRunAsDescription")); 111 gridBagConstraints = new java.awt.GridBagConstraints (); 112 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 113 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 114 gridBagConstraints.insets = new java.awt.Insets (12, 0, 0, 0); 115 jPanel1.add(jLblRoleUsageDescription, gridBagConstraints); 116 117 jLblRunAsRoleName.setLabelFor(jTxtRunAsRoleName); 118 jLblRunAsRoleName.setText(customizerBundle.getString("LBL_RunAsRole_1")); 119 gridBagConstraints = new java.awt.GridBagConstraints (); 120 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 121 gridBagConstraints.ipady = 4; 122 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 123 gridBagConstraints.insets = new java.awt.Insets (6, 0, 0, 0); 124 jPanel1.add(jLblRunAsRoleName, gridBagConstraints); 125 126 jTxtRunAsRoleName.setEditable(false); 127 gridBagConstraints = new java.awt.GridBagConstraints (); 128 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 129 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 130 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; 131 gridBagConstraints.weightx = 1.0; 132 gridBagConstraints.weighty = 1.0; 133 gridBagConstraints.insets = new java.awt.Insets (6, 6, 0, 0); 134 jPanel1.add(jTxtRunAsRoleName, gridBagConstraints); 135 jTxtRunAsRoleName.getAccessibleContext().setAccessibleName(customizerBundle.getString("ACSN_RunAsRole")); 136 jTxtRunAsRoleName.getAccessibleContext().setAccessibleDescription(customizerBundle.getString("ACSD_RunAsRole")); 137 138 jLblPrincipalName.setLabelFor(jTxtPrincipalName); 139 jLblPrincipalName.setText(customizerBundle.getString("LBL_PrincipalName_1")); 140 gridBagConstraints = new java.awt.GridBagConstraints (); 141 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 142 gridBagConstraints.ipady = 4; 143 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 144 gridBagConstraints.insets = new java.awt.Insets (6, 0, 0, 0); 145 jPanel1.add(jLblPrincipalName, gridBagConstraints); 146 147 jTxtPrincipalName.addKeyListener(new java.awt.event.KeyAdapter () { 148 public void keyReleased(java.awt.event.KeyEvent evt) { 149 jTxtPrincipalNameKeyReleased(evt); 150 } 151 }); 152 153 gridBagConstraints = new java.awt.GridBagConstraints (); 154 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 155 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 156 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; 157 gridBagConstraints.weightx = 1.0; 158 gridBagConstraints.weighty = 1.0; 159 gridBagConstraints.insets = new java.awt.Insets (6, 6, 0, 0); 160 jPanel1.add(jTxtPrincipalName, gridBagConstraints); 161 jTxtPrincipalName.getAccessibleContext().setAccessibleName(customizerBundle.getString("ACSN_PrincipalName")); 162 jTxtPrincipalName.getAccessibleContext().setAccessibleDescription(customizerBundle.getString("ACSD_PrincipalName")); 163 164 jLblClassNameUsageDesc.setLabelFor(jTxtClassName); 165 jLblClassNameUsageDesc.setText(customizerBundle.getString("LBL_PrincipalClassNameDesc")); 166 gridBagConstraints = new java.awt.GridBagConstraints (); 167 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 168 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 169 gridBagConstraints.insets = new java.awt.Insets (12, 0, 0, 0); 170 jPanel1.add(jLblClassNameUsageDesc, gridBagConstraints); 171 172 jLblClassName.setLabelFor(jTxtClassName); 173 jLblClassName.setText(customizerBundle.getString("LBL_ClassName_1")); 174 gridBagConstraints = new java.awt.GridBagConstraints (); 175 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 176 gridBagConstraints.ipady = 4; 177 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 178 gridBagConstraints.insets = new java.awt.Insets (6, 0, 0, 0); 179 jPanel1.add(jLblClassName, gridBagConstraints); 180 181 jTxtClassName.addKeyListener(new java.awt.event.KeyAdapter () { 182 public void keyReleased(java.awt.event.KeyEvent evt) { 183 jTxtClassNameKeyReleased(evt); 184 } 185 }); 186 187 gridBagConstraints = new java.awt.GridBagConstraints (); 188 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 189 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 190 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; 191 gridBagConstraints.weightx = 1.0; 192 gridBagConstraints.weighty = 1.0; 193 gridBagConstraints.insets = new java.awt.Insets (6, 6, 0, 0); 194 jPanel1.add(jTxtClassName, gridBagConstraints); 195 jTxtClassName.getAccessibleContext().setAccessibleName(customizerBundle.getString("ACSN_ClassName")); 196 jTxtClassName.getAccessibleContext().setAccessibleDescription(customizerBundle.getString("ACSD_ClassName")); 197 198 jLblEndpointHelp.setText(customizerBundle.getString("LBL_EndpointHelp")); 199 gridBagConstraints = new java.awt.GridBagConstraints (); 200 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 201 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 202 gridBagConstraints.insets = new java.awt.Insets (12, 0, 0, 0); 203 jPanel1.add(jLblEndpointHelp, gridBagConstraints); 204 jLblEndpointHelp.getAccessibleContext().setAccessibleName(customizerBundle.getString("ACSN_EndpointHelp")); 205 jLblEndpointHelp.getAccessibleContext().setAccessibleDescription(customizerBundle.getString("ACSD_EndpointHelp")); 206 207 gridBagConstraints = new java.awt.GridBagConstraints (); 208 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 209 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 210 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 211 gridBagConstraints.weightx = 1.0; 212 gridBagConstraints.insets = new java.awt.Insets (0, 6, 5, 5); 213 add(jPanel1, gridBagConstraints); 214 215 gridBagConstraints = new java.awt.GridBagConstraints (); 216 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 217 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 218 gridBagConstraints.weightx = 1.0; 219 gridBagConstraints.weighty = 1.0; 220 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 221 add(jPnlFiller, gridBagConstraints); 222 223 } 225 private void jTxtClassNameKeyReleased(java.awt.event.KeyEvent evt) { if(theBean != null) { 228 try { 229 theBean.setClassName(jTxtClassName.getText()); 230 validateField(ServletRef.FIELD_PRINCIPAL_CLASS_NAME); 231 } catch(java.beans.PropertyVetoException exception) { 232 jTxtClassName.setText(theBean.getClassName()); 233 } 234 } 235 } 237 private void jTxtPrincipalNameKeyReleased(java.awt.event.KeyEvent evt) { if(theBean != null) { 240 try { 241 theBean.setPrincipalName(jTxtPrincipalName.getText()); 242 } catch(java.beans.PropertyVetoException exception) { 243 jTxtPrincipalName.setText(theBean.getPrincipalName()); 244 } 245 } 246 } 248 private javax.swing.JLabel jLblClassName; 250 private javax.swing.JLabel jLblClassNameUsageDesc; 251 private javax.swing.JLabel jLblEndpointHelp; 252 private javax.swing.JLabel jLblName; 253 private javax.swing.JLabel jLblPrincipalName; 254 private javax.swing.JLabel jLblRoleUsageDescription; 255 private javax.swing.JLabel jLblRunAsRoleName; 256 private javax.swing.JPanel jPanel1; 257 private javax.swing.JPanel jPnlFiller; 258 private javax.swing.JTextField jTxtClassName; 259 private javax.swing.JTextField jTxtName; 260 private javax.swing.JTextField jTxtPrincipalName; 261 private javax.swing.JTextField jTxtRunAsRoleName; 262 264 private void initUserComponents() { 265 as90FeaturesVisible = true; 266 servlet24FeaturesVisible = true; 267 268 addTitlePanel(customizerBundle.getString("TITLE_Servlet")); getAccessibleContext().setAccessibleName(customizerBundle.getString("ACSN_Servlet")); getAccessibleContext().setAccessibleDescription(customizerBundle.getString("ACSD_Servlet")); 273 addErrorPanel(); 275 } 276 277 protected void initFields() { 278 jTxtName.setText(theBean.getServletName()); 279 280 if(ASDDVersion.SUN_APPSERVER_9_0.compareTo(theBean.getAppServerVersion()) <= 0) { 281 showAS90Fields(); 282 } else { 283 hideAS90Fields(); 284 } 285 286 handleRoleFields(); 287 288 if(theBean.getJ2EEModuleVersion().compareTo(ServletVersion.SERVLET_2_4) >= 0) { 289 showWebServiceEndpointInformation(); 290 } else { 291 hideWebServiceEndpointInformation(); 292 } 293 } 294 295 private void handleRoleFields() { 296 String runAsRole = theBean.getRunAsRoleName(); 297 if(Utils.notEmpty(runAsRole)) { 298 enableRoleFields(true, runAsRole, theBean.getPrincipalName(), theBean.getClassName()); 299 } else { 300 enableRoleFields(false, "", "", ""); 301 } 302 } 303 304 private void enableRoleFields(boolean enabled, String runAs, String pn, String cn) { 305 jLblRunAsRoleName.setEnabled(enabled); 306 jTxtRunAsRoleName.setText(runAs); 307 jLblPrincipalName.setEnabled(enabled); 308 jTxtPrincipalName.setEditable(enabled); 309 jTxtPrincipalName.setEnabled(enabled); 310 jTxtPrincipalName.setText(pn); 311 jLblClassName.setEnabled(enabled); 312 jTxtClassName.setEditable(enabled); 313 jTxtClassName.setEnabled(enabled); 314 jTxtClassName.setText(cn); 315 } 316 317 private void showWebServiceEndpointInformation() { 318 if(!servlet24FeaturesVisible) { 319 jLblEndpointHelp.setVisible(true); 320 servlet24FeaturesVisible = true; 321 } 322 } 323 324 private void hideWebServiceEndpointInformation() { 325 if(servlet24FeaturesVisible) { 326 jLblEndpointHelp.setVisible(false); 327 servlet24FeaturesVisible = false; 328 } 329 } 330 331 private void showAS90Fields() { 332 if(!as90FeaturesVisible) { 333 jLblClassNameUsageDesc.setVisible(true); 334 jLblClassName.setVisible(true); 335 jTxtClassName.setVisible(true); 336 as90FeaturesVisible = true; 337 } 338 } 339 340 private void hideAS90Fields() { 341 if(as90FeaturesVisible) { 342 jLblClassNameUsageDesc.setVisible(false); 343 jLblClassName.setVisible(false); 344 jTxtClassName.setVisible(false); 345 as90FeaturesVisible = false; 346 } 347 } 348 349 public void propertyChange(PropertyChangeEvent propertyChangeEvent) { 350 String eventName = propertyChangeEvent.getPropertyName(); 351 352 if(ServletRef.SERVLET_NAME.equals(eventName)) { 353 jTxtName.setText(theBean.getServletName()); 354 } else if(ServletRef.RUN_AS_ROLE_NAME.equals(eventName)) { 355 handleRoleFields(); 356 } 357 } 358 359 protected void addListeners() { 360 super.addListeners(); 361 theBean.addPropertyChangeListener(this); 362 } 363 364 protected void removeListeners() { 365 super.removeListeners(); 366 theBean.removePropertyChangeListener(this); 367 } 368 369 protected boolean setBean(Object bean) { 370 boolean result = super.setBean(bean); 371 372 if(bean instanceof ServletRef) { 373 theBean = (ServletRef) bean; 374 result = true; 375 } else { 376 assert (result == false) : 378 "ServletRefCustomizer was passed wrong bean type in setBean(Object bean)"; 380 theBean = null; 381 result = false; 382 } 383 384 return result; 385 } 386 387 public String getHelpId() { 388 return "AS_CFG_Servlet"; } 390 } 391 | Popular Tags |