From 21ad54153fcbf8ad94c9aaddc0aca667e8646087 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Tue, 06 Oct 2009 13:20:00 +0000
Subject: [PATCH] Fix for issue 4259 (Add the new import-ldif options to the control panel) Add the option to specify the number of threads to be used for the import and the option to do the DN check later in the import LDIF process.
---
opends/src/guitools/org/opends/guitools/controlpanel/ui/InclusionExclusionPanel.java | 3 -
opends/src/messages/messages/admin_tool.properties | 10 +++++
opends/src/guitools/org/opends/guitools/controlpanel/ui/ImportLDIFPanel.java | 72 ++++++++++++++++++++++++++++++++++++
3 files changed, 83 insertions(+), 2 deletions(-)
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/ui/ImportLDIFPanel.java b/opends/src/guitools/org/opends/guitools/controlpanel/ui/ImportLDIFPanel.java
index bb17888..82ed462 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/ui/ImportLDIFPanel.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/ui/ImportLDIFPanel.java
@@ -80,8 +80,10 @@
private JRadioButton append;
private JCheckBox replaceEntries;
private JCheckBox rejectNotSchemaCompliant;
+ private JCheckBox doDNValidationAfter;
private JCheckBox writeRejects;
private JCheckBox writeSkips;
+ private JTextField threads;
private JTextField rejectsFile;
private JTextField skipsFile;
private JCheckBox overwriteRejectsFile;
@@ -95,6 +97,8 @@
private JLabel lFile;
private JLabel lImportType;
private JLabel lSchemaValidation;
+ private JLabel lDNValidation;
+ private JLabel lThreads;
private JLabel lRejectsFile;
private JLabel lSkipsFile;
private JLabel lRemoteFileHelp;
@@ -307,6 +311,41 @@
gbc.gridx = 0;
gbc.gridy ++;
gbc.insets.left = 0;
+ lDNValidation = Utilities.createPrimaryLabel(
+ INFO_CTRL_PANEL_DN_VALIDATION_LABEL.get());
+ add(lDNValidation, gbc);
+
+ gbc.gridx = 1;
+ doDNValidationAfter = Utilities.createCheckBox(
+ INFO_CTRL_PANEL_DO_DN_VALIDATION_LATER_LABEL.get());
+ doDNValidationAfter.setSelected(false);
+ gbc.insets.left = 10;
+ add(doDNValidationAfter, gbc);
+
+ gbc.gridx = 0;
+ gbc.gridy ++;
+ gbc.insets.left = 0;
+ lThreads = Utilities.createPrimaryLabel(
+ INFO_CTRL_PANEL_IMPORT_THREADS_LABEL.get());
+ add(lThreads, gbc);
+
+ gbc.gridx = 1;
+ threads = Utilities.createShortTextField();
+ gbc.gridwidth = 2;
+ gbc.fill = GridBagConstraints.NONE;
+ threads.setToolTipText(
+ INFO_CTRL_PANEL_IMPORT_THREADS_TOOLTIP.get().toString());
+ gbc.insets.left = 10;
+ add(threads, gbc);
+
+ gbc.insets.top = 3;
+ gbc.gridy ++;
+ add(Utilities.createInlineHelpLabel(
+ INFO_CTRL_PANEL_IMPORT_THREADS_HELP.get()), gbc);
+
+ gbc.gridx = 0;
+ gbc.gridy ++;
+ gbc.insets.left = 0;
gbc.insets.top = 10;
gbc.gridwidth = 1;
lRejectsFile = Utilities.createPrimaryLabel(
@@ -519,6 +558,7 @@
setPrimaryValid(lFile);
setPrimaryValid(lRejectsFile);
setPrimaryValid(lSkipsFile);
+ setPrimaryValid(lThreads);
final LinkedHashSet<Message> errors = new LinkedHashSet<Message>();
String backendName = (String)backends.getSelectedItem();
@@ -539,6 +579,25 @@
setPrimaryInvalid(lFile);
}
+ String sThread = threads.getText().trim();
+ if (sThread.length() > 0)
+ {
+ try
+ {
+ int threads = Integer.parseInt(sThread);
+ if (threads < 1)
+ {
+ errors.add(ERR_IMPORT_THREAD_NUMBER_INVALID.get());
+ setPrimaryInvalid(lThreads);
+ }
+ }
+ catch (Throwable t)
+ {
+ errors.add(ERR_IMPORT_THREAD_NUMBER_INVALID.get());
+ setPrimaryInvalid(lThreads);
+ }
+ }
+
if (writeRejects.isSelected())
{
String rejectPath = rejectsFile.getText();
@@ -620,6 +679,8 @@
setPrimaryValid(lFile);
setPrimaryValid(lImportType);
setPrimaryValid(lSchemaValidation);
+ setPrimaryValid(lDNValidation);
+ setPrimaryValid(lThreads);
setPrimaryValid(lRejectsFile);
setPrimaryValid(lSkipsFile);
super.cancelClicked();
@@ -719,6 +780,17 @@
{
args.add("--skipSchemaValidation");
}
+ if (doDNValidationAfter.isSelected())
+ {
+ args.add("--skipDNValidation");
+ }
+
+ String sThread = threads.getText().trim();
+ if (sThread.length() > 0)
+ {
+ args.add("--threadCount");
+ args.add(sThread);
+ }
if (writeRejects.isSelected())
{
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/ui/InclusionExclusionPanel.java b/opends/src/guitools/org/opends/guitools/controlpanel/ui/InclusionExclusionPanel.java
index 4d901ae..c7e35c4 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/ui/InclusionExclusionPanel.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/ui/InclusionExclusionPanel.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Copyright 2008 Sun Microsystems, Inc.
+ * Copyright 2008-2009 Sun Microsystems, Inc.
*/
package org.opends.guitools.controlpanel.ui;
@@ -235,7 +235,6 @@
lInclusionFilter.setVisible(expander.isSelected());
inclusionFilter.setVisible(expander.isSelected());
expanderStateChanged(expander, extraComponentLabels, extraComponents);
- packParentDialog();
}
};
expander.addChangeListener(changeListener);
diff --git a/opends/src/messages/messages/admin_tool.properties b/opends/src/messages/messages/admin_tool.properties
index a2a5b52..7450561 100644
--- a/opends/src/messages/messages/admin_tool.properties
+++ b/opends/src/messages/messages/admin_tool.properties
@@ -1746,6 +1746,16 @@
INFO_CTRL_PANEL_SCHEMA_VALIDATION_LABEL=Schema Validation:
INFO_CTRL_PANEL_REJECT_NOT_SCHEMA_COMPLIANT_LABEL=Reject Entries That are Not \
Schema-Compliant
+INFO_CTRL_PANEL_DN_VALIDATION_LABEL=DN Validation:
+INFO_CTRL_PANEL_DO_DN_VALIDATION_LATER_LABEL=Perform DN Validation during \
+ Later Part of Import
+INFO_CTRL_PANEL_IMPORT_THREADS_LABEL=Thread Number:
+INFO_CTRL_PANEL_IMPORT_THREADS_TOOLTIP=Number of threads used to read LDIF \
+ file during import.
+INFO_CTRL_PANEL_IMPORT_THREADS_HELP=If left empty the number of threads will \
+ be equal to 2 x Number of CPUs on server machine.
+MILD_ERR_IMPORT_THREAD_NUMBER_INVALID=The thread number must be a positive \
+ integer.
INFO_CTRL_PANEL_REJECTS_FILE_LABEL=Rejects File:
INFO_CTRL_PANEL_WRITE_REJECTS_FILE_LABEL=Write Rejected Entries to a File
INFO_CTRL_PANEL_OVERWRITE_REJECTS_FILE_LABEL=If file exists, overwrite \
--
Gitblit v1.10.0