KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > j2ee > sun > share > configbean > customizers > ServletRefCustomizer


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19 /*
20  * ServletRefCustomizer.java
21  *
22  * Created on September 4, 2003, 5:28 PM
23  */

24
25 package org.netbeans.modules.j2ee.sun.share.configbean.customizers;
26 import java.util.ResourceBundle JavaDoc;
27 import java.beans.PropertyChangeEvent JavaDoc;
28 import java.beans.PropertyChangeListener JavaDoc;
29
30 import java.awt.GridBagConstraints JavaDoc;
31 import java.awt.Insets JavaDoc;
32 import javax.swing.JPanel JavaDoc;
33 import javax.swing.JLabel JavaDoc;
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 /**
43  *
44  * @author Peter Williams
45  */

46 public class ServletRefCustomizer extends BaseCustomizer implements
47     PropertyChangeListener JavaDoc {
48     
49     private static final ResourceBundle JavaDoc customizerBundle = ResourceBundle.getBundle(
50         "org.netbeans.modules.j2ee.sun.share.configbean.customizers.Bundle"); // NOI18N
51

52     private ServletRef theBean;
53     private boolean servlet24FeaturesVisible;
54
55     // true if AS 9.0+ fields are visible.
56
private boolean as90FeaturesVisible;
57     
58     /** Creates new form ServletRefCustomizer */
59     public ServletRefCustomizer() {
60         initComponents();
61         initUserComponents();
62     }
63
64     /** This method is called from within the constructor to
65      * initialize the form.
66      * WARNING: Do NOT modify this code. The content of this method is
67      * always regenerated by the Form Editor.
68      */

69     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
70
private void initComponents() {
71         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
72
73         jPanel1 = new javax.swing.JPanel JavaDoc();
74         jLblName = new javax.swing.JLabel JavaDoc();
75         jTxtName = new javax.swing.JTextField JavaDoc();
76         jLblRoleUsageDescription = new javax.swing.JLabel JavaDoc();
77         jLblRunAsRoleName = new javax.swing.JLabel JavaDoc();
78         jTxtRunAsRoleName = new javax.swing.JTextField JavaDoc();
79         jLblPrincipalName = new javax.swing.JLabel JavaDoc();
80         jTxtPrincipalName = new javax.swing.JTextField JavaDoc();
81         jLblClassNameUsageDesc = new javax.swing.JLabel JavaDoc();
82         jLblClassName = new javax.swing.JLabel JavaDoc();
83         jTxtClassName = new javax.swing.JTextField JavaDoc();
84         jLblEndpointHelp = new javax.swing.JLabel JavaDoc();
85         jPnlFiller = new javax.swing.JPanel JavaDoc();
86
87         setLayout(new java.awt.GridBagLayout JavaDoc());
88
89         jPanel1.setLayout(new java.awt.GridBagLayout JavaDoc());
90
91         jLblName.setLabelFor(jTxtName);
92         jLblName.setText(customizerBundle.getString("LBL_ServletName_1"));
93         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
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 JavaDoc();
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 JavaDoc(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 JavaDoc();
112         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
113         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
114         gridBagConstraints.insets = new java.awt.Insets JavaDoc(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 JavaDoc();
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 JavaDoc(6, 0, 0, 0);
124         jPanel1.add(jLblRunAsRoleName, gridBagConstraints);
125
126         jTxtRunAsRoleName.setEditable(false);
127         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
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 JavaDoc(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 JavaDoc();
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 JavaDoc(6, 0, 0, 0);
145         jPanel1.add(jLblPrincipalName, gridBagConstraints);
146
147         jTxtPrincipalName.addKeyListener(new java.awt.event.KeyAdapter JavaDoc() {
148             public void keyReleased(java.awt.event.KeyEvent JavaDoc evt) {
149                 jTxtPrincipalNameKeyReleased(evt);
150             }
151         });
152
153         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
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 JavaDoc(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 JavaDoc();
167         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
168         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
169         gridBagConstraints.insets = new java.awt.Insets JavaDoc(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 JavaDoc();
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 JavaDoc(6, 0, 0, 0);
179         jPanel1.add(jLblClassName, gridBagConstraints);
180
181         jTxtClassName.addKeyListener(new java.awt.event.KeyAdapter JavaDoc() {
182             public void keyReleased(java.awt.event.KeyEvent JavaDoc evt) {
183                 jTxtClassNameKeyReleased(evt);
184             }
185         });
186
187         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
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 JavaDoc(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 JavaDoc();
200         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
201         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
202         gridBagConstraints.insets = new java.awt.Insets JavaDoc(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 JavaDoc();
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 JavaDoc(0, 6, 5, 5);
213         add(jPanel1, gridBagConstraints);
214
215         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
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 JavaDoc(4, 4, 4, 4);
221         add(jPnlFiller, gridBagConstraints);
222
223     }// </editor-fold>//GEN-END:initComponents
224

225     private void jTxtClassNameKeyReleased(java.awt.event.KeyEvent JavaDoc evt) {//GEN-FIRST:event_jTxtClassNameKeyReleased
226
// Add your handling code here:
227
if(theBean != null) {
228             try {
229                 theBean.setClassName(jTxtClassName.getText());
230                 validateField(ServletRef.FIELD_PRINCIPAL_CLASS_NAME);
231             } catch(java.beans.PropertyVetoException JavaDoc exception) {
232                 jTxtClassName.setText(theBean.getClassName());
233             }
234         }
235     }//GEN-LAST:event_jTxtClassNameKeyReleased
236

237     private void jTxtPrincipalNameKeyReleased(java.awt.event.KeyEvent JavaDoc evt) {//GEN-FIRST:event_jTxtPrincipalNameKeyReleased
238
// Add your handling code here:
239
if(theBean != null) {
240             try {
241                 theBean.setPrincipalName(jTxtPrincipalName.getText());
242             } catch(java.beans.PropertyVetoException JavaDoc exception) {
243                 jTxtPrincipalName.setText(theBean.getPrincipalName());
244             }
245         }
246     }//GEN-LAST:event_jTxtPrincipalNameKeyReleased
247

248     // Variables declaration - do not modify//GEN-BEGIN:variables
249
private javax.swing.JLabel JavaDoc jLblClassName;
250     private javax.swing.JLabel JavaDoc jLblClassNameUsageDesc;
251     private javax.swing.JLabel JavaDoc jLblEndpointHelp;
252     private javax.swing.JLabel JavaDoc jLblName;
253     private javax.swing.JLabel JavaDoc jLblPrincipalName;
254     private javax.swing.JLabel JavaDoc jLblRoleUsageDescription;
255     private javax.swing.JLabel JavaDoc jLblRunAsRoleName;
256     private javax.swing.JPanel JavaDoc jPanel1;
257     private javax.swing.JPanel JavaDoc jPnlFiller;
258     private javax.swing.JTextField JavaDoc jTxtClassName;
259     private javax.swing.JTextField JavaDoc jTxtName;
260     private javax.swing.JTextField JavaDoc jTxtPrincipalName;
261     private javax.swing.JTextField JavaDoc jTxtRunAsRoleName;
262     // End of variables declaration//GEN-END:variables
263

264     private void initUserComponents() {
265         as90FeaturesVisible = true;
266         servlet24FeaturesVisible = true;
267         
268         // Add title panel
269
addTitlePanel(customizerBundle.getString("TITLE_Servlet")); // NOI18N
270
getAccessibleContext().setAccessibleName(customizerBundle.getString("ACSN_Servlet")); // NOI18N
271
getAccessibleContext().setAccessibleDescription(customizerBundle.getString("ACSD_Servlet")); // NOI18N
272

273         // Add error panel
274
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 JavaDoc 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 JavaDoc runAs, String JavaDoc pn, String JavaDoc 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 JavaDoc propertyChangeEvent) {
350         String JavaDoc 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 JavaDoc bean) {
370         boolean result = super.setBean(bean);
371         
372         if(bean instanceof ServletRef) {
373             theBean = (ServletRef) bean;
374             result = true;
375         } else {
376             // if bean is not a ServletRef, then it shouldn't have passed Base either.
377
assert (result == false) :
378                 "ServletRefCustomizer was passed wrong bean type in setBean(Object bean)"; // NOI18N
379

380             theBean = null;
381             result = false;
382         }
383         
384         return result;
385     }
386     
387     public String JavaDoc getHelpId() {
388         return "AS_CFG_Servlet"; // NOI18N
389
}
390 }
391
Popular Tags