1 19 24 25 package org.netbeans.modules.j2ee.sun.share.configbean.customizers.webapp; 26 27 import java.util.ArrayList ; 28 import java.util.Collection ; 29 import java.util.ResourceBundle ; 30 31 import java.awt.Dimension ; 32 33 import javax.swing.JPanel ; 34 import javax.swing.DefaultComboBoxModel ; 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 47 public class ConstraintFieldValueEntryPanel extends JPanel implements GenericTableDialogPanelAccessor { 48 49 private static final ResourceBundle webappBundle = ResourceBundle.getBundle( 50 "org.netbeans.modules.j2ee.sun.share.configbean.customizers.webapp.Bundle"); 52 private static final ResourceBundle commonBundle = ResourceBundle.getBundle( 53 "org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.Bundle"); 55 private static final TextMapping [] matchTypes = ScopeMapping.getMatchExpressionMappings(); 56 57 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; 64 private String matchExpression; 66 private boolean cacheOnMatch; 67 private boolean cacheOnMatchFailure; 68 private String matchValue; 69 70 private DefaultComboBoxModel matchExpressionModel; 72 73 74 75 public ConstraintFieldValueEntryPanel() { 76 matchExpression = "equals"; cacheOnMatch = true; 79 cacheOnMatchFailure = false; 80 matchValue = ""; 82 initComponents(); 83 initUserComponents(); 84 } 85 86 91 private void initComponents() { 93 java.awt.GridBagConstraints gridBagConstraints; 94 95 jLblMatchExprReq = new javax.swing.JLabel (); 96 jLblMatchExpr = new javax.swing.JLabel (); 97 jCbxMatchExpr = new javax.swing.JComboBox (); 98 jLblFiller2 = new javax.swing.JLabel (); 99 jLblCacheOnMatch = new javax.swing.JLabel (); 100 jChkCacheOnMatch = new javax.swing.JCheckBox (); 101 jLblFiller3 = new javax.swing.JLabel (); 102 jLblCacheOnMatchFailure = new javax.swing.JLabel (); 103 jChkCacheOnMatchFailure = new javax.swing.JCheckBox (); 104 jLblFiller4 = new javax.swing.JLabel (); 105 jLblMatchFieldValue = new javax.swing.JLabel (); 106 jTxtMatchFieldValue = new javax.swing.JTextField (); 107 108 setLayout(new java.awt.GridBagLayout ()); 109 110 jLblMatchExprReq.setLabelFor(jCbxMatchExpr); 111 jLblMatchExprReq.setText(commonBundle.getString("LBL_RequiredMark")); 112 gridBagConstraints = new java.awt.GridBagConstraints (); 113 gridBagConstraints.insets = new java.awt.Insets (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 (); 122 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 123 gridBagConstraints.insets = new java.awt.Insets (6, 6, 0, 0); 124 add(jLblMatchExpr, gridBagConstraints); 125 126 jCbxMatchExpr.addActionListener(new java.awt.event.ActionListener () { 127 public void actionPerformed(java.awt.event.ActionEvent evt) { 128 jCbxMatchExprActionPerformed(evt); 129 } 130 }); 131 132 gridBagConstraints = new java.awt.GridBagConstraints (); 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 (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 (); 143 gridBagConstraints.insets = new java.awt.Insets (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 (); 150 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 151 gridBagConstraints.insets = new java.awt.Insets (6, 6, 0, 0); 152 add(jLblCacheOnMatch, gridBagConstraints); 153 154 jChkCacheOnMatch.addItemListener(new java.awt.event.ItemListener () { 155 public void itemStateChanged(java.awt.event.ItemEvent evt) { 156 jChkCacheOnMatchItemStateChanged(evt); 157 } 158 }); 159 160 gridBagConstraints = new java.awt.GridBagConstraints (); 161 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 162 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 163 gridBagConstraints.insets = new java.awt.Insets (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 (); 170 gridBagConstraints.insets = new java.awt.Insets (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 (); 177 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 178 gridBagConstraints.insets = new java.awt.Insets (6, 6, 0, 0); 179 add(jLblCacheOnMatchFailure, gridBagConstraints); 180 181 jChkCacheOnMatchFailure.addItemListener(new java.awt.event.ItemListener () { 182 public void itemStateChanged(java.awt.event.ItemEvent evt) { 183 jChkCacheOnMatchFailureItemStateChanged(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.insets = new java.awt.Insets (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 (); 197 gridBagConstraints.insets = new java.awt.Insets (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 (); 204 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 205 gridBagConstraints.insets = new java.awt.Insets (6, 6, 5, 0); 206 add(jLblMatchFieldValue, gridBagConstraints); 207 208 jTxtMatchFieldValue.addKeyListener(new java.awt.event.KeyAdapter () { 209 public void keyReleased(java.awt.event.KeyEvent evt) { 210 jTxtMatchFieldValueKeyReleased(evt); 211 } 212 }); 213 214 gridBagConstraints = new java.awt.GridBagConstraints (); 215 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 216 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 217 gridBagConstraints.insets = new java.awt.Insets (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 } 224 private void jTxtMatchFieldValueKeyReleased(java.awt.event.KeyEvent evt) { matchValue = jTxtMatchFieldValue.getText(); 226 firePropertyChange(Constants.USER_DATA_CHANGED, null, null); 227 } 229 private void jChkCacheOnMatchFailureItemStateChanged(java.awt.event.ItemEvent evt) { cacheOnMatchFailure = Utils.interpretCheckboxState(evt); 231 firePropertyChange(Constants.USER_DATA_CHANGED, null, null); 232 } 234 private void jChkCacheOnMatchItemStateChanged(java.awt.event.ItemEvent evt) { cacheOnMatch = Utils.interpretCheckboxState(evt); 236 firePropertyChange(Constants.USER_DATA_CHANGED, null, null); 237 } 239 private void jCbxMatchExprActionPerformed(java.awt.event.ActionEvent evt) { TextMapping expr = (TextMapping) matchExpressionModel.getSelectedItem(); 241 matchExpression = expr.getXMLString(); 242 firePropertyChange(Constants.USER_DATA_CHANGED, null, null); 243 } 245 private javax.swing.JComboBox jCbxMatchExpr; 247 private javax.swing.JCheckBox jChkCacheOnMatch; 248 private javax.swing.JCheckBox jChkCacheOnMatchFailure; 249 private javax.swing.JLabel jLblCacheOnMatch; 250 private javax.swing.JLabel jLblCacheOnMatchFailure; 251 private javax.swing.JLabel jLblFiller2; 252 private javax.swing.JLabel jLblFiller3; 253 private javax.swing.JLabel jLblFiller4; 254 private javax.swing.JLabel jLblMatchExpr; 255 private javax.swing.JLabel jLblMatchExprReq; 256 private javax.swing.JLabel jLblMatchFieldValue; 257 private javax.swing.JTextField jTxtMatchFieldValue; 258 260 private void initUserComponents() { 261 matchExpressionModel = new DefaultComboBoxModel (); 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 xmlKey) { 270 TextMapping result = matchTypes[0]; if(xmlKey == null) { 272 xmlKey = ""; } 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 287 public void init(ASDDVersion asVersion, int preferredWidth, java.util.List entries, Object data) { 288 setPreferredSize(new Dimension (preferredWidth, getPreferredSize().height)); 289 } 290 291 public Object [] getValues() { 292 Object [] result = new Object [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 : ""; 299 return result; 300 } 301 302 public void setValues(Object [] values) { 303 if(values != null && values.length == NUM_FIELDS) { 304 matchExpression = (String ) values[MATCH_EXPR_FIELD]; 305 cacheOnMatch = Utils.booleanValueOf((String ) values[CACHEONMATCH_FIELD]); 306 cacheOnMatchFailure = Utils.booleanValueOf((String ) values[CACHEONMATCHFAILURE_FIELD]); 307 matchValue = (String ) values[MATCH_VALUE_FIELD]; 308 } else { 309 if(values != null) { 310 assert (values.length == NUM_FIELDS); } 312 313 matchExpression = "equals"; cacheOnMatch = true; 316 cacheOnMatchFailure = false; 317 matchValue = ""; } 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 getErrors(ValidationSupport validationSupport) { 331 return new ArrayList (); 333 } 334 335 public boolean requiredFieldsFilled() { 336 return (matchValue != null && matchValue.length() > 0); 337 } 338 } 339 | Popular Tags |