From 40801996942cda5d3d77402e11e3fed92f4b3c04 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 07 Jul 2015 14:50:27 +0000
Subject: [PATCH] Code cleanups
---
opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliMain.java | 154 ++++++-------
opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliArgumentParser.java | 460 +++++++++++++++--------------------------
2 files changed, 250 insertions(+), 364 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliArgumentParser.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliArgumentParser.java
index 9cc05a2..216ef79 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliArgumentParser.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliArgumentParser.java
@@ -68,6 +68,54 @@
*/
public class ReplicationCliArgumentParser extends SecureConnectionCliParser
{
+ /** Arguments used when enabling replication for a server. */
+ static class ServerArgs
+ {
+ /** The 'hostName' argument for the first server. */
+ StringArgument hostNameArg;
+ /** The 'port' argument for the first server. */
+ IntegerArgument portArg;
+ /** The 'bindDN' argument for the first server. */
+ StringArgument bindDnArg;
+ /** The 'bindPasswordFile' argument for the first server. */
+ FileBasedArgument bindPasswordFileArg;
+ /** The 'bindPassword' argument for the first server. */
+ StringArgument bindPasswordArg;
+ /** The 'replicationPort' argument for the first server. */
+ IntegerArgument replicationPortArg;
+ /** The 'noReplicationServer' argument for the first server. */
+ BooleanArgument noReplicationServerArg;
+ /** The 'onlyReplicationServer' argument for the first server. */
+ BooleanArgument onlyReplicationServerArg;
+ /** The 'secureReplication' argument for the first server. */
+ BooleanArgument secureReplicationArg;
+
+
+ /**
+ * Get the password which has to be used for the command to connect to this server without
+ * prompting the user in the enable replication subcommand. If no password was specified return
+ * null.
+ *
+ * @return the password which has to be used for the command to connect to this server without
+ * prompting the user in the enable replication subcommand. If no password was specified
+ * return null.
+ */
+ String getBindPassword()
+ {
+ return ReplicationCliArgumentParser.getBindPassword(bindPasswordArg, bindPasswordFileArg);
+ }
+
+ boolean configureReplicationDomain()
+ {
+ return !onlyReplicationServerArg.isPresent();
+ }
+
+ boolean configureReplicationServer()
+ {
+ return !noReplicationServerArg.isPresent();
+ }
+ }
+
private SubCommand enableReplicationSubCmd;
private SubCommand disableReplicationSubCmd;
private SubCommand initializeReplicationSubCmd;
@@ -83,42 +131,12 @@
/** No-prompt argument. */
BooleanArgument noPromptArg;
private String defaultLocalHostValue;
- /** The 'hostName' argument for the first server. */
- private StringArgument hostName1Arg;
- /** The 'port' argument for the first server. */
- private IntegerArgument port1Arg;
- /** The 'bindDN' argument for the first server. */
- private StringArgument bindDn1Arg;
- /** The 'bindPasswordFile' argument for the first server. */
- FileBasedArgument bindPasswordFile1Arg;
- /** The 'bindPassword' argument for the first server. */
- StringArgument bindPassword1Arg;
- /** The 'replicationPort' argument for the first server. */
- IntegerArgument replicationPort1Arg;
- /** The 'noReplicationServer' argument for the first server. */
- BooleanArgument noReplicationServer1Arg;
- /** The 'onlyReplicationServer' argument for the first server. */
- BooleanArgument onlyReplicationServer1Arg;
- /** The 'secureReplication' argument for the first server. */
- private BooleanArgument secureReplication1Arg;
- /** The 'hostName' argument for the second server. */
- private StringArgument hostName2Arg;
- /** The 'port' argument for the second server. */
- private IntegerArgument port2Arg;
- /** The 'binDN' argument for the second server. */
- private StringArgument bindDn2Arg;
- /** The 'bindPasswordFile' argument for the second server. */
- FileBasedArgument bindPasswordFile2Arg;
- /** The 'bindPassword' argument for the second server. */
- StringArgument bindPassword2Arg;
- /** The 'replicationPort' argument for the second server. */
- IntegerArgument replicationPort2Arg;
- /** The 'noReplicationServer' argument for the second server. */
- BooleanArgument noReplicationServer2Arg;
- /** The 'onlyReplicationServer' argument for the second server. */
- BooleanArgument onlyReplicationServer2Arg;
- /** The 'secureReplication' argument for the second server. */
- private BooleanArgument secureReplication2Arg;
+
+ /** Arguments for the first server. */
+ ServerArgs server1 = new ServerArgs();
+ /** Arguments for the second server. */
+ ServerArgs server2 = new ServerArgs();
+
/** The 'skipPortCheckArg' argument to not check replication ports. */
private BooleanArgument skipPortCheckArg;
/** The 'noSchemaReplication' argument to not replicate schema. */
@@ -506,100 +524,10 @@
* Creates the enable replication subcommand and all the specific options
* for the subcommand.
*/
- private void createEnableReplicationSubCommand()
- throws ArgumentException
+ private void createEnableReplicationSubCommand() throws ArgumentException
{
-
- hostName1Arg = new StringArgument("host1", OPTION_SHORT_HOST,
- "host1", false, false, true, INFO_HOST_PLACEHOLDER.get(),
- getDefaultHostValue(),
- null, INFO_DESCRIPTION_ENABLE_REPLICATION_HOST1.get());
-
- port1Arg = new IntegerArgument("port1", OPTION_SHORT_PORT, "port1",
- false, false, true, INFO_PORT_PLACEHOLDER.get(),
- defaultAdminPort, null,
- true, 1,
- true, 65336,
- INFO_DESCRIPTION_ENABLE_REPLICATION_SERVER_PORT1.get());
-
- bindDn1Arg = new StringArgument("bindDN1", OPTION_SHORT_BINDDN,
- "bindDN1", false, false, true, INFO_BINDDN_PLACEHOLDER.get(),
- "cn=Directory Manager", null,
- INFO_DESCRIPTION_ENABLE_REPLICATION_BINDDN1.get());
-
- bindPassword1Arg = new StringArgument("bindPassword1",
- null, "bindPassword1", false, false, true,
- INFO_BINDPWD_PLACEHOLDER.get(), null, null,
- INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORD1.get());
-
- bindPasswordFile1Arg = new FileBasedArgument("bindPasswordFile1",
- null, "bindPasswordFile1", false, false,
- INFO_BINDPWD_FILE_PLACEHOLDER.get(), null, null,
- INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORDFILE1.get());
-
- replicationPort1Arg = new IntegerArgument("replicationPort1", 'r',
- "replicationPort1", false, false, true, INFO_PORT_PLACEHOLDER.get(),
- 8989, null,
- true, 1,
- true, 65336,
- INFO_DESCRIPTION_ENABLE_REPLICATION_PORT1.get());
-
- secureReplication1Arg = new BooleanArgument("secureReplication1", null,
- "secureReplication1",
- INFO_DESCRIPTION_ENABLE_SECURE_REPLICATION1.get());
-
- noReplicationServer1Arg = new BooleanArgument(
- "noreplicationserver1", null, "noReplicationServer1",
- INFO_DESCRIPTION_ENABLE_REPLICATION_NO_REPLICATION_SERVER1.get());
-
- onlyReplicationServer1Arg = new BooleanArgument(
- "onlyreplicationserver1", null, "onlyReplicationServer1",
- INFO_DESCRIPTION_ENABLE_REPLICATION_ONLY_REPLICATION_SERVER1.get());
-
- hostName2Arg = new StringArgument("host2", 'O',
- "host2", false, false, true, INFO_HOST_PLACEHOLDER.get(),
- getDefaultHostValue(),
- null, INFO_DESCRIPTION_ENABLE_REPLICATION_HOST2.get());
-
- port2Arg = new IntegerArgument("port2", null, "port2",
- false, false, true, INFO_PORT_PLACEHOLDER.get(), defaultAdminPort, null,
- true, 1,
- true, 65336,
- INFO_DESCRIPTION_ENABLE_REPLICATION_SERVER_PORT2.get());
-
- bindDn2Arg = new StringArgument("bindDN2", null,
- "bindDN2", false, false, true, INFO_BINDDN_PLACEHOLDER.get(),
- "cn=Directory Manager", null,
- INFO_DESCRIPTION_ENABLE_REPLICATION_BINDDN2.get());
-
- bindPassword2Arg = new StringArgument("bindPassword2",
- null, "bindPassword2", false, false, true,
- INFO_BINDPWD_PLACEHOLDER.get(), null, null,
- INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORD2.get());
-
- bindPasswordFile2Arg = new FileBasedArgument("bindPasswordFile2",
- 'F', "bindPasswordFile2", false, false,
- INFO_BINDPWD_FILE_PLACEHOLDER.get(), null, null,
- INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORDFILE2.get());
-
- replicationPort2Arg = new IntegerArgument("replicationPort2", 'R',
- "replicationPort2", false, false, true, INFO_PORT_PLACEHOLDER.get(),
- 8989, null,
- true, 1,
- true, 65336,
- INFO_DESCRIPTION_ENABLE_REPLICATION_PORT2.get());
-
- secureReplication2Arg = new BooleanArgument("secureReplication2", null,
- "secureReplication2",
- INFO_DESCRIPTION_ENABLE_SECURE_REPLICATION2.get());
-
- noReplicationServer2Arg = new BooleanArgument(
- "noreplicationserver2", null, "noReplicationServer2",
- INFO_DESCRIPTION_ENABLE_REPLICATION_NO_REPLICATION_SERVER2.get());
-
- onlyReplicationServer2Arg = new BooleanArgument(
- "onlyreplicationserver2", null, "onlyReplicationServer2",
- INFO_DESCRIPTION_ENABLE_REPLICATION_ONLY_REPLICATION_SERVER2.get());
+ createServerArgs1();
+ createServerArgs2();
skipPortCheckArg = new BooleanArgument(
"skipportcheck", 'S', "skipPortCheck",
@@ -619,14 +547,13 @@
INFO_DESCRIPTION_SUBCMD_ENABLE_REPLICATION.get());
Argument[] argsToAdd = {
- hostName1Arg, port1Arg, bindDn1Arg, bindPassword1Arg,
- bindPasswordFile1Arg, replicationPort1Arg, secureReplication1Arg,
- noReplicationServer1Arg, onlyReplicationServer1Arg,
- hostName2Arg, port2Arg, bindDn2Arg, bindPassword2Arg,
- bindPasswordFile2Arg, replicationPort2Arg, secureReplication2Arg,
- noReplicationServer2Arg, onlyReplicationServer2Arg,
- skipPortCheckArg, noSchemaReplicationArg,
- useSecondServerAsSchemaSourceArg
+ server1.hostNameArg, server1.portArg, server1.bindDnArg, server1.bindPasswordArg,
+ server1.bindPasswordFileArg, server1.replicationPortArg, server1.secureReplicationArg,
+ server1.noReplicationServerArg, server1.onlyReplicationServerArg,
+ server2.hostNameArg, server2.portArg, server2.bindDnArg, server2.bindPasswordArg,
+ server2.bindPasswordFileArg, server2.replicationPortArg, server2.secureReplicationArg,
+ server2.noReplicationServerArg, server2.onlyReplicationServerArg,
+ skipPortCheckArg, noSchemaReplicationArg, useSecondServerAsSchemaSourceArg
};
for (Argument arg : argsToAdd)
{
@@ -635,6 +562,105 @@
}
}
+ private void createServerArgs1() throws ArgumentException
+ {
+ ServerArgs server = server1;
+ server.hostNameArg = new StringArgument("host1", OPTION_SHORT_HOST,
+ "host1", false, false, true, INFO_HOST_PLACEHOLDER.get(),
+ getDefaultHostValue(),
+ null, INFO_DESCRIPTION_ENABLE_REPLICATION_HOST1.get());
+
+ server.portArg = new IntegerArgument("port1", OPTION_SHORT_PORT, "port1",
+ false, false, true, INFO_PORT_PLACEHOLDER.get(),
+ defaultAdminPort, null,
+ true, 1,
+ true, 65336,
+ INFO_DESCRIPTION_ENABLE_REPLICATION_SERVER_PORT1.get());
+
+ server.bindDnArg = new StringArgument("bindDN1", OPTION_SHORT_BINDDN,
+ "bindDN1", false, false, true, INFO_BINDDN_PLACEHOLDER.get(),
+ "cn=Directory Manager", null,
+ INFO_DESCRIPTION_ENABLE_REPLICATION_BINDDN1.get());
+
+ server.bindPasswordArg = new StringArgument("bindPassword1",
+ null, "bindPassword1", false, false, true,
+ INFO_BINDPWD_PLACEHOLDER.get(), null, null,
+ INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORD1.get());
+
+ server.bindPasswordFileArg = new FileBasedArgument("bindPasswordFile1",
+ null, "bindPasswordFile1", false, false,
+ INFO_BINDPWD_FILE_PLACEHOLDER.get(), null, null,
+ INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORDFILE1.get());
+
+ server.replicationPortArg = new IntegerArgument("replicationPort1", 'r',
+ "replicationPort1", false, false, true, INFO_PORT_PLACEHOLDER.get(),
+ 8989, null,
+ true, 1,
+ true, 65336,
+ INFO_DESCRIPTION_ENABLE_REPLICATION_PORT1.get());
+
+ server.secureReplicationArg = new BooleanArgument("secureReplication1", null,
+ "secureReplication1",
+ INFO_DESCRIPTION_ENABLE_SECURE_REPLICATION1.get());
+
+ server.noReplicationServerArg = new BooleanArgument(
+ "noreplicationserver1", null, "noReplicationServer1",
+ INFO_DESCRIPTION_ENABLE_REPLICATION_NO_REPLICATION_SERVER1.get());
+
+ server.onlyReplicationServerArg = new BooleanArgument(
+ "onlyreplicationserver1", null, "onlyReplicationServer1",
+ INFO_DESCRIPTION_ENABLE_REPLICATION_ONLY_REPLICATION_SERVER1.get());
+ }
+
+ private void createServerArgs2() throws ArgumentException
+ {
+ ServerArgs server = server2;
+ server.hostNameArg = new StringArgument("host2", 'O',
+ "host2", false, false, true, INFO_HOST_PLACEHOLDER.get(),
+ getDefaultHostValue(),
+ null, INFO_DESCRIPTION_ENABLE_REPLICATION_HOST2.get());
+
+ server.portArg = new IntegerArgument("port2", null, "port2",
+ false, false, true, INFO_PORT_PLACEHOLDER.get(), defaultAdminPort, null,
+ true, 1,
+ true, 65336,
+ INFO_DESCRIPTION_ENABLE_REPLICATION_SERVER_PORT2.get());
+
+ server.bindDnArg = new StringArgument("bindDN2", null,
+ "bindDN2", false, false, true, INFO_BINDDN_PLACEHOLDER.get(),
+ "cn=Directory Manager", null,
+ INFO_DESCRIPTION_ENABLE_REPLICATION_BINDDN2.get());
+
+ server.bindPasswordArg = new StringArgument("bindPassword2",
+ null, "bindPassword2", false, false, true,
+ INFO_BINDPWD_PLACEHOLDER.get(), null, null,
+ INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORD2.get());
+
+ server.bindPasswordFileArg = new FileBasedArgument("bindPasswordFile2",
+ 'F', "bindPasswordFile2", false, false,
+ INFO_BINDPWD_FILE_PLACEHOLDER.get(), null, null,
+ INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORDFILE2.get());
+
+ server.replicationPortArg = new IntegerArgument("replicationPort2", 'R',
+ "replicationPort2", false, false, true, INFO_PORT_PLACEHOLDER.get(),
+ 8989, null,
+ true, 1,
+ true, 65336,
+ INFO_DESCRIPTION_ENABLE_REPLICATION_PORT2.get());
+
+ server.secureReplicationArg = new BooleanArgument("secureReplication2", null,
+ "secureReplication2",
+ INFO_DESCRIPTION_ENABLE_SECURE_REPLICATION2.get());
+
+ server.noReplicationServerArg = new BooleanArgument(
+ "noreplicationserver2", null, "noReplicationServer2",
+ INFO_DESCRIPTION_ENABLE_REPLICATION_NO_REPLICATION_SERVER2.get());
+
+ server.onlyReplicationServerArg = new BooleanArgument(
+ "onlyreplicationserver2", null, "onlyReplicationServer2",
+ INFO_DESCRIPTION_ENABLE_REPLICATION_ONLY_REPLICATION_SERVER2.get());
+ }
+
/**
* Creates the disable replication subcommand and all the specific options
* for the subcommand. Note: this method assumes that
@@ -898,34 +924,6 @@
}
/**
- * Get the password which has to be used for the command to connect to the
- * first server without prompting the user in the enable replication
- * subcommand. If no password was specified return null.
- *
- * @return the password which has to be used for the command to connect to the
- * first server without prompting the user in the enable replication
- * subcommand. If no password was specified return null.
- */
- public String getBindPassword1()
- {
- return getBindPassword(bindPassword1Arg, bindPasswordFile1Arg);
- }
-
- /**
- * Get the password which has to be used for the command to connect to the
- * second server without prompting the user in the enable replication
- * subcommand. If no password was specified return null.
- *
- * @return the password which has to be used for the command to connect to the
- * second server without prompting the user in the enable replication
- * subcommand. If no password was specified return null.
- */
- public String getBindPassword2()
- {
- return getBindPassword(bindPassword2Arg, bindPasswordFile2Arg);
- }
-
- /**
* Get the global administrator password which has to be used for the command
* to connect to the server(s) without prompting the user. If no password was
* specified, return null.
@@ -969,39 +967,6 @@
}
/**
- * Returns the first host name explicitly provided in the enable replication
- * subcommand.
- * @return the first host name explicitly provided in the enable replication
- * subcommand.
- */
- public StringArgument getHostName1Arg()
- {
- return hostName1Arg;
- }
-
- /**
- * Returns the first server port explicitly provided in the enable replication
- * subcommand.
- * @return the first server port explicitly provided in the enable replication
- * subcommand. Returns -1 if no port was explicitly provided.
- */
- public IntegerArgument getPort1Arg()
- {
- return port1Arg;
- }
-
- /**
- * Returns the first server bind dn explicitly provided in the enable
- * replication subcommand.
- * @return the first server bind dn explicitly provided in the enable
- * replication subcommand.
- */
- public StringArgument getBindDn1Arg()
- {
- return bindDn1Arg;
- }
-
- /**
* Returns the first server replication port explicitly provided in the enable
* replication subcommand.
* @return the first server replication port explicitly provided in the enable
@@ -1009,62 +974,7 @@
*/
public int getReplicationPort1()
{
- return getValue(replicationPort1Arg);
- }
-
- /**
- * Returns the first server replication port default value in the enable
- * replication subcommand.
- * @return the first server replication port default value in the enable
- * replication subcommand.
- */
- public int getReplicationPort1OrDefault()
- {
- return getValueOrDefault(replicationPort1Arg);
- }
-
- /**
- * Returns whether the user asked to have replication communication with the
- * first server or not.
- * @return <CODE>true</CODE> the user asked to have replication communication
- * with the first server and <CODE>false</CODE> otherwise.
- */
- public boolean isSecureReplication1()
- {
- return secureReplication1Arg.isPresent();
- }
-
- /**
- * Returns the second host name explicitly provided in the enable replication
- * subcommand.
- * @return the second host name explicitly provided in the enable replication
- * subcommand.
- */
- public StringArgument getHostName2Arg()
- {
- return hostName2Arg;
- }
-
- /**
- * Returns the second server port explicitly provided in the enable
- * replication subcommand.
- * @return the second server port explicitly provided in the enable
- * replication subcommand. Returns -1 if no port was explicitly provided.
- */
- public IntegerArgument getPort2Arg()
- {
- return port2Arg;
- }
-
- /**
- * Returns the second server bind dn explicitly provided in the enable
- * replication subcommand.
- * @return the second server bind dn explicitly provided in the enable
- * replication subcommand.
- */
- public StringArgument getBindDn2Arg()
- {
- return bindDn2Arg;
+ return getValue(server1.replicationPortArg);
}
/**
@@ -1076,29 +986,7 @@
*/
public int getReplicationPort2()
{
- return getValue(replicationPort2Arg);
- }
-
- /**
- * Returns the second server replication port default value in the enable
- * replication subcommand.
- * @return the second server replication port default value in the enable
- * replication subcommand.
- */
- public int getReplicationPort2OrDefault()
- {
- return getDefaultValue(replicationPort2Arg);
- }
-
- /**
- * Returns whether the user asked to have replication communication with the
- * second server or not.
- * @return <CODE>true</CODE> the user asked to have replication communication
- * with the second server and <CODE>false</CODE> otherwise.
- */
- public boolean isSecureReplication2()
- {
- return secureReplication2Arg.isPresent();
+ return getValue(server2.replicationPortArg);
}
/**
@@ -1772,12 +1660,12 @@
{
Argument[][] conflictingPairs =
{
- {bindPassword1Arg, bindPasswordFile1Arg},
- {bindPassword2Arg, bindPasswordFile2Arg},
- {replicationPort1Arg, noReplicationServer1Arg},
- {noReplicationServer1Arg, onlyReplicationServer1Arg},
- {replicationPort2Arg, noReplicationServer2Arg},
- {noReplicationServer2Arg, onlyReplicationServer2Arg},
+ { server1.bindPasswordArg, server1.bindPasswordFileArg },
+ { server2.bindPasswordArg, server2.bindPasswordFileArg },
+ { server1.replicationPortArg, server1.noReplicationServerArg },
+ { server1.noReplicationServerArg, server1.onlyReplicationServerArg },
+ { server2.replicationPortArg, server2.noReplicationServerArg },
+ { server2.noReplicationServerArg, server2.onlyReplicationServerArg },
{noSchemaReplicationArg, useSecondServerAsSchemaSourceArg}
};
@@ -1793,12 +1681,12 @@
}
}
- if (hostName1Arg.getValue().equalsIgnoreCase(hostName2Arg.getValue())
+ if (server1.hostNameArg.getValue().equalsIgnoreCase(server2.hostNameArg.getValue())
&& !isInteractive()
- && port1Arg.getValue().equals(port2Arg.getValue()))
+ && server1.portArg.getValue().equals(server2.portArg.getValue()))
{
LocalizableMessage message = ERR_REPLICATION_ENABLE_SAME_SERVER_PORT.get(
- hostName1Arg.getValue(), port1Arg.getValue());
+ server1.hostNameArg.getValue(), server1.portArg.getValue());
addMessage(buf, message);
}
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliMain.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliMain.java
index ad1de74..7eb2ec4 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliMain.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliMain.java
@@ -1897,19 +1897,19 @@
/*
* Try to connect to the first server.
*/
- String host1 = getValue(argParser.getHostName1Arg());
- int port1 = getValue(argParser.getPort1Arg());
- String bindDn1 = getValue(argParser.getBindDn1Arg());
- String pwd1 = argParser.getBindPassword1();
+ String host1 = getValue(argParser.server1.hostNameArg);
+ int port1 = getValue(argParser.server1.portArg);
+ String bindDn1 = getValue(argParser.server1.bindDnArg);
+ String pwd1 = argParser.server1.getBindPassword();
String pwd = null;
Map<String, String> pwdFile = null;
- if (argParser.bindPassword1Arg.isPresent())
+ if (argParser.server1.bindPasswordArg.isPresent())
{
- pwd = argParser.bindPassword1Arg.getValue();
+ pwd = argParser.server1.bindPasswordArg.getValue();
}
- else if (argParser.bindPasswordFile1Arg.isPresent())
+ else if (argParser.server1.bindPasswordFileArg.isPresent())
{
- pwdFile = argParser.bindPasswordFile1Arg.getNameToValueMap();
+ pwdFile = argParser.server1.bindPasswordFileArg.getNameToValueMap();
}
else if (bindDn1 == null)
{
@@ -1984,11 +1984,9 @@
uData.getServer1().setPwd(pwd1);
}
int replicationPort1 = -1;
- boolean secureReplication1 = argParser.isSecureReplication1();
- boolean configureReplicationServer1 =
- !argParser.noReplicationServer1Arg.isPresent();
- boolean configureReplicationDomain1 =
- !argParser.onlyReplicationServer1Arg.isPresent();
+ boolean secureReplication1 = argParser.server1.secureReplicationArg.isPresent();
+ boolean configureReplicationServer1 = argParser.server1.configureReplicationServer();
+ boolean configureReplicationDomain1 = argParser.server1.configureReplicationDomain();
if (ctx1 != null)
{
int repPort1 = getReplicationPort(ctx1);
@@ -2040,7 +2038,7 @@
{
replicationPort1 = askPort(
INFO_REPLICATION_ENABLE_REPLICATIONPORT1_PROMPT.get(),
- getDefaultValue(argParser.replicationPort1Arg), logger);
+ getDefaultValue(argParser.server1.replicationPortArg), logger);
println();
}
if (!argParser.skipReplicationPortCheck() && isLocalHost(host1))
@@ -2140,20 +2138,20 @@
if (!cancelled)
{
- host2 = getValue(argParser.getHostName2Arg());
- port2 = getValue(argParser.getPort2Arg());
- bindDn2 = getValue(argParser.getBindDn2Arg());
- pwd2 = argParser.getBindPassword2();
+ host2 = getValue(argParser.server2.hostNameArg);
+ port2 = getValue(argParser.server2.portArg);
+ bindDn2 = getValue(argParser.server2.bindDnArg);
+ pwd2 = argParser.server2.getBindPassword();
pwdFile = null;
pwd = null;
- if (argParser.bindPassword2Arg.isPresent())
+ if (argParser.server2.bindPasswordArg.isPresent())
{
- pwd = argParser.bindPassword2Arg.getValue();
+ pwd = argParser.server2.bindPasswordArg.getValue();
}
- else if (argParser.bindPasswordFile2Arg.isPresent())
+ else if (argParser.server2.bindPasswordFileArg.isPresent())
{
- pwdFile = argParser.bindPasswordFile2Arg.getNameToValueMap();
+ pwdFile = argParser.server2.bindPasswordFileArg.getNameToValueMap();
}
else if (bindDn2 == null)
{
@@ -2257,11 +2255,9 @@
}
int replicationPort2 = -1;
- boolean secureReplication2 = argParser.isSecureReplication2();
- boolean configureReplicationServer2 =
- !argParser.noReplicationServer2Arg.isPresent();
- boolean configureReplicationDomain2 =
- !argParser.onlyReplicationServer2Arg.isPresent();
+ boolean secureReplication2 = argParser.server2.secureReplicationArg.isPresent();
+ boolean configureReplicationServer2 = argParser.server2.configureReplicationServer();
+ boolean configureReplicationDomain2 = argParser.server2.configureReplicationDomain();
if (ctx2 != null)
{
int repPort2 = getReplicationPort(ctx2);
@@ -2314,7 +2310,7 @@
{
replicationPort2 = askPort(
INFO_REPLICATION_ENABLE_REPLICATIONPORT2_PROMPT.get(),
- getDefaultValue(argParser.replicationPort2Arg), logger);
+ getDefaultValue(argParser.server2.replicationPortArg), logger);
println();
}
if (!argParser.skipReplicationPortCheck() &&
@@ -3116,28 +3112,25 @@
private void initializeWithArgParser(EnableReplicationUserData uData)
{
initialize(uData);
- String adminUid = uData.getAdminUid();
- String adminPwd = uData.getAdminPwd();
- final String adminDN = getAdministratorDN(adminUid);
- setConnectionDetails(uData.getServer1(), adminPwd, adminDN,
- argParser.getHostName1Arg(), argParser.getPort1Arg(), argParser.getBindDn1Arg(), argParser.getBindPassword1());
- setConnectionDetails(uData.getServer2(), adminPwd, adminDN,
- argParser.getHostName2Arg(), argParser.getPort2Arg(), argParser.getBindDn2Arg(), argParser.getBindPassword2());
+ final String adminDN = getAdministratorDN(uData.getAdminUid());
+ final String adminPwd = uData.getAdminPwd();
+ setConnectionDetails(uData.getServer1(), argParser.server1, adminDN, adminPwd);
+ setConnectionDetails(uData.getServer2(), argParser.server2, adminDN, adminPwd);
uData.setReplicateSchema(!argParser.noSchemaReplication());
- setReplicationDetails(uData.getServer1(), argParser.isSecureReplication1(), argParser.onlyReplicationServer1Arg,
- argParser.noReplicationServer1Arg, argParser.getReplicationPort1OrDefault());
- setReplicationDetails(uData.getServer2(), argParser.isSecureReplication2(), argParser.onlyReplicationServer2Arg,
- argParser.noReplicationServer2Arg, argParser.getReplicationPort2OrDefault());
+ setReplicationDetails(uData.getServer1(), argParser.server1);
+ setReplicationDetails(uData.getServer2(), argParser.server2);
}
- private void setConnectionDetails(EnableReplicationServerData server, String adminPwd, final String adminDN,
- StringArgument hostNameArg, IntegerArgument portArg, StringArgument bindDnArg, String pwd)
+ private void setConnectionDetails(
+ EnableReplicationServerData server, ServerArgs args, String adminDN, String adminPwd)
{
- server.setHostName(getValueOrDefault(hostNameArg));
- server.setPort(getValueOrDefault(portArg));
+ server.setHostName(getValueOrDefault(args.hostNameArg));
+ server.setPort(getValueOrDefault(args.portArg));
+
+ String pwd = args.getBindPassword();
if (pwd == null)
{
server.setBindDn(adminDN);
@@ -3156,21 +3149,20 @@
}
catch (Throwable t)
{
- server.setBindDn(getDefaultValue(bindDnArg));
+ server.setBindDn(getDefaultValue(args.bindDnArg));
server.setPwd(pwd);
}
}
}
- private void setReplicationDetails(EnableReplicationServerData server, boolean secureReplication,
- BooleanArgument onlyReplicationServer, BooleanArgument noReplicationServer, int replicationPort)
+ private void setReplicationDetails(EnableReplicationServerData server, ServerArgs args)
{
- server.setSecureReplication(secureReplication);
- server.setConfigureReplicationDomain(!onlyReplicationServer.isPresent());
- server.setConfigureReplicationServer(!noReplicationServer.isPresent());
+ server.setSecureReplication(args.secureReplicationArg.isPresent());
+ server.setConfigureReplicationDomain(args.configureReplicationDomain());
+ server.setConfigureReplicationServer(args.configureReplicationServer());
if (server.configureReplicationServer())
{
- server.setReplicationPort(replicationPort);
+ server.setReplicationPort(getValueOrDefault(args.replicationPortArg));
}
}
@@ -5214,10 +5206,12 @@
}
Set<String> alreadyConfiguredReplicationServers = new HashSet<String>();
- configureServer(ctx1, serverDesc1, uData.getServer1(), argParser.replicationPort1Arg, usedReplicationServerIds,
- allRepServers, alreadyConfiguredReplicationServers, WARN_FIRST_REPLICATION_SERVER_ALREADY_CONFIGURED);
- configureServer(ctx2, serverDesc2, uData.getServer2(), argParser.replicationPort2Arg, usedReplicationServerIds,
- allRepServers, alreadyConfiguredReplicationServers, WARN_SECOND_REPLICATION_SERVER_ALREADY_CONFIGURED);
+ configureServer(ctx1, serverDesc1, uData.getServer1(), argParser.server1.replicationPortArg,
+ usedReplicationServerIds, allRepServers, alreadyConfiguredReplicationServers,
+ WARN_FIRST_REPLICATION_SERVER_ALREADY_CONFIGURED);
+ configureServer(ctx2, serverDesc2, uData.getServer2(), argParser.server2.replicationPortArg,
+ usedReplicationServerIds, allRepServers, alreadyConfiguredReplicationServers,
+ WARN_SECOND_REPLICATION_SERVER_ALREADY_CONFIGURED);
for (String baseDN : uData.getBaseDNs())
{
@@ -8734,32 +8728,26 @@
!server1.configureReplicationDomain())
{
commandBuilder.addArgument(newBooleanArgument(
- argParser.onlyReplicationServer1Arg, INFO_DESCRIPTION_ENABLE_REPLICATION_ONLY_REPLICATION_SERVER1));
+ argParser.server1.onlyReplicationServerArg, INFO_DESCRIPTION_ENABLE_REPLICATION_ONLY_REPLICATION_SERVER1));
}
if (!server1.configureReplicationServer() &&
server1.configureReplicationDomain())
{
commandBuilder.addArgument(newBooleanArgument(
- argParser.noReplicationServer1Arg, INFO_DESCRIPTION_ENABLE_REPLICATION_NO_REPLICATION_SERVER1));
+ argParser.server1.noReplicationServerArg, INFO_DESCRIPTION_ENABLE_REPLICATION_NO_REPLICATION_SERVER1));
}
if (server1.configureReplicationServer() &&
server1.getReplicationPort() > 0)
{
- IntegerArgument replicationPort1 = new IntegerArgument(
- "replicationPort1", 'r',
- "replicationPort1", false, false, true, INFO_PORT_PLACEHOLDER.get(),
- 8989, null,
- INFO_DESCRIPTION_ENABLE_REPLICATION_PORT1.get());
- replicationPort1.addValue(String.valueOf(server1.getReplicationPort()));
- commandBuilder.addArgument(replicationPort1);
+ commandBuilder.addArgument(getReplicationPortArg(
+ "replicationPort1", server1, 8989, INFO_DESCRIPTION_ENABLE_REPLICATION_PORT1));
}
if (server1.isSecureReplication())
{
- commandBuilder.addArgument(new BooleanArgument("secureReplication1", null,
- "secureReplication1",
- INFO_DESCRIPTION_ENABLE_SECURE_REPLICATION1.get()));
+ commandBuilder.addArgument(
+ newBooleanArgument("secureReplication1", INFO_DESCRIPTION_ENABLE_SECURE_REPLICATION1));
}
@@ -8767,31 +8755,25 @@
!server2.configureReplicationDomain())
{
commandBuilder.addArgument(newBooleanArgument(
- argParser.onlyReplicationServer2Arg, INFO_DESCRIPTION_ENABLE_REPLICATION_ONLY_REPLICATION_SERVER2));
+ argParser.server2.onlyReplicationServerArg, INFO_DESCRIPTION_ENABLE_REPLICATION_ONLY_REPLICATION_SERVER2));
}
if (!server2.configureReplicationServer() &&
server2.configureReplicationDomain())
{
commandBuilder.addArgument(newBooleanArgument(
- argParser.noReplicationServer2Arg, INFO_DESCRIPTION_ENABLE_REPLICATION_NO_REPLICATION_SERVER2));
+ argParser.server2.noReplicationServerArg, INFO_DESCRIPTION_ENABLE_REPLICATION_NO_REPLICATION_SERVER2));
}
if (server2.configureReplicationServer() &&
server2.getReplicationPort() > 0)
{
- IntegerArgument replicationPort2 = new IntegerArgument(
- "replicationPort2", 'r',
- "replicationPort2", false, false, true, INFO_PORT_PLACEHOLDER.get(),
- server2.getReplicationPort(), null,
- INFO_DESCRIPTION_ENABLE_REPLICATION_PORT2.get());
- replicationPort2.addValue(String.valueOf(server2.getReplicationPort()));
- commandBuilder.addArgument(replicationPort2);
+ commandBuilder.addArgument(getReplicationPortArg(
+ "replicationPort2", server2, server2.getReplicationPort(), INFO_DESCRIPTION_ENABLE_REPLICATION_PORT2));
}
if (server2.isSecureReplication())
{
- commandBuilder.addArgument(new BooleanArgument("secureReplication2", null,
- "secureReplication2",
- INFO_DESCRIPTION_ENABLE_SECURE_REPLICATION2.get()));
+ commandBuilder.addArgument(
+ newBooleanArgument("secureReplication2", INFO_DESCRIPTION_ENABLE_SECURE_REPLICATION2));
}
@@ -8817,6 +8799,22 @@
}
}
+ private IntegerArgument getReplicationPortArg(
+ String name, EnableReplicationServerData server, int defaultValue, Arg0 description) throws ArgumentException
+ {
+ IntegerArgument replicationPort = new IntegerArgument(
+ name, 'r', name, false, false, true,
+ INFO_PORT_PLACEHOLDER.get(), defaultValue, null, description.get());
+ int value = server.getReplicationPort();
+ replicationPort.addValue(String.valueOf(value));
+ return replicationPort;
+ }
+
+ private BooleanArgument newBooleanArgument(String name, Arg0 msg) throws ArgumentException
+ {
+ return new BooleanArgument(name, null, name, msg.get());
+ }
+
private BooleanArgument newBooleanArgument(BooleanArgument arg, Arg0 msg) throws ArgumentException
{
return new BooleanArgument(arg.getName(), arg.getShortIdentifier(), arg.getLongIdentifier(), msg.get());
--
Gitblit v1.10.0