1 19 24 25 package org.netbeans.modules.j2ee.sun.share.configbean.customizers.ejbmodule; 26 27 import java.beans.PropertyVetoException ; 28 import java.util.ResourceBundle ; 29 30 import org.netbeans.modules.j2ee.sun.share.configbean.EjbJarRoot; 31 import org.netbeans.modules.j2ee.sun.share.configbean.EjbJarVersion; 32 import org.netbeans.modules.j2ee.sun.share.configbean.ErrorMessageDB; 33 import org.netbeans.modules.j2ee.sun.share.configbean.Utils; 34 import org.netbeans.modules.j2ee.sun.share.configbean.ValidationError; 35 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.BaseCustomizer; 36 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.CustomizerTitlePanel; 37 38 39 43 public class EjbJarRootCustomizer extends BaseCustomizer { 44 45 static final ResourceBundle bundle = ResourceBundle.getBundle( 46 "org.netbeans.modules.j2ee.sun.share.configbean.customizers.ejbmodule.Bundle"); 48 private EjbJarRoot theBean; 49 50 private EjbJarPmDescriptorsPanel pmDescriptorPanel; 51 private EjbJarMessagesPanel messagesPanel; 52 private EjbJarCmpResourcePanel cmpResourcePanel; 53 54 private boolean fieldInit; 56 57 private boolean ejb20FeaturesVisible; 59 60 61 public EjbJarRootCustomizer() { 62 initComponents(); 63 initUserComponents(); 64 } 65 66 public EjbJarRoot getBean() { 67 return theBean; 68 } 69 70 75 private void initComponents() { 77 java.awt.GridBagConstraints gridBagConstraints; 78 79 nameLabel = new javax.swing.JLabel (); 80 nameTextField = new javax.swing.JTextField (); 81 tabbedPanel = new javax.swing.JTabbedPane (); 82 83 setLayout(new java.awt.GridBagLayout ()); 84 85 nameLabel.setDisplayedMnemonic(java.util.ResourceBundle.getBundle("org/netbeans/modules/j2ee/sun/share/configbean/customizers/ejbmodule/Bundle").getString("MNC_Name").charAt(0)); 86 nameLabel.setLabelFor(nameTextField); 87 nameLabel.setText(java.util.ResourceBundle.getBundle("org/netbeans/modules/j2ee/sun/share/configbean/customizers/ejbmodule/Bundle").getString("LBL_Name_1")); 88 gridBagConstraints = new java.awt.GridBagConstraints (); 89 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 90 gridBagConstraints.insets = new java.awt.Insets (6, 6, 5, 0); 91 add(nameLabel, gridBagConstraints); 92 nameLabel.getAccessibleContext().setAccessibleName(java.util.ResourceBundle.getBundle("org/netbeans/modules/j2ee/sun/share/configbean/customizers/ejbmodule/Bundle").getString("Name_Acsbl_Name")); 93 nameLabel.getAccessibleContext().setAccessibleDescription(java.util.ResourceBundle.getBundle("org/netbeans/modules/j2ee/sun/share/configbean/customizers/ejbmodule/Bundle").getString("Ejb_Module_Name_Acsbl_Desc")); 94 95 nameTextField.setToolTipText(java.util.ResourceBundle.getBundle("org/netbeans/modules/j2ee/sun/share/configbean/customizers/ejbmodule/Bundle").getString("Ejb_Module_Name_Tool_Tip")); 96 nameTextField.addKeyListener(new java.awt.event.KeyAdapter () { 97 public void keyReleased(java.awt.event.KeyEvent evt) { 98 nameTextFieldKeyReleased(evt); 99 } 100 }); 101 102 gridBagConstraints = new java.awt.GridBagConstraints (); 103 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 104 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 105 gridBagConstraints.weightx = 1.0; 106 gridBagConstraints.insets = new java.awt.Insets (6, 6, 5, 5); 107 add(nameTextField, gridBagConstraints); 108 nameTextField.getAccessibleContext().setAccessibleName(java.util.ResourceBundle.getBundle("org/netbeans/modules/j2ee/sun/share/configbean/customizers/ejbmodule/Bundle").getString("Name_Acsbl_Name")); 109 nameTextField.getAccessibleContext().setAccessibleDescription(java.util.ResourceBundle.getBundle("org/netbeans/modules/j2ee/sun/share/configbean/customizers/ejbmodule/Bundle").getString("Ejb_Module_Name_Acsbl_Desc")); 110 111 tabbedPanel.setTabPlacement(javax.swing.JTabbedPane.BOTTOM); 112 tabbedPanel.addChangeListener(new javax.swing.event.ChangeListener () { 113 public void stateChanged(javax.swing.event.ChangeEvent evt) { 114 tabbedPanelStateChanged(evt); 115 } 116 }); 117 118 gridBagConstraints = new java.awt.GridBagConstraints (); 119 gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; 120 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 121 gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; 122 gridBagConstraints.weightx = 1.0; 123 gridBagConstraints.weighty = 1.0; 124 add(tabbedPanel, gridBagConstraints); 125 126 } 128 private void tabbedPanelStateChanged(javax.swing.event.ChangeEvent evt) { showErrors(); 130 } 132 private void nameTextFieldKeyReleased(java.awt.event.KeyEvent evt) { String newName = nameTextField.getText(); 134 String oldName = theBean.getName(); 135 136 try { 137 if(Utils.notEmpty(newName)) { 138 theBean.setName(newName); 139 } else { 140 theBean.setName(null); 141 } 142 143 validateField(EjbJarRoot.FIELD_EJBJAR_NAME); 144 } catch (PropertyVetoException ex) { 145 } 147 } 149 private javax.swing.JLabel nameLabel; 151 private javax.swing.JTextField nameTextField; 152 protected javax.swing.JTabbedPane tabbedPanel; 153 155 private void initUserComponents() { 156 ejb20FeaturesVisible = true; 157 158 CustomizerTitlePanel titlePanel = new CustomizerTitlePanel(); 160 titlePanel.setCustomizerTitle(bundle.getString("LBL_SunEjbJar")); add(titlePanel, titlePanel.getConstraints(), 0); 162 163 cmpResourcePanel = new EjbJarCmpResourcePanel(this); 165 tabbedPanel.addTab(bundle.getString("CMP_RESOURCE_TAB"), cmpResourcePanel); 167 pmDescriptorPanel = new EjbJarPmDescriptorsPanel(this); 169 tabbedPanel.addTab(bundle.getString("PM_DESCRIPTORS_TAB"), pmDescriptorPanel); 171 messagesPanel = new EjbJarMessagesPanel(this); 173 tabbedPanel.addTab(bundle.getString("MESSAGES_TAB"), messagesPanel); 175 addErrorPanel(); 177 } 178 179 protected void initFields() { 180 try { 181 fieldInit = true; 182 nameTextField.setText(theBean.getName()); 183 184 cmpResourcePanel.initFields(theBean); 185 pmDescriptorPanel.initFields(theBean); 186 187 if(theBean.getJ2EEModuleVersion().compareTo(EjbJarVersion.EJBJAR_2_0) >= 0) { 188 showEjb20Panels(); 189 messagesPanel.initFields(theBean); 190 } else { 191 hideEjb20Panels(); 192 } 193 } finally { 194 fieldInit = false; 195 } 196 } 197 198 private void showEjb20Panels() { 199 if(!ejb20FeaturesVisible) { 200 tabbedPanel.insertTab(bundle.getString("MESSAGES_TAB"), null, messagesPanel, null, getMessagesTabIndex()); 202 ejb20FeaturesVisible = true; 203 } 204 } 205 206 private void hideEjb20Panels() { 207 if(ejb20FeaturesVisible) { 208 tabbedPanel.removeTabAt(getMessagesTabIndex()); ejb20FeaturesVisible = false; 210 } 211 } 212 213 protected void addListeners() { 214 super.addListeners(); 215 216 cmpResourcePanel.addListeners(); 217 pmDescriptorPanel.addListeners(); 218 messagesPanel.addListeners(); 219 } 220 221 protected void removeListeners() { 222 super.removeListeners(); 223 224 messagesPanel.removeListeners(); 225 pmDescriptorPanel.removeListeners(); 226 cmpResourcePanel.removeListeners(); 227 } 228 229 public void partitionStateChanged(ErrorMessageDB.PartitionState oldState, ErrorMessageDB.PartitionState newState) { 230 if(newState.getPartition() == getPartition()) { 231 showErrors(); 232 } 233 234 if(oldState.hasMessages() != newState.hasMessages()) { 235 tabbedPanel.setIconAt(newState.getPartition().getTabIndex(), newState.hasMessages() ? panelErrorIcon : null); 236 } 237 } 238 239 protected boolean setBean(Object bean) { 240 boolean result = super.setBean(bean); 241 242 if(bean instanceof EjbJarRoot) { 243 theBean = (EjbJarRoot) bean; 244 result = true; 245 } else { 246 assert (result == false) : 248 "EjbJarRootCustomizer was passed wrong bean type in setBean(Object bean)"; 250 theBean = null; 251 result = false; 252 } 253 254 return result; 255 } 256 257 private int getMessagesTabIndex() { 258 return 3; 259 } 260 261 266 public String getHelpId() { 267 switch(tabbedPanel.getSelectedIndex()) { 269 case 2: 270 return "AS_CFG_EjbJarMessages"; case 1: 272 return "AS_CFG_EjbJarPmDescriptors"; case 0: 274 return "AS_CFG_EjbJarCmpResource"; default: 276 return "AS_CFG_EjbJarRoot"; } 278 } 279 280 285 public ValidationError.Partition getPartition() { 286 switch(tabbedPanel.getSelectedIndex()) { 287 case 2: 288 return ValidationError.PARTITION_EJBJAR_MESSAGES; 289 case 1: 290 return ValidationError.PARTITION_EJBJAR_PM_DESCRIPTORS; 291 case 0: 292 return ValidationError.PARTITION_EJBJAR_CMP_RESOURCE; 293 default: 294 return ValidationError.PARTITION_GLOBAL; 295 } 296 } 297 } 298 | Popular Tags |