KickJava   Java API By Example, From Geeks To Geeks.

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


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 /*
20  * ServiceRefGeneralPanel.java
21  *
22  * Created on November 2, 2003, 10:25 AM
23  */

24
25 package org.netbeans.modules.j2ee.sun.share.configbean.customizers.webservice;
26
27 import java.util.ArrayList JavaDoc;
28
29 import java.awt.GridBagConstraints JavaDoc;
30 import java.awt.Insets JavaDoc;
31 import java.beans.PropertyVetoException JavaDoc;
32 import java.beans.PropertyChangeEvent JavaDoc;
33 import java.beans.PropertyChangeListener JavaDoc;
34
35 import javax.swing.event.TableModelEvent JavaDoc;
36 import javax.swing.event.TableModelListener JavaDoc;
37
38 import org.netbeans.modules.j2ee.sun.dd.api.CommonDDBean;
39 import org.netbeans.modules.j2ee.sun.share.configbean.ASDDVersion;
40
41 import org.netbeans.modules.j2ee.sun.share.configbean.ServiceRef;
42 import org.netbeans.modules.j2ee.sun.share.configbean.StorageBeanFactory;
43 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.GenericTableModel;
44 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.GenericTablePanel;
45 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.HelpContext;
46 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.data.DynamicPropertyPanel;
47 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.data.PropertyListMapping;
48
49 /**
50  *
51  * @author Peter Williams
52  */

53 public class ServiceRefGeneralPanel extends javax.swing.JPanel JavaDoc implements TableModelListener JavaDoc, PropertyChangeListener JavaDoc {
54
55     private ServiceRefCustomizer masterPanel;
56     private GenericTableModel callPropertiesModel;
57     private GenericTablePanel callPropertiesPanel;
58
59     /** Creates new form ServiceRefGeneralPanel */
60     public ServiceRefGeneralPanel(ServiceRefCustomizer src) {
61         masterPanel = src;
62
63         initComponents();
64         initUserComponents();
65     }
66
67     /** This method is called from within the constructor to
68      * initialize the form.
69      * WARNING: Do NOT modify this code. The content of this method is
70      * always regenerated by the Form Editor.
71      */

72     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
73
private void initComponents() {
74         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
75
76         jPnlServiceName = new javax.swing.JPanel JavaDoc();
77         jLblName = new javax.swing.JLabel JavaDoc();
78         jTxtName = new javax.swing.JTextField JavaDoc();
79         jLblWsdlOverride = new javax.swing.JLabel JavaDoc();
80         jTxtWsdlOverride = new javax.swing.JTextField JavaDoc();
81
82         setLayout(new java.awt.GridBagLayout JavaDoc());
83
84         getAccessibleContext().setAccessibleName(ServiceRefCustomizer.bundle.getString("ACSN_GeneralTab"));
85         getAccessibleContext().setAccessibleDescription(ServiceRefCustomizer.bundle.getString("ACSD_GeneralTab"));
86         jPnlServiceName.setLayout(new java.awt.GridBagLayout JavaDoc());
87
88         jLblName.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
89         jLblName.setLabelFor(jTxtName);
90         jLblName.setText(ServiceRefCustomizer.bundle.getString("LBL_ServiceReferenceName_1"));
91         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
92         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
93         gridBagConstraints.ipady = 4;
94         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
95         jPnlServiceName.add(jLblName, gridBagConstraints);
96
97         jTxtName.setEditable(false);
98         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
99         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
100         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
101         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
102         gridBagConstraints.weightx = 1.0;
103         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 6, 0, 0);
104         jPnlServiceName.add(jTxtName, gridBagConstraints);
105         jTxtName.getAccessibleContext().setAccessibleName(ServiceRefCustomizer.bundle.getString("ACSN_ServiceReferenceName"));
106         jTxtName.getAccessibleContext().setAccessibleDescription(ServiceRefCustomizer.bundle.getString("ACSD_ServiceReferenceName"));
107
108         jLblWsdlOverride.setLabelFor(jTxtWsdlOverride);
109         jLblWsdlOverride.setText(ServiceRefCustomizer.bundle.getString("LBL_WsdlOverride_1"));
110         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
111         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
112         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 0, 0, 0);
113         jPnlServiceName.add(jLblWsdlOverride, gridBagConstraints);
114
115         jTxtWsdlOverride.addKeyListener(new java.awt.event.KeyAdapter JavaDoc() {
116             public void keyReleased(java.awt.event.KeyEvent JavaDoc evt) {
117                 jTxtWsdlOverrideKeyReleased(evt);
118             }
119         });
120
121         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
122         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
123         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
124         gridBagConstraints.weightx = 1.0;
125         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 0, 0);
126         jPnlServiceName.add(jTxtWsdlOverride, gridBagConstraints);
127         jTxtWsdlOverride.getAccessibleContext().setAccessibleName(ServiceRefCustomizer.bundle.getString("ACSN_WsdlOverride"));
128         jTxtWsdlOverride.getAccessibleContext().setAccessibleDescription(ServiceRefCustomizer.bundle.getString("ACSD_WsdlOverride"));
129
130         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
131         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
132         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
133         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
134         gridBagConstraints.weightx = 1.0;
135         gridBagConstraints.insets = new java.awt.Insets JavaDoc(6, 6, 5, 5);
136         add(jPnlServiceName, gridBagConstraints);
137
138     }// </editor-fold>//GEN-END:initComponents
139

140     private void jTxtWsdlOverrideKeyReleased(java.awt.event.KeyEvent JavaDoc evt) {//GEN-FIRST:event_jTxtWsdlOverrideKeyReleased
141
// Add your handling code here:
142
ServiceRef bean = masterPanel.getBean();
143         if(bean != null) {
144             try {
145                 bean.setWsdlOverride(jTxtWsdlOverride.getText());
146             } catch(java.beans.PropertyVetoException JavaDoc exception) {
147                 jTxtWsdlOverride.setText(bean.getWsdlOverride());
148             }
149         }
150     }//GEN-LAST:event_jTxtWsdlOverrideKeyReleased
151

152
153     // Variables declaration - do not modify//GEN-BEGIN:variables
154
private javax.swing.JLabel JavaDoc jLblName;
155     private javax.swing.JLabel JavaDoc jLblWsdlOverride;
156     private javax.swing.JPanel JavaDoc jPnlServiceName;
157     private javax.swing.JTextField JavaDoc jTxtName;
158     private javax.swing.JTextField JavaDoc jTxtWsdlOverride;
159     // End of variables declaration//GEN-END:variables
160

161     private void initUserComponents() {
162         /** Add call properties table panel :
163          * TableEntry list has two properties: Name, Value
164          */

165         ArrayList JavaDoc tableColumns = new ArrayList JavaDoc(2);
166         tableColumns.add(new GenericTableModel.ValueEntry("Name", // NOI18N - property name
167
ServiceRefCustomizer.bundle.getString("LBL_Name_Column"), true)); // NOI18N
168
tableColumns.add(new GenericTableModel.ValueEntry("Value", // NOI18N - property name
169
ServiceRefCustomizer.bundle.getString("LBL_Value_Column"), true)); // NOI18N
170

171         callPropertiesModel = new GenericTableModel(callPropertyFactory, tableColumns);
172         callPropertiesModel.addTableModelListener(this);
173         callPropertiesPanel = new GenericTablePanel(callPropertiesModel,
174             ServiceRefCustomizer.bundle, "CallProperties", // NOI18N - property name
175
DynamicPropertyPanel.class, HelpContext.HELP_SERVICE_CALL_PROPERTY_POPUP,
176             PropertyListMapping.getPropertyList(PropertyListMapping.SERVICE_REF_CALL_PROPERTIES));
177
178         GridBagConstraints JavaDoc gridBagConstraints = new GridBagConstraints JavaDoc();
179         gridBagConstraints.gridwidth = GridBagConstraints.REMAINDER;
180         gridBagConstraints.fill = GridBagConstraints.BOTH;
181         gridBagConstraints.weightx = 1.0;
182         gridBagConstraints.weighty = 1.0;
183         gridBagConstraints.insets = new Insets JavaDoc(0, 6, 0, 5);
184         add(callPropertiesPanel, gridBagConstraints);
185     }
186
187     /** Initialization of all the fields in this panel from the bean that
188      * was passed in.
189      */

190     public void initFields(ServiceRef bean) {
191         jTxtName.setText(bean.getServiceRefName());
192         jTxtWsdlOverride.setText(bean.getWsdlOverride());
193
194         callPropertiesPanel.setModel(bean.getCallProperties(), bean.getAppServerVersion());
195     }
196     
197     protected void addListeners(ServiceRef bean) {
198         bean.addPropertyChangeListener(this);
199     }
200
201     protected void removeListeners(ServiceRef bean) {
202         bean.removePropertyChangeListener(this);
203     }
204
205     /**
206      * Implementation of the PropertyChangeListener interface
207      */

208     public void propertyChange(PropertyChangeEvent JavaDoc propertyChangeEvent) {
209         if(ServiceRef.SERVICE_REF_NAME.equals(propertyChangeEvent.getPropertyName())) {
210             ServiceRef bean = masterPanel.getBean();
211             if(bean != null) {
212                 jTxtName.setText(bean.getServiceRefName());
213             }
214         }
215     }
216
217     /** -----------------------------------------------------------------------
218      * Implementation of javax.swing.event.TableModelListener
219      */

220     public void tableChanged(TableModelEvent JavaDoc e) {
221         ServiceRef bean = masterPanel.getBean();
222         if(bean != null) {
223             try {
224                 bean.setCallProperties(callPropertiesModel.getData());
225
226                 // Force property change to be issued by the bean
227
bean.setDirty();
228             } catch(PropertyVetoException JavaDoc ex) {
229                 // FIXME undo whatever changed... how?
230
}
231         }
232     }
233     
234     // New for migration to sun DD API model. Factory instance to pass to generic table model
235
// to allow it to create callProperty beans.
236
private static GenericTableModel.ParentPropertyFactory callPropertyFactory =
237         new GenericTableModel.ParentPropertyFactory() {
238             public CommonDDBean newParentProperty(ASDDVersion asVersion) {
239                 return StorageBeanFactory.getStorageBeanFactory(asVersion).createCallProperty();
240             }
241         };
242 }
243
Popular Tags