From 2173aa3140a1a35176921dfb8f2f9278b6973d73 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Mon, 12 Nov 2007 04:26:49 +0000
Subject: [PATCH] Update the dsreplication command-line to be consistent with dsconfig in the use of menus and in the order that questions to connect to the servers. Update the upgrade to use the same menus as the other command-lines. Do some minor changes in the uninstall command-line in order to be more consistent with dsconfig in the order where the connection parameters are provided. Fix a bug in ApplicationTrustManager related to the accepted certificates when there is a mismatch between the certificate and the host name. Do some refactorization of the code and remove the CliApplicationHelper class so that we use ConsoleApplication everywhere.

---
 opends/src/guitools/org/opends/guitools/replicationcli/ReplicationCliArgumentParser.java |   69 ++++++++++++++++++----------------
 1 files changed, 36 insertions(+), 33 deletions(-)

diff --git a/opends/src/guitools/org/opends/guitools/replicationcli/ReplicationCliArgumentParser.java b/opends/src/guitools/org/opends/guitools/replicationcli/ReplicationCliArgumentParser.java
index 64138aa..e35937b 100644
--- a/opends/src/guitools/org/opends/guitools/replicationcli/ReplicationCliArgumentParser.java
+++ b/opends/src/guitools/org/opends/guitools/replicationcli/ReplicationCliArgumentParser.java
@@ -40,6 +40,7 @@
 import org.opends.quicksetup.Constants;
 import org.opends.quicksetup.UserData;
 import org.opends.quicksetup.util.Utils;
+import org.opends.server.admin.client.cli.SecureConnectionCliArgs;
 import org.opends.server.admin.client.cli.SecureConnectionCliParser;
 import org.opends.server.util.args.Argument;
 import org.opends.server.util.args.ArgumentException;
@@ -218,21 +219,6 @@
   private StringArgument baseDNsArg = null;
 
   /**
-   * The 'admin UID' global argument.
-   */
-  private StringArgument adminUidArg;
-
-  /**
-   * The 'admin Password' global argument.
-   */
-  private StringArgument adminPasswordArg;
-
-  /**
-   * The 'admin Password File' global argument.
-   */
-  private FileBasedArgument adminPasswordFileArg;
-
-  /**
    * The 'quiet' argument.
    */
   private BooleanArgument quietArg;
@@ -328,10 +314,11 @@
     int returnValue;
     super.validateGlobalOptions(buf);
     ArrayList<Message> errors = new ArrayList<Message>();
-    if (adminPasswordArg.isPresent() && adminPasswordFileArg.isPresent()) {
+    if (secureArgsList.bindPasswordArg.isPresent() &&
+        secureArgsList.bindPasswordFileArg.isPresent()) {
       Message message = ERR_TOOL_CONFLICTING_ARGS.get(
-          adminPasswordArg.getLongIdentifier(),
-          adminPasswordFileArg.getLongIdentifier());
+          secureArgsList.bindPasswordArg.getLongIdentifier(),
+          secureArgsList.bindPasswordFileArg.getLongIdentifier());
       errors.add(message);
     }
 
@@ -345,8 +332,8 @@
       if (getBindPasswordAdmin() == null)
       {
         errors.add(ERR_REPLICATION_NO_ADMINISTRATOR_PASSWORD_PROVIDED.get(
-                adminPasswordArg.getLongIdentifier(),
-                adminPasswordFileArg.getLongIdentifier()));
+            secureArgsList.bindPasswordArg.getLongIdentifier(),
+                secureArgsList.bindPasswordFileArg.getLongIdentifier()));
       }
     }
 
@@ -411,6 +398,8 @@
     }
     defaultArgs.remove(noPropertiesFileArg);
     defaultArgs.remove(propertiesFileArg);
+    // Remove it from the default location and redefine it.
+    defaultArgs.remove(secureArgsList.adminUidArg);
 
     int index = 0;
 
@@ -420,25 +409,27 @@
     baseDNsArg.setPropertyName(OPTION_LONG_BASEDN);
     defaultArgs.add(index++, baseDNsArg);
 
-    adminUidArg = new StringArgument("adminUID", 'I',
+    secureArgsList.adminUidArg = new StringArgument("adminUID", 'I',
         "adminUID", false, false, true, "adminUID",
         Constants.GLOBAL_ADMIN_UID, null,
         INFO_DESCRIPTION_REPLICATION_ADMIN_UID.get(
             ENABLE_REPLICATION_SUBCMD_NAME));
-    adminUidArg.setPropertyName("adminUID");
-    defaultArgs.add(index++, adminUidArg);
+    secureArgsList.adminUidArg.setPropertyName("adminUID");
+    secureArgsList.adminUidArg.setHidden(false);
+    defaultArgs.add(index++, secureArgsList.adminUidArg);
 
-    adminPasswordArg = new StringArgument("adminPassword",
+    secureArgsList.bindPasswordArg = new StringArgument("adminPassword",
         OPTION_SHORT_BINDPWD, "adminPassword", false, false, true,
         OPTION_VALUE_BINDPWD, null, null,
         INFO_DESCRIPTION_REPLICATION_ADMIN_BINDPASSWORD.get());
-    defaultArgs.add(index++, adminPasswordArg);
+    defaultArgs.add(index++, secureArgsList.bindPasswordArg);
 
-    adminPasswordFileArg = new FileBasedArgument("adminPasswordFile",
+    secureArgsList.bindPasswordFileArg = new FileBasedArgument(
+        "adminPasswordFile",
         OPTION_SHORT_BINDPWD_FILE, "adminPasswordFile", false, false,
         OPTION_VALUE_BINDPWD_FILE, null, null,
         INFO_DESCRIPTION_REPLICATION_ADMIN_BINDPASSWORDFILE.get());
-    defaultArgs.add(index++, adminPasswordFileArg);
+    defaultArgs.add(index++, secureArgsList.bindPasswordFileArg);
 
     defaultArgs.remove(verboseArg);
     noPromptArg = new BooleanArgument(
@@ -792,7 +783,8 @@
    */
   public String getBindPasswordAdmin()
   {
-    return getBindPassword(adminPasswordArg, adminPasswordFileArg);
+    return getBindPassword(secureArgsList.bindPasswordArg,
+        secureArgsList.bindPasswordFileArg);
   }
 
   /**
@@ -857,8 +849,8 @@
   public String getBindPasswordAdmin(
       String dn, OutputStream out, OutputStream err)
   {
-    return getBindPassword(dn, out, err, adminPasswordArg,
-        adminPasswordFileArg);
+    return getBindPassword(dn, out, err, secureArgsList.bindPasswordArg,
+        secureArgsList.bindPasswordFileArg);
   }
 
   /**
@@ -1039,7 +1031,7 @@
    */
   public String getAdministratorUID()
   {
-    return getValue(adminUidArg);
+    return getValue(secureArgsList.adminUidArg);
   }
 
   /**
@@ -1048,7 +1040,7 @@
    */
   public String getDefaultAdministratorUID()
   {
-    return getDefaultValue(adminUidArg);
+    return getDefaultValue(secureArgsList.adminUidArg);
   }
 
   /**
@@ -1774,7 +1766,7 @@
     Argument[][] conflictingPairs =
     {
         {secureArgsList.useStartTLSArg, secureArgsList.useSSLArg},
-        {adminUidArg, secureArgsList.bindDnArg}
+        {secureArgsList.adminUidArg, secureArgsList.bindDnArg}
     };
 
     for (int i=0; i< conflictingPairs.length; i++)
@@ -1913,4 +1905,15 @@
     }
     return defaultLocalHostValue;
   }
+
+  /**
+   * Returns the SecureConnectionCliArgs object containing the arguments
+   * of this parser.
+   * @return the SecureConnectionCliArgs object containing the arguments
+   * of this parser.
+   */
+  SecureConnectionCliArgs getSecureArgsList()
+  {
+    return secureArgsList;
+  }
 }

--
Gitblit v1.10.0