From db131a4757955895f6eabd325dfd1126b2d6aa8c Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Tue, 27 Oct 2009 18:04:55 +0000
Subject: [PATCH] Fix for issue 4323 (Indexes: remove id2children and id2subtree from control panel) Fix for issue 4322 (Indexes: rebuild-all not available in the control-panel) Identify the indexes and check whether rebuildAll should be called or not.
---
opends/src/guitools/org/opends/guitools/controlpanel/ui/RebuildIndexPanel.java | 44 ++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 42 insertions(+), 2 deletions(-)
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/ui/RebuildIndexPanel.java b/opends/src/guitools/org/opends/guitools/controlpanel/ui/RebuildIndexPanel.java
index 77ae9b9..0f09378 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/ui/RebuildIndexPanel.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/ui/RebuildIndexPanel.java
@@ -33,6 +33,7 @@
import java.awt.GridBagConstraints;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashSet;
@@ -49,6 +50,7 @@
import org.opends.guitools.controlpanel.datamodel.BackendDescriptor;
import org.opends.guitools.controlpanel.datamodel.CategorizedComboBoxElement;
import org.opends.guitools.controlpanel.datamodel.ControlPanelInfo;
+import org.opends.guitools.controlpanel.datamodel.IndexDescriptor;
import org.opends.guitools.controlpanel.datamodel.ServerDescriptor;
import org.opends.guitools.controlpanel.datamodel.SortableListModel;
import org.opends.guitools.controlpanel.event.ConfigurationChangeEvent;
@@ -230,7 +232,9 @@
*/
private void refreshContents(final ServerDescriptor desc)
{
- updateIndexMap(desc, hmIndexes);
+ super.updateIndexMap(desc, hmIndexes);
+ filterIndexes(hmIndexes);
+
updateBaseDNComboBoxModel((DefaultComboBoxModel)baseDNs.getModel(), desc);
// Check that all backends
@@ -279,7 +283,7 @@
addRemove.getSelectedList().repaint();
Utilities.updateViewPositions(pos);
- if (!desc.isLocal() && false)
+ if (!desc.isLocal())
{
displayErrorMessage(INFO_CTRL_PANEL_SERVER_REMOTE_SUMMARY.get(),
INFO_CTRL_PANEL_SERVER_MUST_BE_LOCAL_REBUILD_INDEX_SUMMARY.get());
@@ -399,4 +403,40 @@
}
return dn;
}
+
+ private void filterIndexes(
+ HashMap<String, SortedSet<AbstractIndexDescriptor>> hmIndexes)
+ {
+ // Remove the indexes that are not to be added.
+ for (SortedSet<AbstractIndexDescriptor> indexes : hmIndexes.values())
+ {
+ ArrayList<AbstractIndexDescriptor> toRemove =
+ new ArrayList<AbstractIndexDescriptor>();
+ for (AbstractIndexDescriptor index : indexes)
+ {
+ if (!mustBeDisplayed(index))
+ {
+ toRemove.add(index);
+ }
+ }
+ indexes.removeAll(toRemove);
+ }
+ }
+
+ private boolean mustBeDisplayed(AbstractIndexDescriptor index)
+ {
+ boolean mustBeDisplayed = true;
+ if (index instanceof IndexDescriptor)
+ {
+ for (String name : RebuildIndexTask.INDEXES_NOT_TO_SPECIFY)
+ {
+ if (name.equalsIgnoreCase(index.getName()))
+ {
+ mustBeDisplayed = false;
+ break;
+ }
+ }
+ }
+ return mustBeDisplayed;
+ }
}
--
Gitblit v1.10.0