KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > j2ee > sun > share > configbean > customizers > webservice > WebServiceDescriptorCustomizer


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.sun.share.configbean.customizers.webservice;
20
21 import java.awt.GridBagConstraints JavaDoc;
22 import java.awt.Insets JavaDoc;
23 import java.beans.PropertyChangeEvent JavaDoc;
24 import java.beans.PropertyChangeListener JavaDoc;
25 import java.util.Iterator JavaDoc;
26 import java.util.List JavaDoc;
27 import java.util.ResourceBundle JavaDoc;
28
29 import javax.swing.DefaultComboBoxModel JavaDoc;
30 import org.netbeans.modules.j2ee.sun.dd.api.common.PortInfo;
31 import org.netbeans.modules.j2ee.sun.dd.api.common.WebserviceEndpoint;
32
33 import org.netbeans.modules.j2ee.sun.share.configbean.WebServiceDescriptor;
34 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.BaseCustomizer;
35
36 /**
37  *
38  * @author Peter Williams
39  */

40 public class WebServiceDescriptorCustomizer extends BaseCustomizer implements
41     /*TableModelListener,*/ PropertyChangeListener JavaDoc {
42
43     static final ResourceBundle JavaDoc bundle = ResourceBundle.getBundle(
44        "org.netbeans.modules.j2ee.sun.share.configbean.customizers.webservice.Bundle"); // NOI18N
45

46     static final ResourceBundle JavaDoc customizerBundle = ResourceBundle.getBundle(
47        "org.netbeans.modules.j2ee.sun.share.configbean.customizers.Bundle"); // NOI18N
48

49     /** The bean currently being customized, or null if there isn't one
50      */

51     private WebServiceDescriptor theBean;
52
53     // For managing endpoint subpanel
54
private SelectedEndpointPanel selectedEndpointPanel;
55     private DefaultComboBoxModel JavaDoc endpointModel;
56     
57     
58     /** Creates new form WebServiceDescriptorCustomizer */
59     public WebServiceDescriptorCustomizer() {
60         initComponents();
61         initUserComponents();
62     }
63
64     public WebServiceDescriptor getBean() {
65         return theBean;
66     }
67
68     /** This method is called from within the constructor to
69      * initialize the form.
70      * WARNING: Do NOT modify this code. The content of this method is
71      * always regenerated by the Form Editor.
72      */

73     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
74
private void initComponents() {
75         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
76
77         jPanel1 = new javax.swing.JPanel JavaDoc();
78         jLblName = new javax.swing.JLabel JavaDoc();
79         jTxtName = new javax.swing.JTextField JavaDoc();
80         jLblWsdlPublishLocation = new javax.swing.JLabel JavaDoc();
81         jTxtWsdlPublishLocation = new javax.swing.JTextField JavaDoc();
82         jLblPortDescription = new javax.swing.JLabel JavaDoc();
83         jLblPortComponentName = new javax.swing.JLabel JavaDoc();
84         jCbxPortSelector = new javax.swing.JComboBox JavaDoc();
85
86         setLayout(new java.awt.GridBagLayout JavaDoc());
87
88         jPanel1.setLayout(new java.awt.GridBagLayout JavaDoc());
89
90         jLblName.setLabelFor(jTxtName);
91         jLblName.setText(bundle.getString("LBL_WebServiceDescriptionName_1"));
92         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
93         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
94         gridBagConstraints.ipady = 4;
95         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
96         jPanel1.add(jLblName, gridBagConstraints);
97         jLblName.getAccessibleContext().setAccessibleName(bundle.getString("ACSN_WebServiceDescriptionName"));
98         jLblName.getAccessibleContext().setAccessibleDescription(bundle.getString("ACSD_WebServiceDescriptionName"));
99
100         jTxtName.setEditable(false);
101         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
102         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
103         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
104         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
105         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 6, 0, 0);
106         jPanel1.add(jTxtName, gridBagConstraints);
107
108         jLblWsdlPublishLocation.setLabelFor(jTxtWsdlPublishLocation);
109         jLblWsdlPublishLocation.setText(bundle.getString("LBL_WsdlPublishLocation_1"));
110         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
111         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
112         gridBagConstraints.ipady = 4;
113         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
114         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 0, 0, 0);
115         jPanel1.add(jLblWsdlPublishLocation, gridBagConstraints);
116         jLblWsdlPublishLocation.getAccessibleContext().setAccessibleName(bundle.getString("ACSN_WsdlPublishLocation"));
117         jLblWsdlPublishLocation.getAccessibleContext().setAccessibleDescription(bundle.getString("ACSD_WsdlPublishLocation"));
118
119         jTxtWsdlPublishLocation.addKeyListener(new java.awt.event.KeyAdapter JavaDoc() {
120             public void keyReleased(java.awt.event.KeyEvent JavaDoc evt) {
121                 jTxtWsdlPublishLocationKeyReleased(evt);
122             }
123         });
124
125         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
126         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
127         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
128         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
129         gridBagConstraints.weightx = 1.0;
130         gridBagConstraints.weighty = 1.0;
131         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 0, 0);
132         jPanel1.add(jTxtWsdlPublishLocation, gridBagConstraints);
133
134         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
135         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
136         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
137         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
138         gridBagConstraints.weightx = 1.0;
139         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 6, 5, 5);
140         add(jPanel1, gridBagConstraints);
141
142         jLblPortDescription.setText(bundle.getString("LBL_ServiceEndpointDescription"));
143         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
144         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
145         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
146         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 0, 5);
147         add(jLblPortDescription, gridBagConstraints);
148
149         jLblPortComponentName.setLabelFor(jCbxPortSelector);
150         jLblPortComponentName.setText(bundle.getString("LBL_PortComponentName_1"));
151         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
152         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 5, 0);
153         add(jLblPortComponentName, gridBagConstraints);
154
155         jCbxPortSelector.addActionListener(new java.awt.event.ActionListener JavaDoc() {
156             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
157                 jCbxPortSelectorActionPerformed(evt);
158             }
159         });
160
161         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
162         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
163         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
164         gridBagConstraints.weightx = 1.0;
165         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 5, 5);
166         add(jCbxPortSelector, gridBagConstraints);
167
168     }// </editor-fold>//GEN-END:initComponents
169

170     private void jCbxPortSelectorActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jCbxPortSelectorActionPerformed
171
EndpointMapping endpointMapping = (EndpointMapping) endpointModel.getSelectedItem();
172
173         if(endpointMapping != null) {
174             selectedEndpointPanel.setEndpointMapping(endpointMapping);
175         } else {
176             selectedEndpointPanel.setEndpointMapping(null);
177         }
178     }//GEN-LAST:event_jCbxPortSelectorActionPerformed
179

180     private void jTxtWsdlPublishLocationKeyReleased(java.awt.event.KeyEvent JavaDoc evt) {//GEN-FIRST:event_jTxtWsdlPublishLocationKeyReleased
181
if(theBean != null) {
182             String JavaDoc oldWsdlPublishLocation = theBean.getWsdlPublishLocation();
183             try {
184                 String JavaDoc newWsdlPublishLocation = jTxtWsdlPublishLocation.getText().trim();
185                 if(!newWsdlPublishLocation.equals(oldWsdlPublishLocation)) {
186                     theBean.setWsdlPublishLocation(newWsdlPublishLocation);
187                     validateField(WebServiceDescriptor.FIELD_WSDL_PUBLISH_LOCATION);
188                 }
189             } catch(java.beans.PropertyVetoException JavaDoc ex) {
190                 jTxtWsdlPublishLocation.setText(oldWsdlPublishLocation);
191             }
192         }
193     }//GEN-LAST:event_jTxtWsdlPublishLocationKeyReleased
194

195     // Variables declaration - do not modify//GEN-BEGIN:variables
196
private javax.swing.JComboBox JavaDoc jCbxPortSelector;
197     private javax.swing.JLabel JavaDoc jLblName;
198     private javax.swing.JLabel JavaDoc jLblPortComponentName;
199     private javax.swing.JLabel JavaDoc jLblPortDescription;
200     private javax.swing.JLabel JavaDoc jLblWsdlPublishLocation;
201     private javax.swing.JPanel JavaDoc jPanel1;
202     private javax.swing.JTextField JavaDoc jTxtName;
203     private javax.swing.JTextField JavaDoc jTxtWsdlPublishLocation;
204     // End of variables declaration//GEN-END:variables
205

206     private void initUserComponents() {
207         // Add title panel
208
addTitlePanel(bundle.getString("TITLE_WebServiceDescriptor"));
209         getAccessibleContext().setAccessibleName(bundle.getString("ACSN_WebServiceDescriptor")); // NOI18N
210
getAccessibleContext().setAccessibleDescription(bundle.getString("ACSD_WebServiceDescriptor")); // NOI18N
211

212         /** Add selected endpoint panel */
213         selectedEndpointPanel = new SelectedEndpointPanel(this);
214
215         GridBagConstraints JavaDoc gridBagConstraints = new GridBagConstraints JavaDoc();
216         gridBagConstraints.gridwidth = GridBagConstraints.REMAINDER;
217         gridBagConstraints.fill = GridBagConstraints.BOTH;
218         gridBagConstraints.weightx = 1.0;
219         gridBagConstraints.weighty = 1.0;
220         gridBagConstraints.insets = new Insets JavaDoc(0, 6, 0, 5);
221         add(selectedEndpointPanel, gridBagConstraints);
222         
223         // Add error panel
224
addErrorPanel();
225     }
226
227     protected void initFields() {
228         jTxtName.setText(theBean.getWebServiceDescriptionName());
229         jTxtWsdlPublishLocation.setText(theBean.getWsdlPublishLocation());
230         
231         // endpoint combo & panel
232
// FIXME set combobox to proper value
233
endpointModel = new DefaultComboBoxModel JavaDoc();
234         List JavaDoc endpointList = theBean.getWebServiceEndpoints();
235         if(endpointList != null) {
236             Iterator JavaDoc iter = endpointList.iterator();
237             while(iter.hasNext()) {
238                 WebserviceEndpoint endpoint = (WebserviceEndpoint) iter.next();
239                 endpointModel.addElement(new EndpointMapping(endpoint));
240             }
241         }
242
243         // do endpoint panel enabling here, before we initialize the data.
244
// Otherwise, this method will undo certain selective enabling that is
245
// done on endpoint initialization.
246
enableButtonsAndPanels();
247         
248         jCbxPortSelector.setModel(endpointModel);
249
250         if(endpointModel.getSize() > 0) {
251             jCbxPortSelector.setSelectedIndex(0);
252         }
253     }
254     
255     private void enableButtonsAndPanels() {
256         boolean enabled = (endpointModel.getSize() > 0);
257         jCbxPortSelector.setEnabled(enabled);
258         selectedEndpointPanel.setContainerEnabled(selectedEndpointPanel, enabled);
259     }
260
261     public void propertyChange(PropertyChangeEvent JavaDoc propertyChangeEvent) {
262         String JavaDoc eventName = propertyChangeEvent.getPropertyName();
263         
264         if(WebServiceDescriptor.WEBSERVICE_DESCRIPTION_NAME.equals(eventName)) {
265             jTxtName.setText(theBean.getWebServiceDescriptionName());
266         } else if(WebServiceDescriptor.ENDPOINT_SECURITY_BINDING.equals(eventName)) {
267             selectedEndpointPanel.reloadEndpointMapping();
268         }
269     }
270     
271     protected void addListeners() {
272         super.addListeners();
273         theBean.addPropertyChangeListener(this);
274     }
275     
276     protected void removeListeners() {
277         super.removeListeners();
278         theBean.removePropertyChangeListener(this);
279     }
280     
281     protected boolean setBean(Object JavaDoc bean) {
282         boolean result = super.setBean(bean);
283
284         if(bean instanceof WebServiceDescriptor) {
285             theBean = (WebServiceDescriptor) bean;
286             result = true;
287         } else {
288             // if bean is not a WebServiceDescriptor, then it shouldn't have passed Base either.
289
assert (result == false) :
290                 "WebServiceDescriptorCustomizer was passed wrong bean type in setBean(Object bean)"; // NOI18N
291

292             theBean = null;
293             result = false;
294         }
295
296         return result;
297     }
298
299     public String JavaDoc getHelpId() {
300         return "AS_CFG_WebServiceDescriptor"; // NOI18N
301
}
302 }
303
Popular Tags