From f48e9864c47692e41de5e53ea64501defac882b9 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 01 Mar 2016 09:03:55 +0000
Subject: [PATCH] ConnectionFactoryProvider.java: remove code duplication
---
opendj-sdk/opendj-cli/src/main/java/com/forgerock/opendj/cli/ConnectionFactoryProvider.java | 77 ++++++++++++++------------------------
1 files changed, 28 insertions(+), 49 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 3a1f658..39cf434 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
@@ -529,13 +529,7 @@
}
private String getAuthID(final String mech) throws ArgumentException {
- String value = null;
- for (final String s : saslOptionArg.getValues()) {
- if (s.startsWith(SASL_PROPERTY_AUTHID)) {
- value = parseSASLOptionValue(s);
- break;
- }
- }
+ String value = getAuthID();
if (value == null && bindNameArg.isPresent()) {
value = "dn: " + bindNameArg.getValue();
}
@@ -551,21 +545,17 @@
}
}
if (value == null) {
- final LocalizableMessage message = ERR_LDAPAUTH_SASL_AUTHID_REQUIRED.get(mech);
- throw new ArgumentException(message);
+ throw new ArgumentException(ERR_LDAPAUTH_SASL_AUTHID_REQUIRED.get(mech));
}
return value;
}
+ private String getAuthID() throws ArgumentException {
+ return getSaslProperty(SASL_PROPERTY_AUTHID);
+ }
+
private String getAuthzID() throws ArgumentException {
- String value = null;
- for (final String s : saslOptionArg.getValues()) {
- if (s.startsWith(SASL_PROPERTY_AUTHZID)) {
- value = parseSASLOptionValue(s);
- break;
- }
- }
- return value;
+ return getSaslProperty(SASL_PROPERTY_AUTHZID);
}
/**
@@ -611,13 +601,7 @@
*/
public BindRequest getBindRequest() throws ArgumentException {
if (bindRequest == null) {
- String mech = null;
- for (final String s : saslOptionArg.getValues()) {
- if (s.startsWith(SASL_PROPERTY_MECH)) {
- mech = parseSASLOptionValue(s);
- break;
- }
- }
+ String mech = getMechanism();
if (mech == null) {
if (bindNameArg.isPresent() || bindPasswordFileArg.isPresent()
@@ -672,21 +656,30 @@
return bindRequest;
}
- /** {@inheritDoc} */
- @Override
- public String toString() {
- return connFactory.toString();
+ private String getMechanism() throws ArgumentException {
+ return getSaslProperty(SASL_PROPERTY_MECH);
}
private String getKDC() throws ArgumentException {
- String value = null;
+ return getSaslProperty(SASL_PROPERTY_KDC);
+ }
+
+ private String getRealm() throws ArgumentException {
+ return getSaslProperty(SASL_PROPERTY_REALM);
+ }
+
+ private String getSaslProperty(String propertyName) throws ArgumentException {
for (final String s : saslOptionArg.getValues()) {
- if (s.startsWith(SASL_PROPERTY_KDC)) {
- value = parseSASLOptionValue(s);
- break;
+ if (s.startsWith(propertyName)) {
+ return parseSASLOptionValue(s);
}
}
- return value;
+ return null;
+ }
+
+ @Override
+ public String toString() {
+ return connFactory.toString();
}
/**
@@ -797,17 +790,6 @@
return value;
}
- private String getRealm() throws ArgumentException {
- String value = null;
- for (final String s : saslOptionArg.getValues()) {
- if (s.startsWith(SASL_PROPERTY_REALM)) {
- value = parseSASLOptionValue(s);
- break;
- }
- }
- return value;
- }
-
/**
* Retrieves a <CODE>TrustManager</CODE> object that may be used for
* interactions requiring access to a trust manager.
@@ -855,7 +837,6 @@
*
* @return The PIN that should be used to access the trust store, can be null.
*/
-
private char[] getTrustStorePIN() {
String pwd;
if (trustStorePasswordArg.isPresent()) {
@@ -870,11 +851,9 @@
private String parseSASLOptionValue(final String option) throws ArgumentException {
final int equalPos = option.indexOf('=');
- if (equalPos <= 0) {
- final LocalizableMessage message = ERR_LDAP_CONN_CANNOT_PARSE_SASL_OPTION.get(option);
- throw new ArgumentException(message);
+ if (equalPos == -1) {
+ throw new ArgumentException(ERR_LDAP_CONN_CANNOT_PARSE_SASL_OPTION.get(option));
}
-
return option.substring(equalPos + 1, option.length());
}
--
Gitblit v1.10.0