From 54b243bf7bc89790641e7652518f5f9057134665 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 10 Feb 2016 07:50:38 +0000
Subject: [PATCH] OPENDJ-2693 dsconfig error message is showing the wrong port
---
opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/ConnectionFactoryProvider.java | 44 ++++++++++++++++++++++----------------------
1 files changed, 22 insertions(+), 22 deletions(-)
diff --git a/opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/ConnectionFactoryProvider.java b/opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/ConnectionFactoryProvider.java
index bd3b890..d3d4f96 100644
--- a/opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/ConnectionFactoryProvider.java
+++ b/opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/ConnectionFactoryProvider.java
@@ -22,7 +22,7 @@
*
*
* Copyright 2010 Sun Microsystems, Inc.
- * Portions copyright 2011-2015 ForgeRock AS
+ * Portions copyright 2011-2016 ForgeRock AS
*/
package com.forgerock.opendj.cli;
@@ -130,9 +130,6 @@
/** Whether to use the password policy control in the bind request. */
private final BooleanArgument usePasswordPolicyControlArg;
- /** The port number to used to connect. */
- private int port = DEFAULT_LDAP_PORT;
-
/** The SSL context linked to this connection. */
private SSLContext sslContext;
@@ -297,8 +294,7 @@
value = hostNameArg.getValue();
} else if (app.isInteractive()) {
try {
- value = app.readInput(INFO_DESCRIPTION_HOST.get(),
- hostNameArg.getDefaultValue() == null ? value : hostNameArg.getDefaultValue());
+ value = app.readInput(INFO_DESCRIPTION_HOST.get(), getHostNameDefaultValue(value));
app.println();
hostNameArg.addValue(value);
hostNameArg.setPresent(true);
@@ -306,12 +302,16 @@
throw new ArgumentException(ERR_ERROR_CANNOT_READ_HOST_NAME.get(), e);
}
} else {
- return hostNameArg.getDefaultValue() == null ? value : hostNameArg.getDefaultValue();
+ return getHostNameDefaultValue(value);
}
return getHostNameForLdapUrl(value);
}
+ private String getHostNameDefaultValue(String fallbackValue) {
+ return hostNameArg.getDefaultValue() != null ? hostNameArg.getDefaultValue() : fallbackValue;
+ }
+
/**
* Get the port which has to be used for the command.
*
@@ -324,6 +324,14 @@
} catch (ArgumentException e) {
return Integer.valueOf(portArg.getDefaultValue());
}
+ } else if (app.isInteractive()) {
+ final LocalizableMessage portMsg =
+ isAdminConnection ? INFO_DESCRIPTION_ADMIN_PORT.get() : INFO_DESCRIPTION_PORT.get();
+ int value = app.askPort(portMsg, Integer.valueOf(portArg.getDefaultValue()), logger);
+ app.println();
+ portArg.addValue(Integer.toString(value));
+ portArg.setPresent(true);
+ return value;
}
return Integer.valueOf(portArg.getDefaultValue());
}
@@ -376,32 +384,24 @@
private ConnectionFactory getConnectionFactory(boolean usePreAuthentication) throws ArgumentException {
if (connFactory == null) {
- port = portArg.isPresent() ? portArg.getIntValue() : 0;
-
checkForConflictingArguments();
if (app.isInteractive()) {
- if (!hostNameArg.isPresent() || port == 0 || !bindNameArg.isPresent()
- || (!bindPasswordArg.isPresent() && !bindPasswordFileArg.isPresent())) {
+ boolean portIsMissing = !portArg.isPresent() || portArg.getIntValue() == 0;
+ boolean bindPwdIsMissing = !bindPasswordArg.isPresent() && !bindPasswordFileArg.isPresent();
+ if (!hostNameArg.isPresent() || portIsMissing || !bindNameArg.isPresent() || bindPwdIsMissing) {
app.printHeader(INFO_LDAP_CONN_HEADING_CONNECTION_PARAMETERS.get());
}
if (!hostNameArg.isPresent()) {
getHostname();
}
- if (port == 0) {
- LocalizableMessage portMsg;
- if (isAdminConnection) {
- portMsg = INFO_DESCRIPTION_ADMIN_PORT.get();
- } else {
- portMsg = INFO_DESCRIPTION_PORT.get();
- }
- port = app.askPort(portMsg, Integer.valueOf(portArg.getDefaultValue()), logger);
- app.println();
+ if (portIsMissing) {
+ getPort();
}
if (!bindNameArg.isPresent()) {
getBindName();
}
- if (!bindPasswordArg.isPresent() && !bindPasswordFileArg.isPresent()) {
+ if (bindPwdIsMissing) {
getPassword();
}
}
@@ -444,7 +444,7 @@
if (usePreAuthentication) {
options.set(AUTHN_BIND_REQUEST, getBindRequest());
}
- connFactory = new LDAPConnectionFactory(hostNameArg.getValue(), port, options);
+ connFactory = new LDAPConnectionFactory(hostNameArg.getValue(), portArg.getIntValue(), options);
}
return connFactory;
}
--
Gitblit v1.10.0