[Fedora-directory-commits] directoryconsole/src/com/netscape/admin/dirserv/panel LDBMPluginSettingPanel.java, 1.1.1.1, 1.2

Richard Allen Megginson rmeggins at fedoraproject.org
Fri Dec 12 18:35:40 UTC 2008


Author: rmeggins

Update of /cvs/dirsec/directoryconsole/src/com/netscape/admin/dirserv/panel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv26442/directoryconsole/src/com/netscape/admin/dirserv/panel

Modified Files:
	LDBMPluginSettingPanel.java 
Log Message:
Resolves: bug 238762
Bug Description: Support "auto" for "Import cache size" in the LDBM Plug-in Settings
Reviewed by: nhosoi (Thanks!)
Fix Description: Added a check box for "use auto cache size".  If this is checked, a value of -1 will be saved for nsslapd-import-cache-autosize which will tell the server to use the default auto cache value.  If this is not checked, a value of 0 will be saved which will tell the server to use the number from nsslapd-import-cachesize.  If the check box is checked, the import cachesize field will be disabled.  Here are a couple of screen shots.
https://bugzilla.redhat.com/attachment.cgi?id=326699
https://bugzilla.redhat.com/attachment.cgi?id=326700
Platforms tested: RHEL5
Flag Day: no
Doc impact: yes - will have to document the new UI



Index: LDBMPluginSettingPanel.java
===================================================================
RCS file: /cvs/dirsec/directoryconsole/src/com/netscape/admin/dirserv/panel/LDBMPluginSettingPanel.java,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- LDBMPluginSettingPanel.java	18 Jul 2005 00:55:58 -0000	1.1.1.1
+++ LDBMPluginSettingPanel.java	12 Dec 2008 18:35:38 -0000	1.2
@@ -20,6 +20,8 @@
 package com.netscape.admin.dirserv.panel;
 
 import java.awt.*;
+import java.awt.event.ActionEvent;
+
 import javax.swing.*;
 import javax.swing.border.*;
 import com.netscape.admin.dirserv.*;
@@ -37,7 +39,7 @@
  */
 public class LDBMPluginSettingPanel extends BlankPanel {
 
-	public LDBMPluginSettingPanel(IDSModel model, String dnEntry) {
+    public LDBMPluginSettingPanel(IDSModel model, String dnEntry) {
 		super(model, "pldbmsetting",true);
 		_helpToken = "configuration-database-plugin-setting-help";
 		_dnEntry = dnEntry;
@@ -75,6 +77,10 @@
 	_lRootDatabaseLoc = makeJLabel(_section,"RootDatabaseLoc");
 	_lRootDatabaseLoc.setLabelFor(_tfRootDatabaseLoc);	
 
+	/* add check box for autocache size */
+	_cbAutoCacheSize = makeJCheckBox(_section,"autoCacheSize", false);
+	
+	/* import cache size field */
 	_tfImportCacheSize = makeJTextField(_section,"importCacheSize");
 	_lImportCacheSize = makeJLabel( _section,"importCacheSize" );
 	_lImportCacheSize.setLabelFor(_tfImportCacheSize);
@@ -110,6 +116,10 @@
             _lRootDatabaseLoc, false, isLocal());
         entries.add(_dnEntry, DB_FILE_LOC_ATTR_NAME, fileEntry); 
         setComponentTable(_tfRootDatabaseLoc, fileEntry);
+        
+        DSEntryBoolean autoDSEntry = new DSEntryBoolean(null, _cbAutoCacheSize, "-1", "0");
+        entries.add(_dnEntry, IMPORT_AUTO_CACHE_SIZE_ATTR_NAME, autoDSEntry);
+        setComponentTable(_cbAutoCacheSize, autoDSEntry);
 
         DSEntryLong importsizeDSEntry = new DSEntryLong(null, 
             _tfImportCacheSize, _lImportCacheSize,
@@ -125,12 +135,38 @@
 		addEntryField( panel, _lMaxCacheSize, _tfMaxCacheSize, lMaxCacheSizeUnit );
 		addEntryField( panel, _lLookLimit, _tfLookLimit, lLookLimitUnit );
 		addEntryField( panel, _lModeFile, _tfModeFile, lModeFileUnit );
+		addEntryField( panel, new JLabel(""), _cbAutoCacheSize, new JLabel("") );
 		addEntryField( panel, _lImportCacheSize, _tfImportCacheSize,
 			       lImportCacheSizeUnit);
 		addBottomGlue();		
 		_isInitialized = true;
 	}
-		
+
+    private void enableCacheSize() {
+        boolean enabled = !_cbAutoCacheSize.isSelected();
+        _tfImportCacheSize.setEnabled(enabled);
+        _lImportCacheSize.setEnabled(enabled);       
+    }
+    /* (non-Javadoc)
+     * @see com.netscape.admin.dirserv.panel.BlankPanel#refresh()
+     */
+    public boolean refresh() {
+        // TODO Auto-generated method stub
+        boolean status = super.refresh();
+        enableCacheSize();
+        return status;
+    }
+
+    /* (non-Javadoc)
+     * @see com.netscape.admin.dirserv.panel.BlankPanel#actionPerformed(java.awt.event.ActionEvent)
+     */
+    public void actionPerformed(ActionEvent e) {
+        if (e.getSource().equals(_cbAutoCacheSize)) {
+            enableCacheSize();
+        }
+        super.actionPerformed(e);
+    }
+
     private JTextField _tfMaxCacheSize;
     private JLabel _lMaxCacheSize;
 	
@@ -142,6 +178,8 @@
 	
     private JTextField _tfRootDatabaseLoc;
     private JLabel _lRootDatabaseLoc;
+    
+    private JCheckBox _cbAutoCacheSize;
 
     private JTextField _tfImportCacheSize;
     private JLabel _lImportCacheSize;
@@ -156,6 +194,8 @@
 	"nsslapd-directory";
     private static final String DB_IMPORT__CACHE_SIZE_ATTR_NAM =
 	"nsslapd-import-cachesize";
+    private static final String IMPORT_AUTO_CACHE_SIZE_ATTR_NAME =
+    "nsslapd-import-cache-autosize";
     private static final long LIMIT_MIN_VAL = -1;
     private static final long LIMIT_MAX_VAL = Long.MAX_VALUE;
     private static final long CACHE_SIZE_NUM_MIN_VAL = 500000;




More information about the Fedora-directory-commits mailing list