1 19 24 25 package org.netbeans.modules.j2ee.sun.share.configbean.customizers.webapp; 26 27 import java.util.ArrayList ; 28 import java.util.List ; 29 import java.util.ResourceBundle ; 30 31 import java.awt.GridBagConstraints ; 32 import java.awt.Insets ; 33 import java.beans.PropertyVetoException ; 34 35 import javax.swing.event.TableModelEvent ; 36 import javax.swing.event.TableModelListener ; 37 38 import org.netbeans.modules.j2ee.sun.dd.api.CommonDDBean; 39 import org.netbeans.modules.j2ee.sun.dd.api.web.CacheHelper; 40 import org.netbeans.modules.j2ee.sun.dd.api.web.DefaultHelper; 41 import org.netbeans.modules.j2ee.sun.dd.api.web.WebProperty; 42 import org.netbeans.modules.j2ee.sun.share.configbean.ASDDVersion; 43 44 import org.netbeans.modules.j2ee.sun.share.configbean.StorageBeanFactory; 45 import org.netbeans.modules.j2ee.sun.share.configbean.WebAppRoot; 46 import org.netbeans.modules.j2ee.sun.share.configbean.WebAppCache; 47 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.GenericTableModel; 48 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.GenericTablePanel; 49 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.HelpContext; 50 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.data.DynamicPropertyPanel; 51 import org.netbeans.modules.j2ee.sun.share.configbean.customizers.data.PropertyListMapping; 52 53 54 58 public class CacheHelperPanel extends javax.swing.JPanel implements TableModelListener { 59 60 private static final ResourceBundle commonBundle = ResourceBundle.getBundle( 62 "org.netbeans.modules.j2ee.sun.share.configbean.customizers.common.Bundle"); 64 private static final ResourceBundle webappBundle = ResourceBundle.getBundle( 66 "org.netbeans.modules.j2ee.sun.share.configbean.customizers.webapp.Bundle"); 68 private WebAppRootCustomizer masterPanel; 69 70 private GenericTableModel defaultHelperPropertiesModel; 72 private GenericTablePanel defaultHelperPropertiesPanel; 73 74 private GenericTableModel cacheHelperClassesModel; 76 private GenericTablePanel cacheHelperClassesPanel; 77 78 79 public CacheHelperPanel(WebAppRootCustomizer src) { 80 masterPanel = src; 81 82 initComponents(); 83 initUserComponents(); 84 } 85 86 91 private void initComponents() { 93 setLayout(new java.awt.GridBagLayout ()); 94 95 getAccessibleContext().setAccessibleName(webappBundle.getString("ACSN_CacheHelpersTab")); 96 getAccessibleContext().setAccessibleDescription(webappBundle.getString("ACSD_CacheHelpersTab")); 97 } 99 100 103 private void initUserComponents() { 104 107 ArrayList tableColumns = new ArrayList (3); 108 tableColumns.add(new GenericTableModel.AttributeEntry( 109 WebProperty.NAME, commonBundle.getString("LBL_Name"), true)); tableColumns.add(new GenericTableModel.AttributeEntry( 111 WebProperty.VALUE, commonBundle.getString("LBL_Value"), true)); tableColumns.add(new GenericTableModel.ValueEntry( 113 WebProperty.DESCRIPTION, commonBundle.getString("LBL_Description"))); 115 defaultHelperPropertiesModel = new GenericTableModel(DefaultHelper.PROPERTY, WebAppRootCustomizer.webPropertyFactory, tableColumns); 117 defaultHelperPropertiesPanel = new GenericTablePanel(defaultHelperPropertiesModel, 118 webappBundle, "DefaultHelperProperties", DynamicPropertyPanel.class, HelpContext.HELP_CACHE_DEFAULT_HELPER_POPUP, 120 PropertyListMapping.getPropertyList(PropertyListMapping.CACHE_DEFAULT_HELPER_PROPERTIES)); 121 122 GridBagConstraints gridBagConstraints = new GridBagConstraints (); 123 gridBagConstraints.gridwidth = GridBagConstraints.REMAINDER; 124 gridBagConstraints.fill = GridBagConstraints.BOTH; 125 gridBagConstraints.weightx = 1.0; 126 gridBagConstraints.weighty = 1.0; 127 gridBagConstraints.insets = new Insets (6, 6, 0, 5); 128 add(defaultHelperPropertiesPanel, gridBagConstraints); 129 130 133 tableColumns = new ArrayList (3); 134 tableColumns.add(new GenericTableModel.AttributeEntry( 135 CacheHelper.NAME, commonBundle.getString("LBL_Name"), true)); tableColumns.add(new GenericTableModel.AttributeEntry( 137 CacheHelper.CLASSNAME, webappBundle.getString("LBL_Classname"), true)); tableColumns.add(new PropertiesEntry()); 139 140 cacheHelperClassesModel = new GenericTableModel(cacheHelperFactory, tableColumns); 142 cacheHelperClassesPanel = new GenericTablePanel(cacheHelperClassesModel, 143 webappBundle, "CacheHelperProperties", CacheHelperEntryPanel.class, HelpContext.HELP_CACHE_HELPER_DEFINITION_POPUP); 145 146 gridBagConstraints = new GridBagConstraints (); 147 gridBagConstraints.gridwidth = GridBagConstraints.REMAINDER; 148 gridBagConstraints.fill = GridBagConstraints.BOTH; 149 gridBagConstraints.weightx = 1.0; 150 gridBagConstraints.weighty = 1.0; 151 gridBagConstraints.insets = new Insets (0, 6, 0, 5); 152 add(cacheHelperClassesPanel, gridBagConstraints); 153 } 154 155 public void addListeners() { 156 defaultHelperPropertiesModel.addTableModelListener(this); 157 cacheHelperClassesModel.addTableModelListener(this); 158 } 159 160 public void removeListeners() { 161 defaultHelperPropertiesModel.removeTableModelListener(this); 162 cacheHelperClassesModel.removeTableModelListener(this); 163 } 164 165 168 public void initFields(WebAppCache cacheBean) { 169 ASDDVersion asVersion = cacheBean.getParent().getAppServerVersion(); 170 defaultHelperPropertiesPanel.setModel(cacheBean.getDefaultHelper(), asVersion); 171 cacheHelperClassesPanel.setModel(cacheBean.getCacheHelpers(), asVersion); 172 } 173 174 177 public void tableChanged(TableModelEvent e) { 178 WebAppRoot bean = masterPanel.getBean(); 179 if(bean != null) { 180 WebAppCache cacheBean = bean.getCacheBean(); 181 Object eventSource = e.getSource(); 182 try { 183 if(eventSource == defaultHelperPropertiesModel) { 184 } else if(eventSource == cacheHelperClassesModel) { 191 List cacheHelperList = cacheHelperClassesModel.getData(); 192 cacheBean.setCacheHelpers(cacheHelperList); 193 masterPanel.firePropertyChange(WebAppRootCustomizer.CACHE_HELPER_LIST_CHANGED, false, true); 194 } 195 196 bean.setDirty(); 198 } catch(PropertyVetoException ex) { 199 } 201 } 202 } 203 204 static GenericTableModel.ParentPropertyFactory cacheHelperFactory = 207 new GenericTableModel.ParentPropertyFactory() { 208 public CommonDDBean newParentProperty(ASDDVersion asVersion) { 209 return StorageBeanFactory.getStorageBeanFactory(asVersion).createCacheHelper(); 210 } 211 }; 212 } 213 | Popular Tags |