KickJava   Java API By Example, From Geeks To Geeks.

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


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  * LocaleCharsetMapEntryPanel.java
21  *
22  * Created on January 2, 2004, 2:33 PM
23  */

24
25 package org.netbeans.modules.j2ee.sun.share.configbean.customizers.webapp;
26
27 import java.util.ArrayList JavaDoc;
28 import java.util.Collection JavaDoc;
29 import java.util.Iterator JavaDoc;
30 import java.util.Map JavaDoc;
31 import java.util.List JavaDoc;
32 import java.util.ResourceBundle JavaDoc;
33 import java.util.SortedMap JavaDoc;
34
35 import java.awt.Dimension JavaDoc;
36 import javax.swing.JPanel JavaDoc;
37 import javax.swing.DefaultComboBoxModel JavaDoc;
38
39 import java.util.Locale JavaDoc;
40
41 import org.netbeans.modules.j2ee.sun.share.Constants;
42 import org.netbeans.modules.j2ee.sun.share.configbean.ASDDVersion;
43 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.ValidationSupport;
44 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.GenericTableDialogPanelAccessor;
45
46 import org.netbeans.modules.j2ee.sun.share.CharsetMapping;
47
48
49 /**
50  *
51  * @author Peter Williams
52  */

53 public class LocaleCharsetMapEntryPanel extends JPanel JavaDoc implements GenericTableDialogPanelAccessor {
54
55     private static final ResourceBundle JavaDoc webappBundle = ResourceBundle.getBundle(
56         "org.netbeans.modules.j2ee.sun.share.configbean.customizers.webapp.Bundle"); // NOI18N
57

58     private static final ResourceBundle JavaDoc commonBundle = ResourceBundle.getBundle(
59         "org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.Bundle"); // NOI18N
60

61     private static final String JavaDoc DEFAULT_CHARSET="UTF8"; // NOI18N
62

63     // Field indices (maps to values[] handled by get/setValues()
64
private static final int LOCALE_FIELD = 0;
65     private static final int CHARSET_FIELD = 1;
66     private static final int AGENT_FIELD = 2;
67     private static final int DESCRIPTION_FIELD = 3;
68     private static final int NUM_FIELDS = 4; // Number of objects expected in get/setValue methods.
69

70     // Local storage for data entered by user
71
private LocaleMapping localeMap;
72     private CharsetMapping charsetMap;
73     private String JavaDoc agent;
74     private String JavaDoc description;
75
76     private DefaultComboBoxModel JavaDoc localeCbxModel;
77     private DefaultComboBoxModel JavaDoc charsetCbxModel;
78
79     /** Creates new form LocaleCharsetMapEntryPanel */
80     public LocaleCharsetMapEntryPanel() {
81         initComponents();
82         initUserComponents();
83     }
84     
85     /** This method is called from within the constructor to
86      * initialize the form.
87      * WARNING: Do NOT modify this code. The content of this method is
88      * always regenerated by the Form Editor.
89      */

90     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
91
private void initComponents() {
92         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
93
94         jLblLocaleReqFlag = new javax.swing.JLabel JavaDoc();
95         jLblLocale = new javax.swing.JLabel JavaDoc();
96         jCbxLocale = new javax.swing.JComboBox JavaDoc();
97         jLblCharsetReqFlag = new javax.swing.JLabel JavaDoc();
98         jLblCharset = new javax.swing.JLabel JavaDoc();
99         jCbxCharset = new javax.swing.JComboBox JavaDoc();
100         jLblFiller1 = new javax.swing.JLabel JavaDoc();
101         jLblAgent = new javax.swing.JLabel JavaDoc();
102         jTxtAgent = new javax.swing.JTextField JavaDoc();
103         jLblFiller2 = new javax.swing.JLabel JavaDoc();
104         jLblDescription = new javax.swing.JLabel JavaDoc();
105         jTxtDescription = new javax.swing.JTextField JavaDoc();
106
107         setLayout(new java.awt.GridBagLayout JavaDoc());
108
109         jLblLocaleReqFlag.setLabelFor(jCbxLocale);
110         jLblLocaleReqFlag.setText(commonBundle.getString("LBL_RequiredMark"));
111         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
112         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 0, 0);
113         add(jLblLocaleReqFlag, gridBagConstraints);
114         jLblLocaleReqFlag.getAccessibleContext().setAccessibleName(commonBundle.getString("ACSN_RequiredMark"));
115         jLblLocaleReqFlag.getAccessibleContext().setAccessibleDescription(commonBundle.getString("ACSD_RequiredMark"));
116
117         jLblLocale.setDisplayedMnemonic(webappBundle.getString("MNE_Locale").charAt(0));
118         jLblLocale.setLabelFor(jCbxLocale);
119         jLblLocale.setText(webappBundle.getString("LBL_Locale_1"));
120         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
121         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
122         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 0, 0);
123         add(jLblLocale, gridBagConstraints);
124
125         jCbxLocale.setPrototypeDisplayValue("");
126         jCbxLocale.addActionListener(new java.awt.event.ActionListener JavaDoc() {
127             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
128                 jCbxLocaleActionPerformed(evt);
129             }
130         });
131
132         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
133         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
134         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
135         gridBagConstraints.weightx = 1.0;
136         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 0, 5);
137         add(jCbxLocale, gridBagConstraints);
138         jCbxLocale.getAccessibleContext().setAccessibleName(webappBundle.getString("ACSN_Locale"));
139         jCbxLocale.getAccessibleContext().setAccessibleDescription(webappBundle.getString("ACSD_Locale"));
140
141         jLblCharsetReqFlag.setLabelFor(jCbxCharset);
142         jLblCharsetReqFlag.setText(commonBundle.getString("LBL_RequiredMark"));
143         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
144         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 0, 0);
145         add(jLblCharsetReqFlag, gridBagConstraints);
146         jLblCharsetReqFlag.getAccessibleContext().setAccessibleName(commonBundle.getString("ACSN_RequiredMark"));
147         jLblCharsetReqFlag.getAccessibleContext().setAccessibleDescription(commonBundle.getString("ACSD_RequiredMark"));
148
149         jLblCharset.setDisplayedMnemonic(webappBundle.getString("MNE_CharacterSet").charAt(0));
150         jLblCharset.setLabelFor(jCbxCharset);
151         jLblCharset.setText(webappBundle.getString("LBL_CharacterSet_1"));
152         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
153         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
154         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 0, 0);
155         add(jLblCharset, gridBagConstraints);
156
157         jCbxCharset.setPrototypeDisplayValue("");
158         jCbxCharset.addActionListener(new java.awt.event.ActionListener JavaDoc() {
159             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
160                 jCbxCharsetActionPerformed(evt);
161             }
162         });
163
164         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
165         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
166         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
167         gridBagConstraints.weightx = 1.0;
168         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 0, 5);
169         add(jCbxCharset, gridBagConstraints);
170         jCbxCharset.getAccessibleContext().setAccessibleName(webappBundle.getString("ACSN_CharacterSet"));
171         jCbxCharset.getAccessibleContext().setAccessibleDescription(webappBundle.getString("ACSD_CharacterSet"));
172
173         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
174         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 0, 0);
175         add(jLblFiller1, gridBagConstraints);
176
177         jLblAgent.setDisplayedMnemonic(webappBundle.getString("MNE_Agent").charAt(0));
178         jLblAgent.setLabelFor(jTxtAgent);
179         jLblAgent.setText(webappBundle.getString("LBL_Agent_1"));
180         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
181         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
182         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 0, 0);
183         add(jLblAgent, gridBagConstraints);
184
185         jTxtAgent.addKeyListener(new java.awt.event.KeyAdapter JavaDoc() {
186             public void keyReleased(java.awt.event.KeyEvent JavaDoc evt) {
187                 jTxtAgentKeyReleased(evt);
188             }
189         });
190
191         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
192         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
193         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
194         gridBagConstraints.weightx = 1.0;
195         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 0, 5);
196         add(jTxtAgent, gridBagConstraints);
197         jTxtAgent.getAccessibleContext().setAccessibleName(webappBundle.getString("ACSN_Agent"));
198         jTxtAgent.getAccessibleContext().setAccessibleDescription(webappBundle.getString("ACSD_Agent"));
199
200         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
201         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 5, 0);
202         add(jLblFiller2, gridBagConstraints);
203
204         jLblDescription.setDisplayedMnemonic(webappBundle.getString("MNE_LocaleDescription").charAt(0));
205         jLblDescription.setLabelFor(jTxtDescription);
206         jLblDescription.setText(webappBundle.getString("LBL_LocaleDescription_1"));
207         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
208         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
209         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 5, 0);
210         add(jLblDescription, gridBagConstraints);
211
212         jTxtDescription.addKeyListener(new java.awt.event.KeyAdapter JavaDoc() {
213             public void keyReleased(java.awt.event.KeyEvent JavaDoc evt) {
214                 jTxtDescriptionKeyReleased(evt);
215             }
216         });
217
218         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
219         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
220         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
221         gridBagConstraints.weightx = 1.0;
222         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 5, 5);
223         add(jTxtDescription, gridBagConstraints);
224         jTxtDescription.getAccessibleContext().setAccessibleName(webappBundle.getString("ACSN_LocaleDescription"));
225         jTxtDescription.getAccessibleContext().setAccessibleDescription(webappBundle.getString("ACSD_LocaleDescription"));
226
227     }// </editor-fold>//GEN-END:initComponents
228

229     private void jCbxCharsetActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jCbxCharsetActionPerformed
230
// Add your handling code here:
231
charsetMap = (CharsetMapping) charsetCbxModel.getSelectedItem();
232         firePropertyChange(Constants.USER_DATA_CHANGED, null, null);
233     }//GEN-LAST:event_jCbxCharsetActionPerformed
234

235     private void jCbxLocaleActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jCbxLocaleActionPerformed
236
// Add your handling code here:
237
localeMap = (LocaleMapping) localeCbxModel.getSelectedItem();
238         firePropertyChange(Constants.USER_DATA_CHANGED, null, null);
239     }//GEN-LAST:event_jCbxLocaleActionPerformed
240

241     private void jTxtDescriptionKeyReleased(java.awt.event.KeyEvent JavaDoc evt) {//GEN-FIRST:event_jTxtDescriptionKeyReleased
242
// Add your handling code here:
243
description = jTxtDescription.getText();
244         firePropertyChange(Constants.USER_DATA_CHANGED, null, null);
245     }//GEN-LAST:event_jTxtDescriptionKeyReleased
246

247     private void jTxtAgentKeyReleased(java.awt.event.KeyEvent JavaDoc evt) {//GEN-FIRST:event_jTxtAgentKeyReleased
248
// Add your handling code here:
249
agent = jTxtAgent.getText();
250         firePropertyChange(Constants.USER_DATA_CHANGED, null, null);
251     }//GEN-LAST:event_jTxtAgentKeyReleased
252

253     // Variables declaration - do not modify//GEN-BEGIN:variables
254
private javax.swing.JComboBox JavaDoc jCbxCharset;
255     private javax.swing.JComboBox JavaDoc jCbxLocale;
256     private javax.swing.JLabel JavaDoc jLblAgent;
257     private javax.swing.JLabel JavaDoc jLblCharset;
258     private javax.swing.JLabel JavaDoc jLblCharsetReqFlag;
259     private javax.swing.JLabel JavaDoc jLblDescription;
260     private javax.swing.JLabel JavaDoc jLblFiller1;
261     private javax.swing.JLabel JavaDoc jLblFiller2;
262     private javax.swing.JLabel JavaDoc jLblLocale;
263     private javax.swing.JLabel JavaDoc jLblLocaleReqFlag;
264     private javax.swing.JTextField JavaDoc jTxtAgent;
265     private javax.swing.JTextField JavaDoc jTxtDescription;
266     // End of variables declaration//GEN-END:variables
267

268     protected void initUserComponents() {
269         localeCbxModel = new DefaultComboBoxModel JavaDoc();
270         SortedMap JavaDoc locales = LocaleMapping.getSortedAvailableLocaleMappings();
271         for(Iterator JavaDoc iter = locales.entrySet().iterator(); iter.hasNext(); ) {
272             LocaleMapping lm = (LocaleMapping) ((Map.Entry JavaDoc) iter.next()).getValue();
273             localeCbxModel.addElement(lm);
274         }
275         jCbxLocale.setModel(localeCbxModel);
276         jCbxLocale.setSelectedItem(LocaleMapping.getLocaleMapping(Locale.getDefault()));
277         
278         charsetCbxModel = new DefaultComboBoxModel JavaDoc();
279         SortedMap JavaDoc charsets = CharsetMapping.getSortedAvailableCharsetMappings();
280         for(Iterator JavaDoc iter = charsets.entrySet().iterator(); iter.hasNext(); ) {
281             CharsetMapping cm = (CharsetMapping) ((Map.Entry JavaDoc) iter.next()).getValue();
282             charsetCbxModel.addElement(cm);
283         }
284         jCbxCharset.setModel(charsetCbxModel);
285         jCbxCharset.setSelectedItem(CharsetMapping.getCharsetMapping(DEFAULT_CHARSET));
286     }
287     
288     public Collection JavaDoc getErrors(ValidationSupport validationSupport) {
289         ArrayList JavaDoc errorList = new ArrayList JavaDoc();
290         
291         if(localeMap == null) {
292             errorList.add(webappBundle.getString("ERR_LocaleFieldRequired")); // NOI18N
293
} else if(charsetMap == null) {
294             errorList.add(webappBundle.getString("ERR_CharsetFieldRequired")); // NOI18N
295
}
296         
297         return errorList;
298     }
299     
300     public Object JavaDoc[] getValues() {
301         Object JavaDoc [] result = new Object JavaDoc[NUM_FIELDS];
302         
303         if(localeMap != null) {
304             result[LOCALE_FIELD] = localeMap.getLocale().toString();
305         }
306         
307         if(charsetMap != null) {
308             result[CHARSET_FIELD] = charsetMap.getCharset().toString();
309         }
310         
311         result[AGENT_FIELD] = agent;
312         result[DESCRIPTION_FIELD] = description;
313         return result;
314     }
315     
316     public void init(ASDDVersion asVersion, int preferredWidth, List JavaDoc entries, Object JavaDoc data) {
317         setPreferredSize(new Dimension JavaDoc(preferredWidth, getPreferredSize().height));
318     }
319     
320     public void setValues(Object JavaDoc[] values) {
321         if(values != null && values.length == NUM_FIELDS) {
322             localeMap = LocaleMapping.getLocaleMapping((String JavaDoc) values[LOCALE_FIELD]);
323             charsetMap = CharsetMapping.getCharsetMapping((String JavaDoc) values[CHARSET_FIELD]);
324             agent = (String JavaDoc) values[AGENT_FIELD];
325             description = (String JavaDoc) values[DESCRIPTION_FIELD];
326         } else {
327             if(values != null) {
328                 assert (values.length == NUM_FIELDS); // Should fail
329
}
330             
331             // default values
332
localeMap = LocaleMapping.getLocaleMapping(Locale.getDefault());
333             charsetMap = null; //CharsetMapping.getCharsetMapping(Charset.);
334
agent = ""; // NOI18N
335
description = ""; // NOI18N
336
}
337         
338         setComponentValues();
339     }
340     
341     private void setComponentValues() {
342         jCbxLocale.setSelectedItem(localeMap);
343         jCbxCharset.setSelectedItem(charsetMap);
344         jTxtAgent.setText(agent);
345         jTxtDescription.setText(description);
346     }
347     
348     public boolean requiredFieldsFilled() {
349         return (localeMap != null && charsetMap != null);
350     }
351 }
352
Popular Tags