1 19 20 package org.netbeans.modules.j2ee.ddloaders.web.multiview; 21 22 import org.netbeans.modules.j2ee.dd.api.web.FilterMapping; 23 import org.openide.util.NbBundle; 24 25 32 public class FilterMappingPanel extends javax.swing.JPanel { 33 private FilterMapping fm; 34 private boolean hasFilterNames=true; 35 private boolean hasServletNames=true; 36 private static final String [] dispatcherTypes = { 37 "REQUEST","FORWARD", "INCLUDE", "ERROR" }; 39 40 41 public FilterMappingPanel(FilterMapping fm, String [] filterNames, String [] servletNames) { 42 this.fm=fm; 43 initComponents(); 44 jCheckBox1.setText(dispatcherTypes[0]); 45 jCheckBox2.setText(dispatcherTypes[1]); 46 jCheckBox3.setText(dispatcherTypes[2]); 47 jCheckBox4.setText(dispatcherTypes[3]); 48 jCheckBox1.setMnemonic(dispatcherTypes[0].charAt(0)); 49 jCheckBox2.setMnemonic(dispatcherTypes[1].charAt(0)); 50 jCheckBox3.setMnemonic(dispatcherTypes[2].charAt(0)); 51 jCheckBox4.setMnemonic(dispatcherTypes[3].charAt(0)); 52 53 if(filterNames == null || filterNames.length == 0) { 55 filterNames = new String [1]; 56 filterNames[0] = NbBundle.getMessage(FilterMappingPanel.class,"LBL_no_filters"); 57 hasFilterNames = false; 58 } 59 for (int i=0;i<filterNames.length;i++) filterNameCB.addItem(filterNames[i]); 60 61 if(servletNames == null || servletNames.length == 0) { 63 servletNames = new String [1]; 64 servletNames[0] = NbBundle.getMessage(FilterMappingPanel.class,"LBL_no_servlets"); 65 hasServletNames = false; 66 } 67 for (int i=0;i<servletNames.length;i++) servletNameCB.addItem(servletNames[i]); 68 if (!hasServletNames) { 69 jRadioButton2.setEnabled(false); 70 } 71 72 String servletName = fm.getServletName(); 73 if (servletName != null) { 74 jRadioButton2.setSelected(true); 75 urlTF.setEnabled(false); 76 servletNameCB.setSelectedItem(servletName); 77 } else { 78 jRadioButton1.setSelected(true); 79 urlTF.setText(fm.getUrlPattern()); 80 servletNameCB.setEnabled(false); 81 } 82 try { 83 String [] dispTypes = fm.getDispatcher(); 84 for (int i=0;i<dispTypes.length;i++) { 85 if (dispatcherTypes[0].equals(dispTypes[i])) jCheckBox1.setSelected(true); 86 else if (dispatcherTypes[1].equals(dispTypes[i])) jCheckBox2.setSelected(true); 87 else if (dispatcherTypes[2].equals(dispTypes[i])) jCheckBox3.setSelected(true); 88 else if (dispatcherTypes[3].equals(dispTypes[i])) jCheckBox4.setSelected(true); 89 } 90 } catch (org.netbeans.modules.j2ee.dd.api.common.VersionNotSupportedException ex) {} 91 } 92 93 javax.swing.JTextField getUrlTF() { 94 return urlTF; 95 } 96 javax.swing.JRadioButton getUrlRB() { 97 return jRadioButton1; 98 } 99 javax.swing.JRadioButton getServletNameRB() { 100 return jRadioButton2; 101 } 102 String getUrlPattern() { 103 return (jRadioButton1.isSelected()?urlTF.getText().trim():null); 104 } 105 String getServletName() { 106 return (jRadioButton2.isSelected()?(String )servletNameCB.getSelectedItem():null); 107 } 108 String getFilterName() { 109 return (hasFilterNames?(String )filterNameCB.getSelectedItem():null); 110 } 111 String [] getDispatcherTypes() { 112 java.util.List list = new java.util.ArrayList (); 113 if (jCheckBox1.isSelected()) list.add(dispatcherTypes[0]); 114 if (jCheckBox2.isSelected()) list.add(dispatcherTypes[1]); 115 if (jCheckBox3.isSelected()) list.add(dispatcherTypes[2]); 116 if (jCheckBox4.isSelected()) list.add(dispatcherTypes[3]); 117 String [] ret = new String [list.size()]; 118 list.toArray(ret); 119 return ret; 120 } 121 122 boolean hasFilterNames() { 123 return hasFilterNames; 124 } 125 boolean hasServletNames() { 126 return hasServletNames; 127 } 128 129 134 private void initComponents() { java.awt.GridBagConstraints gridBagConstraints; 136 137 buttonGroup1 = new javax.swing.ButtonGroup (); 138 jLabel1 = new javax.swing.JLabel (); 139 filterNameCB = new javax.swing.JComboBox (); 140 jLabel4 = new javax.swing.JLabel (); 141 jPanel1 = new javax.swing.JPanel (); 142 jCheckBox1 = new javax.swing.JCheckBox (); 143 jCheckBox2 = new javax.swing.JCheckBox (); 144 jCheckBox3 = new javax.swing.JCheckBox (); 145 jCheckBox4 = new javax.swing.JCheckBox (); 146 jPanel2 = new javax.swing.JPanel (); 147 servletNameCB = new javax.swing.JComboBox (); 148 urlTF = new javax.swing.JTextField (); 149 jRadioButton1 = new javax.swing.JRadioButton (); 150 jRadioButton2 = new javax.swing.JRadioButton (); 151 jLabel2 = new javax.swing.JLabel (); 152 153 setLayout(new java.awt.GridBagLayout ()); 154 155 jLabel1.setDisplayedMnemonic(org.openide.util.NbBundle.getMessage(FilterMappingPanel.class, "LBL_filterName_mnem").charAt(0)); 156 jLabel1.setLabelFor(filterNameCB); 157 jLabel1.setText(org.openide.util.NbBundle.getMessage(FilterMappingPanel.class, "LBL_filterName")); 158 gridBagConstraints = new java.awt.GridBagConstraints (); 159 gridBagConstraints.gridx = 0; 160 gridBagConstraints.gridy = 0; 161 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 162 gridBagConstraints.insets = new java.awt.Insets (5, 12, 0, 0); 163 add(jLabel1, gridBagConstraints); 164 165 gridBagConstraints = new java.awt.GridBagConstraints (); 166 gridBagConstraints.gridx = 1; 167 gridBagConstraints.gridy = 0; 168 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 169 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 170 gridBagConstraints.insets = new java.awt.Insets (5, 12, 0, 12); 171 add(filterNameCB, gridBagConstraints); 172 173 jLabel4.setText(org.openide.util.NbBundle.getMessage(FilterMappingPanel.class, "LBL_dispatcherTypes")); 174 gridBagConstraints = new java.awt.GridBagConstraints (); 175 gridBagConstraints.gridx = 0; 176 gridBagConstraints.gridy = 3; 177 gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST; 178 gridBagConstraints.insets = new java.awt.Insets (12, 12, 0, 0); 179 add(jLabel4, gridBagConstraints); 180 181 jPanel1.setBorder(new javax.swing.border.LineBorder (new java.awt.Color (0, 0, 0))); 182 jPanel1.add(jCheckBox1); 183 184 jPanel1.add(jCheckBox2); 185 186 jPanel1.add(jCheckBox3); 187 188 jPanel1.add(jCheckBox4); 189 190 gridBagConstraints = new java.awt.GridBagConstraints (); 191 gridBagConstraints.gridx = 0; 192 gridBagConstraints.gridy = 4; 193 gridBagConstraints.gridwidth = 2; 194 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 195 gridBagConstraints.insets = new java.awt.Insets (0, 12, 0, 12); 196 add(jPanel1, gridBagConstraints); 197 198 jPanel2.setLayout(new java.awt.GridBagLayout ()); 199 200 jPanel2.setBorder(new javax.swing.border.LineBorder (new java.awt.Color (0, 0, 0))); 201 gridBagConstraints = new java.awt.GridBagConstraints (); 202 gridBagConstraints.gridx = 1; 203 gridBagConstraints.gridy = 1; 204 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 205 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 206 gridBagConstraints.insets = new java.awt.Insets (5, 12, 5, 5); 207 jPanel2.add(servletNameCB, gridBagConstraints); 208 209 urlTF.setColumns(20); 210 gridBagConstraints = new java.awt.GridBagConstraints (); 211 gridBagConstraints.gridx = 1; 212 gridBagConstraints.gridy = 0; 213 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 214 gridBagConstraints.insets = new java.awt.Insets (5, 12, 0, 5); 215 jPanel2.add(urlTF, gridBagConstraints); 216 217 buttonGroup1.add(jRadioButton1); 218 jRadioButton1.setMnemonic(org.openide.util.NbBundle.getMessage(FilterMappingPanel.class, "LBL_urlPattern_mnem").charAt(0)); 219 jRadioButton1.setSelected(true); 220 jRadioButton1.setText(org.openide.util.NbBundle.getMessage(FilterMappingPanel.class, "LBL_urlPattern")); 221 jRadioButton1.addActionListener(new java.awt.event.ActionListener () { 222 public void actionPerformed(java.awt.event.ActionEvent evt) { 223 jRadioButton1ActionPerformed(evt); 224 } 225 }); 226 227 gridBagConstraints = new java.awt.GridBagConstraints (); 228 gridBagConstraints.gridx = 0; 229 gridBagConstraints.gridy = 0; 230 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 231 gridBagConstraints.insets = new java.awt.Insets (5, 7, 0, 0); 232 jPanel2.add(jRadioButton1, gridBagConstraints); 233 234 buttonGroup1.add(jRadioButton2); 235 jRadioButton2.setMnemonic(org.openide.util.NbBundle.getMessage(FilterMappingPanel.class, "LBL_servletName_mnem1").charAt(0)); 236 jRadioButton2.setText(org.openide.util.NbBundle.getMessage(FilterMappingPanel.class, "LBL_servletName")); 237 jRadioButton2.addActionListener(new java.awt.event.ActionListener () { 238 public void actionPerformed(java.awt.event.ActionEvent evt) { 239 jRadioButton2ActionPerformed(evt); 240 } 241 }); 242 243 gridBagConstraints = new java.awt.GridBagConstraints (); 244 gridBagConstraints.gridx = 0; 245 gridBagConstraints.gridy = 1; 246 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 247 gridBagConstraints.insets = new java.awt.Insets (5, 7, 5, 0); 248 jPanel2.add(jRadioButton2, gridBagConstraints); 249 250 gridBagConstraints = new java.awt.GridBagConstraints (); 251 gridBagConstraints.gridx = 0; 252 gridBagConstraints.gridy = 2; 253 gridBagConstraints.gridwidth = 2; 254 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 255 gridBagConstraints.insets = new java.awt.Insets (0, 12, 0, 12); 256 add(jPanel2, gridBagConstraints); 257 258 jLabel2.setText(org.openide.util.NbBundle.getMessage(FilterMappingPanel.class, "LBL_applyTo")); 259 gridBagConstraints = new java.awt.GridBagConstraints (); 260 gridBagConstraints.gridx = 0; 261 gridBagConstraints.gridy = 1; 262 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 263 gridBagConstraints.insets = new java.awt.Insets (12, 12, 0, 0); 264 add(jLabel2, gridBagConstraints); 265 266 } 268 private void jRadioButton2ActionPerformed(java.awt.event.ActionEvent evt) { urlTF.setEnabled(false); 271 servletNameCB.setEnabled(true); 272 jRadioButton2.requestFocus(); 273 } 275 private void jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) { urlTF.setEnabled(true); 278 servletNameCB.setEnabled(false); 279 urlTF.requestFocus(); 280 } 282 283 private javax.swing.ButtonGroup buttonGroup1; 285 private javax.swing.JComboBox filterNameCB; 286 private javax.swing.JCheckBox jCheckBox1; 287 private javax.swing.JCheckBox jCheckBox2; 288 private javax.swing.JCheckBox jCheckBox3; 289 private javax.swing.JCheckBox jCheckBox4; 290 private javax.swing.JLabel jLabel1; 291 private javax.swing.JLabel jLabel2; 292 private javax.swing.JLabel jLabel4; 293 private javax.swing.JPanel jPanel1; 294 private javax.swing.JPanel jPanel2; 295 private javax.swing.JRadioButton jRadioButton1; 296 private javax.swing.JRadioButton jRadioButton2; 297 private javax.swing.JComboBox servletNameCB; 298 private javax.swing.JTextField urlTF; 299 301 } 302 | Popular Tags |