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/ImportLDIFPanel.java |   72 ++++++++++++++++++++++++++++++++++++
 1 files changed, 72 insertions(+), 0 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())
       {

--
Gitblit v1.10.0