1 19 24 25 package org.netbeans.modules.j2ee.sun.share.configbean.customizers.webservice; 26 27 import java.util.List ; 28 import java.util.Iterator ; 29 30 import java.awt.GridBagConstraints ; 31 import java.awt.Insets ; 32 import java.beans.PropertyVetoException ; 33 34 import javax.swing.JPanel ; 35 import javax.swing.DefaultComboBoxModel ; 36 37 import org.netbeans.modules.j2ee.sun.dd.api.CommonDDBean; 38 import org.netbeans.modules.j2ee.sun.dd.api.common.PortInfo; 39 40 import org.netbeans.modules.j2ee.sun.share.configbean.ServiceRef; 41 import org.netbeans.modules.j2ee.sun.share.configbean.StorageBeanFactory; 42 43 47 public class ServiceRefPortInfoPanel extends JPanel { 48 49 private ServiceRefCustomizer masterPanel; 50 private SelectedPortInfoPanel selectedPortPanel; 51 52 private DefaultComboBoxModel portInfoModel; 53 54 55 public ServiceRefPortInfoPanel(ServiceRefCustomizer src) { 56 masterPanel = src; 57 58 initComponents(); 59 initUserComponents(); 60 } 61 62 67 private void initComponents() { 69 java.awt.GridBagConstraints gridBagConstraints; 70 71 jLblPortInfoUsageDescription = new javax.swing.JLabel (); 72 jPnlPortInfoSelector = new javax.swing.JPanel (); 73 jLblPortInfo = new javax.swing.JLabel (); 74 jComboPortInfo = new javax.swing.JComboBox (); 75 jPnlPortInfoButtons = new javax.swing.JPanel (); 76 jBtnAddPortInfo = new javax.swing.JButton (); 77 jBtnRemovePortInfo = new javax.swing.JButton (); 78 79 setLayout(new java.awt.GridBagLayout ()); 80 81 getAccessibleContext().setAccessibleName(ServiceRefCustomizer.bundle.getString("ACSN_PortInfoTab")); 82 getAccessibleContext().setAccessibleDescription(ServiceRefCustomizer.bundle.getString("ACSD_PortInfoTab")); 83 jLblPortInfoUsageDescription.setText(ServiceRefCustomizer.bundle.getString("LBL_ServicePortInfoDescription")); 84 gridBagConstraints = new java.awt.GridBagConstraints (); 85 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 86 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 87 gridBagConstraints.insets = new java.awt.Insets (6, 6, 0, 5); 88 add(jLblPortInfoUsageDescription, gridBagConstraints); 89 90 jPnlPortInfoSelector.setLayout(new java.awt.GridBagLayout ()); 91 92 jPnlPortInfoSelector.setBorder(javax.swing.BorderFactory.createEtchedBorder()); 93 jLblPortInfo.setLabelFor(jComboPortInfo); 94 jLblPortInfo.setText(ServiceRefCustomizer.bundle.getString("LBL_PortInfo_1")); 95 gridBagConstraints = new java.awt.GridBagConstraints (); 96 gridBagConstraints.ipady = 8; 97 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 98 gridBagConstraints.insets = new java.awt.Insets (6, 6, 5, 0); 99 jPnlPortInfoSelector.add(jLblPortInfo, gridBagConstraints); 100 101 jComboPortInfo.setPrototypeDisplayValue(""); 102 jComboPortInfo.addActionListener(new java.awt.event.ActionListener () { 103 public void actionPerformed(java.awt.event.ActionEvent evt) { 104 jComboPortInfoActionPerformed(evt); 105 } 106 }); 107 108 gridBagConstraints = new java.awt.GridBagConstraints (); 109 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 110 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; 111 gridBagConstraints.weightx = 1.0; 112 gridBagConstraints.insets = new java.awt.Insets (6, 6, 5, 0); 113 jPnlPortInfoSelector.add(jComboPortInfo, gridBagConstraints); 114 jComboPortInfo.getAccessibleContext().setAccessibleName(ServiceRefCustomizer.bundle.getString("ACSN_PortInfo")); 115 jComboPortInfo.getAccessibleContext().setAccessibleDescription(ServiceRefCustomizer.bundle.getString("ACSD_PortInfo")); 116 117 jPnlPortInfoButtons.setLayout(new java.awt.GridBagLayout ()); 118 119 jBtnAddPortInfo.setText(ServiceRefCustomizer.bundle.getString("LBL_Add")); 120 jBtnAddPortInfo.addActionListener(new java.awt.event.ActionListener () { 121 public void actionPerformed(java.awt.event.ActionEvent evt) { 122 jBtnAddPortInfoActionPerformed(evt); 123 } 124 }); 125 126 gridBagConstraints = new java.awt.GridBagConstraints (); 127 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 128 jPnlPortInfoButtons.add(jBtnAddPortInfo, gridBagConstraints); 129 jBtnAddPortInfo.getAccessibleContext().setAccessibleName(ServiceRefCustomizer.bundle.getString("ACSN_Add")); 130 jBtnAddPortInfo.getAccessibleContext().setAccessibleDescription(ServiceRefCustomizer.bundle.getString("ACSD_Add")); 131 132 jBtnRemovePortInfo.setText(ServiceRefCustomizer.bundle.getString("LBL_Remove")); 133 jBtnRemovePortInfo.addActionListener(new java.awt.event.ActionListener () { 134 public void actionPerformed(java.awt.event.ActionEvent evt) { 135 jBtnRemovePortInfoActionPerformed(evt); 136 } 137 }); 138 139 gridBagConstraints = new java.awt.GridBagConstraints (); 140 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 141 gridBagConstraints.insets = new java.awt.Insets (0, 6, 0, 0); 142 jPnlPortInfoButtons.add(jBtnRemovePortInfo, gridBagConstraints); 143 jBtnRemovePortInfo.getAccessibleContext().setAccessibleName(ServiceRefCustomizer.bundle.getString("ACSN_Remove")); 144 jBtnRemovePortInfo.getAccessibleContext().setAccessibleDescription(ServiceRefCustomizer.bundle.getString("ACSD_Remove")); 145 146 gridBagConstraints = new java.awt.GridBagConstraints (); 147 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 148 gridBagConstraints.insets = new java.awt.Insets (6, 6, 5, 5); 149 jPnlPortInfoSelector.add(jPnlPortInfoButtons, gridBagConstraints); 150 151 gridBagConstraints = new java.awt.GridBagConstraints (); 152 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 153 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 154 gridBagConstraints.weightx = 1.0; 155 gridBagConstraints.insets = new java.awt.Insets (6, 6, 5, 5); 156 add(jPnlPortInfoSelector, gridBagConstraints); 157 158 } 160 private void jBtnRemovePortInfoActionPerformed(java.awt.event.ActionEvent evt) { int index = jComboPortInfo.getSelectedIndex(); 163 164 if(index != -1) { 165 try { 167 PortInfoMapping portInfoMapping = (PortInfoMapping) jComboPortInfo.getSelectedItem(); 168 ServiceRef bean = masterPanel.getBean(); 169 if(bean != null) { 170 bean.removePortInfo(portInfoMapping.getPortInfo()); 171 } 172 jComboPortInfo.removeItemAt(index); 173 enableButtonsAndPanels(); 174 175 if(portInfoModel.getSize() > 0) { 176 jComboPortInfo.setSelectedIndex(0); 177 } else { 178 jComboPortInfo.setSelectedIndex(-1); 179 } 180 } catch(PropertyVetoException ex) { 181 } 182 } 183 } 185 private void jBtnAddPortInfoActionPerformed(java.awt.event.ActionEvent evt) { try { 188 StorageBeanFactory storageFactory = masterPanel.getBean().getConfig().getStorageFactory(); 189 PortInfoMapping portInfoMapping = new PortInfoMapping(storageFactory.createPortInfo(), 190 ServiceRefCustomizer.bundle.getString("LBL_NewPortInfo")); ServiceRef bean = masterPanel.getBean(); 192 if(bean != null) { 193 bean.addPortInfo(portInfoMapping.getPortInfo()); 194 } 195 jComboPortInfo.addItem(portInfoMapping); 196 enableButtonsAndPanels(); 197 198 jComboPortInfo.setSelectedItem(portInfoMapping); 199 } catch(PropertyVetoException ex) { 200 } 201 } 203 private void jComboPortInfoActionPerformed(java.awt.event.ActionEvent evt) { PortInfoMapping portInfoMapping = (PortInfoMapping) portInfoModel.getSelectedItem(); 206 207 if(portInfoMapping != null) { 208 selectedPortPanel.setPortInfoMapping(portInfoMapping); 209 } else { 210 selectedPortPanel.setPortInfoMapping(null); 211 } 212 } 214 215 private javax.swing.JButton jBtnAddPortInfo; 217 private javax.swing.JButton jBtnRemovePortInfo; 218 private javax.swing.JComboBox jComboPortInfo; 219 private javax.swing.JLabel jLblPortInfo; 220 private javax.swing.JLabel jLblPortInfoUsageDescription; 221 private javax.swing.JPanel jPnlPortInfoButtons; 222 private javax.swing.JPanel jPnlPortInfoSelector; 223 225 private void initUserComponents() { 226 227 selectedPortPanel = new SelectedPortInfoPanel(masterPanel); 228 229 GridBagConstraints gridBagConstraints = new GridBagConstraints (); 230 gridBagConstraints.gridwidth = GridBagConstraints.REMAINDER; 231 gridBagConstraints.fill = GridBagConstraints.BOTH; 232 gridBagConstraints.weightx = 1.0; 233 gridBagConstraints.weighty = 1.0; 234 gridBagConstraints.insets = new Insets (0, 6, 5, 5); 235 add(selectedPortPanel, gridBagConstraints); 236 } 237 238 241 public void initFields(ServiceRef bean) { 242 portInfoModel = new DefaultComboBoxModel (); 244 List portInfoList = bean.getPortInfos(); 245 if(portInfoList != null) { 246 Iterator iter = portInfoList.iterator(); 247 while(iter.hasNext()) { 248 PortInfo pi = (PortInfo) iter.next(); 249 portInfoModel.addElement(new PortInfoMapping(pi)); 250 } 251 } 252 jComboPortInfo.setModel(portInfoModel); 253 254 if(portInfoModel.getSize() > 0) { 255 jComboPortInfo.setSelectedIndex(0); 256 } 257 258 enableButtonsAndPanels(); 259 } 260 261 protected void addListeners(ServiceRef bean) { 262 } 263 264 protected void removeListeners(ServiceRef bean) { 265 } 266 267 private void enableButtonsAndPanels() { 268 boolean enabled = (portInfoModel.getSize() > 0); 269 jComboPortInfo.setEnabled(enabled); 270 jBtnRemovePortInfo.setEnabled(enabled); 271 selectedPortPanel.setContainerEnabled(selectedPortPanel, enabled); 272 } 273 } 274 | Popular Tags |