1 19 package org.netbeans.modules.j2ee.websphere6.dd.loaders.ui; 20 21 import org.netbeans.modules.j2ee.websphere6.dd.beans.ExtendedServletsType; 22 import org.netbeans.modules.j2ee.websphere6.dd.beans.MarkupLanguagesType; 23 import org.netbeans.modules.j2ee.websphere6.dd.beans.WSWebExt; 24 import org.netbeans.modules.j2ee.websphere6.dd.loaders.webext.WSWebExtDataObject; 25 import org.netbeans.modules.xml.multiview.*; 26 import org.netbeans.modules.xml.multiview.ui.*; 27 import org.netbeans.modules.xml.multiview.Error; 28 import org.openide.util.NbBundle; 29 30 34 public class WSExtendedServletPanel extends SectionInnerPanel implements java.awt.event.ItemListener , javax.swing.event.ChangeListener { 35 36 ExtendedServletsType extendedServlet; 38 WSWebExtDataObject dObj; 39 SectionView view; 40 41 private javax.swing.JCheckBox localTransactionCheckBox; 42 private javax.swing.JTextField transactionNameField; 43 private javax.swing.JLabel nameLabel; 44 private javax.swing.JLabel unresolvedLabel; 45 private javax.swing.JComboBox unresolvedActionComboBox; 46 private javax.swing.JCheckBox resolverCheckBox; 47 private javax.swing.JComboBox resolverComboBox; 48 private javax.swing.JCheckBox boundaryCheckBox; 49 private javax.swing.JComboBox boundaryComboBox; 50 51 52 public WSExtendedServletPanel(SectionView view, WSWebExtDataObject dObj, ExtendedServletsType extendedServlet) { 53 super(view); 54 this.view=view; 55 this.dObj=dObj; 56 this.extendedServlet=extendedServlet; 57 initComponents(); 58 59 bindLocalTransactionComponents(); 60 61 initLocalTransactionComponents(); 62 63 ((LocalTransactionPanel)containerPanel).setEnabledComponents(); 64 65 66 nameField.setText(extendedServlet.getXmiId()); 67 hrefField.setText(extendedServlet.getHref()); 68 addModifier(nameField); 69 addModifier(hrefField); 70 addValidatee(nameField); 71 addValidatee(hrefField); 72 73 getSectionView().getErrorPanel().clearError(); 74 75 76 int size=extendedServlet.sizeMarkupLanguages(); 77 MarkupLanguagesType [] markupLanguages = extendedServlet.getMarkupLanguages(); 78 for(int i=0;i<size;i++) { 79 markupLanguagesTabPanel.addTab(""+(i+1),new WSMarkupLanguagesPanel(view,dObj,markupLanguages[i],extendedServlet,markupLanguagesTabPanel)); 80 } 81 82 } 83 84 private void bindLocalTransactionComponents(){ 85 LocalTransactionPanel localTransactionPanel=(LocalTransactionPanel)containerPanel; 86 87 localTransactionCheckBox=localTransactionPanel.getLocalTransactionCheckBox(); 88 transactionNameField=localTransactionPanel.getTransactionNameField(); 89 unresolvedActionComboBox=localTransactionPanel.getUnresolvedActionComboBox(); 90 resolverCheckBox=localTransactionPanel.getResolverCheckBox(); 91 resolverComboBox=localTransactionPanel.getResolverComboBox(); 92 boundaryCheckBox=localTransactionPanel.getBoundaryCheckBox(); 93 boundaryComboBox=localTransactionPanel.getBoundaryComboBox(); 94 nameLabel=localTransactionPanel.getNameLabel(); 95 unresolvedLabel=localTransactionPanel.getUnresolvedActionLable(); 96 localTransactionPanel.setComponentsBackground(SectionVisualTheme.getSectionActiveBackgroundColor()); 97 } 98 99 100 public void initLocalTransactionComponents() { 101 addModifier(transactionNameField); 102 addValidatee(transactionNameField); 103 boolean localTransactionEnabled=(extendedServlet.getLocalTransaction()==null)?false:true; 104 localTransactionCheckBox.setSelected(localTransactionEnabled); 105 106 if(localTransactionEnabled) { 107 transactionNameField.setText(extendedServlet.getLocalTransactionXmiId()); 108 109 unresolvedActionComboBox.setSelectedItem(extendedServlet.getLocalTransactionUnresolvedAction()); 110 String str=extendedServlet.getLocalTransactionResolver(); 111 if(str==null) { 112 resolverCheckBox.setSelected(false); 113 } else { 114 resolverCheckBox.setSelected(true); 115 resolverComboBox.setSelectedItem(str); 116 } 117 118 str=extendedServlet.getLocalTransactionBoundary(); 119 if(str==null) { 120 boundaryCheckBox.setSelected(false); 121 } else { 122 boundaryCheckBox.setSelected(true); 123 boundaryComboBox.setSelectedItem(str); 124 } 125 } 126 127 128 localTransactionCheckBox.addItemListener(this); 129 unresolvedActionComboBox.addItemListener(this); 130 131 resolverCheckBox.addItemListener(this); 132 resolverComboBox.addItemListener(this); 133 134 boundaryCheckBox.addItemListener(this); 135 boundaryComboBox.addItemListener(this); 136 } 137 138 public void setValue(javax.swing.JComponent source, Object value) { 139 if (source==nameField) { 140 extendedServlet.setXmiId((String )value); 141 } else if (source==hrefField) { 142 extendedServlet.setHref((String )value); 143 } else if(source==transactionNameField) { 144 extendedServlet.setLocalTransactionXmiId((String )value); 145 } 146 147 } 148 149 public void stateChanged(javax.swing.event.ChangeEvent evt) { 150 dObj.modelUpdatedFromUI(); 152 } 153 154 155 public void changeLocalTransactionState() { 156 ((LocalTransactionPanel)containerPanel).setEnabledComponents(); 157 if(localTransactionCheckBox.isSelected()) { 158 extendedServlet.setLocalTransaction(""); 159 extendedServlet.setLocalTransactionXmiId(transactionNameField.getText()); 160 161 extendedServlet.setLocalTransactionUnresolvedAction( 162 unresolvedActionComboBox.getSelectedItem().toString()); 163 164 extendedServlet.setLocalTransactionResolver( 165 resolverCheckBox.isSelected()? 166 resolverComboBox.getSelectedItem().toString(): 167 null); 168 extendedServlet.setLocalTransactionBoundary( 169 boundaryCheckBox.isSelected()? 170 boundaryComboBox.getSelectedItem().toString(): 171 null); 172 } else { 173 extendedServlet.setLocalTransaction(null); 174 } 176 177 } 178 179 180 public void itemStateChanged(java.awt.event.ItemEvent evt) { 181 dObj.setChangedFromUI(true); 183 extendedServlet.setXmiId(nameField.getText()); 184 extendedServlet.setHref(hrefField.getText()); 185 changeLocalTransactionState(); 186 dObj.modelUpdatedFromUI(); 187 dObj.setChangedFromUI(false); 188 } 189 190 191 public javax.swing.JTextField getNameField() { 192 return nameField; 193 } 194 public javax.swing.JTextField getHrefField() { 195 return hrefField; 196 } 197 public void linkButtonPressed(Object ddBean, String ddProperty) { 198 } 199 200 public void documentChanged(javax.swing.text.JTextComponent comp, String value) { 201 if (comp==nameField) { 202 String val = (String )value; 203 if (val.length()==0) { 204 getSectionView() 205 .getErrorPanel() 206 .setError(new Error (Error.MISSING_VALUE_MESSAGE, "Extended Servlet Name", comp)); 207 return; 208 } 209 getSectionView().getErrorPanel().clearError(); 210 } 211 if (comp==hrefField) { 212 String val = (String )value; 213 if (val.length()==0) { 214 getSectionView() 215 .getErrorPanel() 216 .setError(new Error (Error.MISSING_VALUE_MESSAGE, "Extended Servlet HREF", comp)); 217 return; 218 } 219 getSectionView().getErrorPanel().clearError(); 220 } 221 if (comp==transactionNameField) { 222 String val = (String )value; 223 if (val.length()==0) { 224 getSectionView() 225 .getErrorPanel() 226 .setError(new Error (Error.MISSING_VALUE_MESSAGE, "Local transaction name", comp)); 227 return; 228 } 229 getSectionView().getErrorPanel().clearError(); 230 } 231 } 232 233 public void rollbackValue(javax.swing.text.JTextComponent source) { 234 if (nameField==source) { 235 nameField.setText(extendedServlet.getXmiId()); 236 } 237 if (hrefField==source) { 238 hrefField.setText(extendedServlet.getHref()); 239 } 240 if (transactionNameField==source) { 241 transactionNameField.setText(extendedServlet.getLocalTransactionXmiId()); 242 } 243 244 } 245 249 250 public javax.swing.JComponent getErrorComponent(String errorId) { 251 if ("Extended Servlet Name".equals(errorId)) return nameField; 252 if ("Extended Servlet HREF".equals(errorId)) return hrefField; 253 if("Local transaction name".equals(errorId)) return transactionNameField; 254 return null; 255 } 256 257 258 260 protected void startUIChange() { 261 dObj.setChangedFromUI(true); 262 } 263 264 266 protected void endUIChange() { 267 dObj.modelUpdatedFromUI(); 268 dObj.setChangedFromUI(false); 269 } 270 271 272 277 private void initComponents() { 279 jLabel1 = new javax.swing.JLabel (); 280 hrefField = new javax.swing.JTextField (); 281 jLabel2 = new javax.swing.JLabel (); 282 nameField = new javax.swing.JTextField (); 283 jSeparator1 = new javax.swing.JSeparator (); 284 jSeparator2 = new javax.swing.JSeparator (); 285 jLabel5 = new javax.swing.JLabel (); 286 markupLanguagesTabPanel = new javax.swing.JTabbedPane (); 287 addMarkupLanguagesButton = new javax.swing.JButton (); 288 containerPanel = new LocalTransactionPanel(); 289 290 jLabel1.setText("HREF:"); 291 292 jLabel2.setText("Name:"); 293 294 jLabel5.setText(java.util.ResourceBundle.getBundle("org/netbeans/modules/j2ee/websphere6/dd/loaders/ui/Bundle").getString("LBL_MarkupLanguages")); 295 296 addMarkupLanguagesButton.setText(java.util.ResourceBundle.getBundle("org/netbeans/modules/j2ee/websphere6/dd/loaders/ui/Bundle").getString("LBL_AddMarkupLanguage")); 297 addMarkupLanguagesButton.addActionListener(new java.awt.event.ActionListener () { 298 public void actionPerformed(java.awt.event.ActionEvent evt) { 299 addMarkupLanguagesButtonActionPerformed(evt); 300 } 301 }); 302 303 containerPanel.setBackground(new java.awt.Color (255, 255, 255)); 304 305 org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this); 306 this.setLayout(layout); 307 layout.setHorizontalGroup( 308 layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) 309 .add(layout.createSequentialGroup() 310 .addContainerGap() 311 .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) 312 .add(jLabel2) 313 .add(jLabel1)) 314 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) 315 .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) 316 .add(nameField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) 317 .add(hrefField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) 318 .add(10, 10, 10)) 319 .add(org.jdesktop.layout.GroupLayout.TRAILING, jSeparator1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 497, Short.MAX_VALUE) 320 .add(layout.createSequentialGroup() 321 .addContainerGap() 322 .add(containerPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 477, Short.MAX_VALUE) 323 .addContainerGap()) 324 .add(layout.createSequentialGroup() 325 .add(jSeparator2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 487, Short.MAX_VALUE) 326 .addContainerGap()) 327 .add(layout.createSequentialGroup() 328 .addContainerGap() 329 .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) 330 .add(markupLanguagesTabPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 477, Short.MAX_VALUE) 331 .add(layout.createSequentialGroup() 332 .add(jLabel5) 333 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 242, Short.MAX_VALUE) 334 .add(addMarkupLanguagesButton))) 335 .addContainerGap()) 336 ); 337 layout.setVerticalGroup( 338 layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) 339 .add(layout.createSequentialGroup() 340 .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) 341 .add(jLabel2) 342 .add(nameField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) 343 .add(6, 6, 6) 344 .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) 345 .add(hrefField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) 346 .add(jLabel1)) 347 .add(6, 6, 6) 348 .add(jSeparator1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 10, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) 349 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) 350 .add(containerPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 52, Short.MAX_VALUE) 351 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) 352 .add(jSeparator2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 10, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) 353 .add(14, 14, 14) 354 .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) 355 .add(jLabel5) 356 .add(addMarkupLanguagesButton)) 357 .add(11, 11, 11) 358 .add(markupLanguagesTabPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) 359 .addContainerGap()) 360 ); 361 } 363 private void addMarkupLanguagesButtonActionPerformed(java.awt.event.ActionEvent evt) { 365 final MarkupLanguagePanel dialogPanel=new MarkupLanguagePanel(); 366 final EditDialog dialog = new EditDialog(dialogPanel,NbBundle.getMessage(WSExtendedServletPanel.class,"TTL_MarkupLanguages"),true) { 367 protected String validate() { 368 String id = dialogPanel.getIdField().getText().trim(); 369 String name = ((String )dialogPanel.getNameComboBox().getSelectedItem()).trim(); 370 String mimeType = ((String )dialogPanel.getMimeTypeComboBox().getSelectedItem()).trim(); 371 int size=extendedServlet.sizeMarkupLanguages(); 372 373 for(int i=0;i<size;i++) { 374 MarkupLanguagesType ml=extendedServlet.getMarkupLanguages(i); 375 if(ml.getXmiId().equals(id)) { 376 return NbBundle.getMessage(WSExtendedServletPanel.class,"TXT_CurrentIdExists"); 377 } 378 } 379 return null; 380 } 381 }; 382 dialog.setValid(false); 384 385 javax.swing.event.DocumentListener docListener = new EditDialog.DocListener(dialog); 386 dialogPanel.getIdField().getDocument().addDocumentListener(docListener); 387 dialogPanel.getNameComboBox().addActionListener(new java.awt.event.ActionListener () { 388 public void actionPerformed(java.awt.event.ActionEvent evt) { 389 dialog.checkValues(); 390 } 391 }); 392 dialogPanel.getMimeTypeComboBox().addActionListener(new java.awt.event.ActionListener () { 393 public void actionPerformed(java.awt.event.ActionEvent evt) { 394 dialog.checkValues(); 395 } 396 }); 397 398 399 java.awt.Dialog d = org.openide.DialogDisplayer.getDefault().createDialog(dialog); 400 d.setVisible(true); 401 dialogPanel.getIdField().getDocument().removeDocumentListener(docListener); 402 403 if (dialog.getValue().equals(EditDialog.OK_OPTION)) { 404 dObj.setChangedFromUI(true); 405 MarkupLanguagesType markupLang=new MarkupLanguagesType(); 406 markupLang.setXmiId(dialogPanel.getIdField().getText().trim()); 407 markupLang.setName(((String ) dialogPanel.getNameComboBox().getSelectedItem())); 408 markupLang.setMimeType(((String ) dialogPanel.getMimeTypeComboBox().getSelectedItem())); 409 markupLang.setErrorPage(""); 410 markupLang.setDefaultPage(""); 411 extendedServlet.addMarkupLanguages(markupLang); 412 int count=markupLanguagesTabPanel.getTabCount(); 413 markupLanguagesTabPanel.addTab(""+(count+1),new WSMarkupLanguagesPanel(view,dObj,markupLang,extendedServlet,markupLanguagesTabPanel)); 414 markupLanguagesTabPanel.setSelectedIndex(count); 415 markupLanguagesTabPanel.getTitleAt(count); 416 417 dObj.modelUpdatedFromUI(); 418 dObj.setChangedFromUI(false); 419 } 420 421 } 423 424 private javax.swing.JButton addMarkupLanguagesButton; 426 private javax.swing.JPanel containerPanel; 427 private javax.swing.JTextField hrefField; 428 private javax.swing.JLabel jLabel1; 429 private javax.swing.JLabel jLabel2; 430 private javax.swing.JLabel jLabel5; 431 private javax.swing.JSeparator jSeparator1; 432 private javax.swing.JSeparator jSeparator2; 433 private javax.swing.JTabbedPane markupLanguagesTabPanel; 434 private javax.swing.JTextField nameField; 435 437 } 438 | Popular Tags |