KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > j2ee > websphere6 > dd > loaders > ui > WSExtendedServletPanel


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 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 /*
31  *
32  * @author dlm198383
33  */

34 public class WSExtendedServletPanel extends /*javax.swing.JPanel*/ SectionInnerPanel implements java.awt.event.ItemListener JavaDoc, javax.swing.event.ChangeListener JavaDoc {
35     
36     //private WSWebExtRootCustomizer masterPanel;
37
ExtendedServletsType extendedServlet;
38     WSWebExtDataObject dObj;
39     SectionView view;
40     
41     private javax.swing.JCheckBox JavaDoc localTransactionCheckBox;
42     private javax.swing.JTextField JavaDoc transactionNameField;
43     private javax.swing.JLabel JavaDoc nameLabel;
44     private javax.swing.JLabel JavaDoc unresolvedLabel;
45     private javax.swing.JComboBox JavaDoc unresolvedActionComboBox;
46     private javax.swing.JCheckBox JavaDoc resolverCheckBox;
47     private javax.swing.JComboBox JavaDoc resolverComboBox;
48     private javax.swing.JCheckBox JavaDoc boundaryCheckBox;
49     private javax.swing.JComboBox JavaDoc 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(/*markupLanguages[i].getName()*/""+(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 JavaDoc 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 JavaDoc source, Object JavaDoc value) {
139         if (source==nameField) {
140             extendedServlet.setXmiId((String JavaDoc)value);
141         } else if (source==hrefField) {
142             extendedServlet.setHref((String JavaDoc)value);
143         } else if(source==transactionNameField) {
144             extendedServlet.setLocalTransactionXmiId((String JavaDoc)value);
145         }
146         
147     }
148     
149     public void stateChanged(javax.swing.event.ChangeEvent JavaDoc evt) {
150         //webext.setReloadInterval(reloadIntervalSpinner.getValue().toString());
151
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             //extendedServlet.setLocalTransactionXmiId(null);
175
}
176         
177     }
178     
179     
180     public void itemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {
181         // TODO add your handling code here:
182
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 JavaDoc getNameField() {
192         return nameField;
193     }
194     public javax.swing.JTextField JavaDoc getHrefField() {
195         return hrefField;
196     }
197     public void linkButtonPressed(Object JavaDoc ddBean, String JavaDoc ddProperty) {
198     }
199     
200     public void documentChanged(javax.swing.text.JTextComponent JavaDoc comp, String JavaDoc value) {
201         if (comp==nameField) {
202             String JavaDoc val = (String JavaDoc)value;
203             if (val.length()==0) {
204                 getSectionView()
205                 .getErrorPanel()
206                 .setError(new Error JavaDoc(Error.MISSING_VALUE_MESSAGE, "Extended Servlet Name", comp));
207                 return;
208             }
209             getSectionView().getErrorPanel().clearError();
210         }
211         if (comp==hrefField) {
212             String JavaDoc val = (String JavaDoc)value;
213             if (val.length()==0) {
214                 getSectionView()
215                 .getErrorPanel()
216                 .setError(new Error JavaDoc(Error.MISSING_VALUE_MESSAGE, "Extended Servlet HREF", comp));
217                 return;
218             }
219             getSectionView().getErrorPanel().clearError();
220         }
221         if (comp==transactionNameField) {
222             String JavaDoc val = (String JavaDoc)value;
223             if (val.length()==0) {
224                 getSectionView()
225                 .getErrorPanel()
226                 .setError(new Error JavaDoc(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 JavaDoc 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     /*
246     protected void signalUIChange() {
247         dObj.modelUpdatedFromUI();
248     }*/

249     
250     public javax.swing.JComponent JavaDoc getErrorComponent(String JavaDoc 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     /** This will be called before model is changed from this panel
259      */

260     protected void startUIChange() {
261         dObj.setChangedFromUI(true);
262     }
263     
264     /** This will be called after model is changed from this panel
265      */

266     protected void endUIChange() {
267         dObj.modelUpdatedFromUI();
268         dObj.setChangedFromUI(false);
269     }
270     
271     
272     /** This method is called from within the constructor to
273      * initialize the form.
274      * WARNING: Do NOT modify this code. The content of this method is
275      * always regenerated by the Form Editor.
276      */

277     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
278
private void initComponents() {
279         jLabel1 = new javax.swing.JLabel JavaDoc();
280         hrefField = new javax.swing.JTextField JavaDoc();
281         jLabel2 = new javax.swing.JLabel JavaDoc();
282         nameField = new javax.swing.JTextField JavaDoc();
283         jSeparator1 = new javax.swing.JSeparator JavaDoc();
284         jSeparator2 = new javax.swing.JSeparator JavaDoc();
285         jLabel5 = new javax.swing.JLabel JavaDoc();
286         markupLanguagesTabPanel = new javax.swing.JTabbedPane JavaDoc();
287         addMarkupLanguagesButton = new javax.swing.JButton JavaDoc();
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 JavaDoc() {
298             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
299                 addMarkupLanguagesButtonActionPerformed(evt);
300             }
301         });
302
303         containerPanel.setBackground(new java.awt.Color JavaDoc(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     }// </editor-fold>//GEN-END:initComponents
362

363     private void addMarkupLanguagesButtonActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_addMarkupLanguagesButtonActionPerformed
364

365         final MarkupLanguagePanel dialogPanel=new MarkupLanguagePanel();
366         final EditDialog dialog = new EditDialog(dialogPanel,NbBundle.getMessage(WSExtendedServletPanel.class,"TTL_MarkupLanguages"),true) {
367             protected String JavaDoc validate() {
368                 String JavaDoc id = dialogPanel.getIdField().getText().trim();
369                 String JavaDoc name = ((String JavaDoc)dialogPanel.getNameComboBox().getSelectedItem()).trim();
370                 String JavaDoc mimeType = ((String JavaDoc)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); // disable OK button
383

384         
385         javax.swing.event.DocumentListener JavaDoc docListener = new EditDialog.DocListener(dialog);
386         dialogPanel.getIdField().getDocument().addDocumentListener(docListener);
387         dialogPanel.getNameComboBox().addActionListener(new java.awt.event.ActionListener JavaDoc() {
388             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
389                 dialog.checkValues();
390             }
391         });
392         dialogPanel.getMimeTypeComboBox().addActionListener(new java.awt.event.ActionListener JavaDoc() {
393             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
394                 dialog.checkValues();
395             }
396         });
397         
398         
399         java.awt.Dialog JavaDoc 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 JavaDoc) dialogPanel.getNameComboBox().getSelectedItem()));
408             markupLang.setMimeType(((String JavaDoc) 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     }//GEN-LAST:event_addMarkupLanguagesButtonActionPerformed
422

423     
424     // Variables declaration - do not modify//GEN-BEGIN:variables
425
private javax.swing.JButton JavaDoc addMarkupLanguagesButton;
426     private javax.swing.JPanel JavaDoc containerPanel;
427     private javax.swing.JTextField JavaDoc hrefField;
428     private javax.swing.JLabel JavaDoc jLabel1;
429     private javax.swing.JLabel JavaDoc jLabel2;
430     private javax.swing.JLabel JavaDoc jLabel5;
431     private javax.swing.JSeparator JavaDoc jSeparator1;
432     private javax.swing.JSeparator JavaDoc jSeparator2;
433     private javax.swing.JTabbedPane JavaDoc markupLanguagesTabPanel;
434     private javax.swing.JTextField JavaDoc nameField;
435     // End of variables declaration//GEN-END:variables
436

437 }
438
Popular Tags