KickJava   Java API By Example, From Geeks To Geeks.

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


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  * ConstraintFieldValueEntryPanel.java
21  *
22  * Created on February 4, 2004, 11:38 AM
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.ResourceBundle JavaDoc;
30
31 import java.awt.Dimension JavaDoc;
32
33 import javax.swing.JPanel JavaDoc;
34 import javax.swing.DefaultComboBoxModel JavaDoc;
35
36 import org.netbeans.modules.j2ee.sun.share.Constants;
37 import org.netbeans.modules.j2ee.sun.share.configbean.ASDDVersion;
38 import org.netbeans.modules.j2ee.sun.share.configbean.Utils;
39 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.GenericTableDialogPanelAccessor;
40 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.TextMapping;
41 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.ValidationSupport;
42
43 /**
44  *
45  * @author Peter Williams
46  */

47 public class ConstraintFieldValueEntryPanel extends JPanel JavaDoc implements GenericTableDialogPanelAccessor {
48
49     private static final ResourceBundle JavaDoc webappBundle = ResourceBundle.getBundle(
50         "org.netbeans.modules.j2ee.sun.share.configbean.customizers.webapp.Bundle"); // NOI18N
51

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

55     private static final TextMapping [] matchTypes = ScopeMapping.getMatchExpressionMappings();
56
57     // Field indices (maps to values[] handled by get/setValues()
58
private static final int MATCH_EXPR_FIELD = 0;
59     private static final int CACHEONMATCH_FIELD = 1;
60     private static final int CACHEONMATCHFAILURE_FIELD = 2;
61     private static final int MATCH_VALUE_FIELD = 3;
62     private static final int NUM_FIELDS = 4; // Number of objects expected in get/setValue methods.
63

64     // Local storage for data entered by user
65
private String JavaDoc matchExpression;
66     private boolean cacheOnMatch;
67     private boolean cacheOnMatchFailure;
68     private String JavaDoc matchValue;
69
70     // expression combo box model
71
private DefaultComboBoxModel JavaDoc matchExpressionModel;
72
73
74     /** Creates new form ConstraintFieldValueEntryPanel */
75     public ConstraintFieldValueEntryPanel() {
76         // Set defaults
77
matchExpression = "equals"; // NOI18N
78
cacheOnMatch = true;
79         cacheOnMatchFailure = false;
80         matchValue = ""; // NOI18N
81

82         initComponents();
83         initUserComponents();
84     }
85     
86     /** This method is called from within the constructor to
87      * initialize the form.
88      * WARNING: Do NOT modify this code. The content of this method is
89      * always regenerated by the Form Editor.
90      */

91     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
92
private void initComponents() {
93         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
94
95         jLblMatchExprReq = new javax.swing.JLabel JavaDoc();
96         jLblMatchExpr = new javax.swing.JLabel JavaDoc();
97         jCbxMatchExpr = new javax.swing.JComboBox JavaDoc();
98         jLblFiller2 = new javax.swing.JLabel JavaDoc();
99         jLblCacheOnMatch = new javax.swing.JLabel JavaDoc();
100         jChkCacheOnMatch = new javax.swing.JCheckBox JavaDoc();
101         jLblFiller3 = new javax.swing.JLabel JavaDoc();
102         jLblCacheOnMatchFailure = new javax.swing.JLabel JavaDoc();
103         jChkCacheOnMatchFailure = new javax.swing.JCheckBox JavaDoc();
104         jLblFiller4 = new javax.swing.JLabel JavaDoc();
105         jLblMatchFieldValue = new javax.swing.JLabel JavaDoc();
106         jTxtMatchFieldValue = new javax.swing.JTextField JavaDoc();
107
108         setLayout(new java.awt.GridBagLayout JavaDoc());
109
110         jLblMatchExprReq.setLabelFor(jCbxMatchExpr);
111         jLblMatchExprReq.setText(commonBundle.getString("LBL_RequiredMark"));
112         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
113         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 0, 0);
114         add(jLblMatchExprReq, gridBagConstraints);
115         jLblMatchExprReq.getAccessibleContext().setAccessibleName(commonBundle.getString("ACSN_RequiredMark"));
116         jLblMatchExprReq.getAccessibleContext().setAccessibleDescription(commonBundle.getString("ACSD_RequiredMark"));
117
118         jLblMatchExpr.setDisplayedMnemonic(webappBundle.getString("MNE_MatchExpression").charAt(0));
119         jLblMatchExpr.setLabelFor(jCbxMatchExpr);
120         jLblMatchExpr.setText(webappBundle.getString("LBL_MatchExpression_1"));
121         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
122         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
123         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 0, 0);
124         add(jLblMatchExpr, gridBagConstraints);
125
126         jCbxMatchExpr.addActionListener(new java.awt.event.ActionListener JavaDoc() {
127             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
128                 jCbxMatchExprActionPerformed(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(jCbxMatchExpr, gridBagConstraints);
138         jCbxMatchExpr.getAccessibleContext().setAccessibleName(webappBundle.getString("ACSN_MatchExpression"));
139         jCbxMatchExpr.getAccessibleContext().setAccessibleDescription(webappBundle.getString("ACSD_MatchExpression"));
140
141         jLblFiller2.setLabelFor(jChkCacheOnMatch);
142         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
143         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 0, 0);
144         add(jLblFiller2, gridBagConstraints);
145
146         jLblCacheOnMatch.setDisplayedMnemonic(webappBundle.getString("MNE_CacheOnMatch").charAt(0));
147         jLblCacheOnMatch.setLabelFor(jChkCacheOnMatch);
148         jLblCacheOnMatch.setText(webappBundle.getString("LBL_CacheOnMatch_1"));
149         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
150         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
151         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 0, 0);
152         add(jLblCacheOnMatch, gridBagConstraints);
153
154         jChkCacheOnMatch.addItemListener(new java.awt.event.ItemListener JavaDoc() {
155             public void itemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {
156                 jChkCacheOnMatchItemStateChanged(evt);
157             }
158         });
159
160         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
161         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
162         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
163         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 0, 5);
164         add(jChkCacheOnMatch, gridBagConstraints);
165         jChkCacheOnMatch.getAccessibleContext().setAccessibleName(webappBundle.getString("ACSN_CacheOnMatch"));
166         jChkCacheOnMatch.getAccessibleContext().setAccessibleDescription(webappBundle.getString("ACSD_CacheOnMatch"));
167
168         jLblFiller3.setLabelFor(jChkCacheOnMatchFailure);
169         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
170         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 0, 0);
171         add(jLblFiller3, gridBagConstraints);
172
173         jLblCacheOnMatchFailure.setDisplayedMnemonic(webappBundle.getString("MNE_CacheOnMatchFailure").charAt(0));
174         jLblCacheOnMatchFailure.setLabelFor(jChkCacheOnMatchFailure);
175         jLblCacheOnMatchFailure.setText(webappBundle.getString("LBL_CacheOnMatchFailure_1"));
176         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
177         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
178         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 0, 0);
179         add(jLblCacheOnMatchFailure, gridBagConstraints);
180
181         jChkCacheOnMatchFailure.addItemListener(new java.awt.event.ItemListener JavaDoc() {
182             public void itemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {
183                 jChkCacheOnMatchFailureItemStateChanged(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.insets = new java.awt.Insets JavaDoc(6, 6, 0, 5);
191         add(jChkCacheOnMatchFailure, gridBagConstraints);
192         jChkCacheOnMatchFailure.getAccessibleContext().setAccessibleName(webappBundle.getString("ACSN_CacheOnMatchFailure"));
193         jChkCacheOnMatchFailure.getAccessibleContext().setAccessibleDescription(webappBundle.getString("ACSD_CacheOnMatchFailure"));
194
195         jLblFiller4.setLabelFor(jChkCacheOnMatchFailure);
196         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
197         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 5, 0);
198         add(jLblFiller4, gridBagConstraints);
199
200         jLblMatchFieldValue.setDisplayedMnemonic(webappBundle.getString("MNE_MatchFieldValue").charAt(0));
201         jLblMatchFieldValue.setLabelFor(jTxtMatchFieldValue);
202         jLblMatchFieldValue.setText(webappBundle.getString("LBL_MatchFieldValue_1"));
203         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
204         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
205         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 5, 0);
206         add(jLblMatchFieldValue, gridBagConstraints);
207
208         jTxtMatchFieldValue.addKeyListener(new java.awt.event.KeyAdapter JavaDoc() {
209             public void keyReleased(java.awt.event.KeyEvent JavaDoc evt) {
210                 jTxtMatchFieldValueKeyReleased(evt);
211             }
212         });
213
214         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
215         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
216         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
217         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 5, 5);
218         add(jTxtMatchFieldValue, gridBagConstraints);
219         jTxtMatchFieldValue.getAccessibleContext().setAccessibleName(webappBundle.getString("ACSN_MatchFieldValue"));
220         jTxtMatchFieldValue.getAccessibleContext().setAccessibleDescription(webappBundle.getString("ACSD_MatchFieldValue"));
221
222     }// </editor-fold>//GEN-END:initComponents
223

224     private void jTxtMatchFieldValueKeyReleased(java.awt.event.KeyEvent JavaDoc evt) {//GEN-FIRST:event_jTxtMatchFieldValueKeyReleased
225
matchValue = jTxtMatchFieldValue.getText();
226         firePropertyChange(Constants.USER_DATA_CHANGED, null, null);
227     }//GEN-LAST:event_jTxtMatchFieldValueKeyReleased
228

229     private void jChkCacheOnMatchFailureItemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {//GEN-FIRST:event_jChkCacheOnMatchFailureItemStateChanged
230
cacheOnMatchFailure = Utils.interpretCheckboxState(evt);
231         firePropertyChange(Constants.USER_DATA_CHANGED, null, null);
232     }//GEN-LAST:event_jChkCacheOnMatchFailureItemStateChanged
233

234     private void jChkCacheOnMatchItemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {//GEN-FIRST:event_jChkCacheOnMatchItemStateChanged
235
cacheOnMatch = Utils.interpretCheckboxState(evt);
236         firePropertyChange(Constants.USER_DATA_CHANGED, null, null);
237     }//GEN-LAST:event_jChkCacheOnMatchItemStateChanged
238

239     private void jCbxMatchExprActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jCbxMatchExprActionPerformed
240
TextMapping expr = (TextMapping) matchExpressionModel.getSelectedItem();
241         matchExpression = expr.getXMLString();
242         firePropertyChange(Constants.USER_DATA_CHANGED, null, null);
243     }//GEN-LAST:event_jCbxMatchExprActionPerformed
244

245     // Variables declaration - do not modify//GEN-BEGIN:variables
246
private javax.swing.JComboBox JavaDoc jCbxMatchExpr;
247     private javax.swing.JCheckBox JavaDoc jChkCacheOnMatch;
248     private javax.swing.JCheckBox JavaDoc jChkCacheOnMatchFailure;
249     private javax.swing.JLabel JavaDoc jLblCacheOnMatch;
250     private javax.swing.JLabel JavaDoc jLblCacheOnMatchFailure;
251     private javax.swing.JLabel JavaDoc jLblFiller2;
252     private javax.swing.JLabel JavaDoc jLblFiller3;
253     private javax.swing.JLabel JavaDoc jLblFiller4;
254     private javax.swing.JLabel JavaDoc jLblMatchExpr;
255     private javax.swing.JLabel JavaDoc jLblMatchExprReq;
256     private javax.swing.JLabel JavaDoc jLblMatchFieldValue;
257     private javax.swing.JTextField JavaDoc jTxtMatchFieldValue;
258     // End of variables declaration//GEN-END:variables
259

260     private void initUserComponents() {
261         // Setup match expression combobox
262
matchExpressionModel = new DefaultComboBoxModel JavaDoc();
263         for(int i = 0; i < matchTypes.length; i++) {
264             matchExpressionModel.addElement(matchTypes[i]);
265         }
266         jCbxMatchExpr.setModel(matchExpressionModel);
267     }
268     
269     private TextMapping getExpressionMapping(String JavaDoc xmlKey) {
270         TextMapping result = matchTypes[0]; // Default to EQUALS
271
if(xmlKey == null) {
272             xmlKey = ""; // NOI18N
273
}
274         for(int i = 0; i < matchTypes.length; i++) {
275             if(matchTypes[i].getXMLString().compareTo(xmlKey) == 0) {
276                 result = matchTypes[i];
277                 break;
278             }
279         }
280         
281         return result;
282     }
283     
284     /** -----------------------------------------------------------------------
285      * Implementation of GenericTableDialogPanelAccessor interface
286      */

287     public void init(ASDDVersion asVersion, int preferredWidth, java.util.List JavaDoc entries, Object JavaDoc data) {
288         setPreferredSize(new Dimension JavaDoc(preferredWidth, getPreferredSize().height));
289     }
290     
291     public Object JavaDoc[] getValues() {
292         Object JavaDoc [] result = new Object JavaDoc[NUM_FIELDS];
293         
294         result[MATCH_EXPR_FIELD] = matchExpression;
295         result[CACHEONMATCH_FIELD] = Boolean.toString(cacheOnMatch);
296         result[CACHEONMATCHFAILURE_FIELD] = Boolean.toString(cacheOnMatchFailure);
297         result[MATCH_VALUE_FIELD] = (matchValue != null) ? matchValue : ""; // NOI18N
298

299         return result;
300     }
301     
302     public void setValues(Object JavaDoc[] values) {
303         if(values != null && values.length == NUM_FIELDS) {
304             matchExpression = (String JavaDoc) values[MATCH_EXPR_FIELD];
305             cacheOnMatch = Utils.booleanValueOf((String JavaDoc) values[CACHEONMATCH_FIELD]);
306             cacheOnMatchFailure = Utils.booleanValueOf((String JavaDoc) values[CACHEONMATCHFAILURE_FIELD]);
307             matchValue = (String JavaDoc) values[MATCH_VALUE_FIELD];
308         } else {
309             if(values != null) {
310                 assert (values.length == NUM_FIELDS); // Should fail
311
}
312             
313             // default values
314
matchExpression = "equals"; // NOI18N
315
cacheOnMatch = true;
316             cacheOnMatchFailure = false;
317             matchValue = ""; // NOI18N
318
}
319
320         setComponentValues();
321     }
322     
323     private void setComponentValues() {
324         matchExpressionModel.setSelectedItem(getExpressionMapping(matchExpression));
325         jChkCacheOnMatch.setSelected(cacheOnMatch);
326         jChkCacheOnMatchFailure.setSelected(cacheOnMatchFailure);
327         jTxtMatchFieldValue.setText(matchValue);
328     }
329
330     public Collection JavaDoc getErrors(ValidationSupport validationSupport) {
331         // No validation for this panel. All is done via UI elements.
332
return new ArrayList JavaDoc();
333     }
334     
335     public boolean requiredFieldsFilled() {
336         return (matchValue != null && matchValue.length() > 0);
337     }
338 }
339
Popular Tags