From 609077ed606e3b094e303f298e8dca10567bc3e2 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 05 Aug 2016 18:42:07 +0000
Subject: [PATCH] Partial OPENDJ-2625 Convert all code that uses JNDI to use the SDK instead
---
opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/Installer.java | 85 ++++++++++++++++--------------------------
1 files changed, 32 insertions(+), 53 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/Installer.java b/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/Installer.java
index d5455ae..89884e6 100644
--- a/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/Installer.java
+++ b/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/Installer.java
@@ -40,7 +40,6 @@
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintStream;
-import java.net.URI;
import java.security.KeyStoreException;
import java.util.ArrayList;
import java.util.Collection;
@@ -53,8 +52,6 @@
import java.util.Map;
import java.util.Set;
-import javax.naming.NamingException;
-import javax.naming.NamingSecurityException;
import javax.naming.ldap.Rdn;
import javax.swing.JPanel;
@@ -63,6 +60,8 @@
import org.forgerock.i18n.LocalizableMessageDescriptor.Arg0;
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.forgerock.opendj.config.ManagedObjectDefinition;
+import org.forgerock.opendj.ldap.AuthenticationException;
+import org.forgerock.opendj.ldap.AuthorizationException;
import org.forgerock.opendj.ldap.DN;
import org.forgerock.opendj.ldap.EntryNotFoundException;
import org.forgerock.opendj.ldap.LdapException;
@@ -1946,7 +1945,7 @@
backendTypes.get(backendId).getBackend());
}
}
- catch (NamingException e)
+ catch (LdapException e)
{
LocalizableMessage failedMsg = getThrowableMsg(INFO_ERROR_CONNECTING_TO_LOCAL.get(), e);
throw new ApplicationException(ReturnCode.CONFIGURATION_ERROR, failedMsg, e);
@@ -2064,7 +2063,7 @@
localTime = Utils.getServerClock(conn);
localServerDisplay = conn.getHostPort();
}
- catch (NamingException ne)
+ catch (LdapException ne)
{
LocalizableMessage failedMsg = getThrowableMsg(INFO_ERROR_CONNECTING_TO_LOCAL.get(), ne);
throw new ApplicationException(ReturnCode.CONFIGURATION_ERROR, failedMsg, ne);
@@ -2615,8 +2614,8 @@
ADSContext adsContext = null; // Bound to ADS host (via one of above).
/*
- * Outer try-catch-finally to convert occurrences of NamingException and
- * ADSContextException to ApplicationException and clean up JNDI contexts.
+ * Outer try-catch-finally to convert occurrences of LdapException and ADSContextException to
+ * ApplicationException and clean up connections.
*/
try
{
@@ -2726,6 +2725,19 @@
}
}
}
+ catch (LdapException ne)
+ {
+ LocalizableMessage msg;
+ if (isRemoteServer)
+ {
+ msg = getMessageForException(ne, auth.getHostPort().toString());
+ }
+ else
+ {
+ msg = Utils.getMessageForException(ne);
+ }
+ throw new ApplicationException(ReturnCode.CONFIGURATION_ERROR, msg, ne);
+ }
catch (IOException e)
{
LocalizableMessage msg;
@@ -2739,19 +2751,6 @@
}
throw new ApplicationException(ReturnCode.CONFIGURATION_ERROR, msg, e);
}
- catch (NamingException ne)
- {
- LocalizableMessage msg;
- if (isRemoteServer)
- {
- msg = getMessageForException(ne, auth.getHostPort().toString());
- }
- else
- {
- msg = Utils.getMessageForException(ne);
- }
- throw new ApplicationException(ReturnCode.CONFIGURATION_ERROR, msg, ne);
- }
catch (ADSContextException ace)
{
throw new ApplicationException(ReturnCode.CONFIGURATION_ERROR, (isRemoteServer ? INFO_REMOTE_ADS_EXCEPTION.get(
@@ -2763,21 +2762,21 @@
}
}
- private ConnectionWrapper createConnection(AuthenticationData auth) throws NamingException
+ private ConnectionWrapper createConnection(AuthenticationData auth) throws LdapException
{
- String ldapUrl = auth.getLdapUrl();
+ HostPort hostPort = auth.getHostPort();
DN dn = auth.getDn();
String pwd = auth.getPwd();
if (auth.useSecureConnection())
{
ApplicationTrustManager trustManager = getTrustManager();
- trustManager.setHost(auth.getHostPort().getHost());
- return new ConnectionWrapper(ldapUrl, LDAPS, dn, pwd, getConnectTimeout(), getTrustManager());
+ trustManager.setHost(hostPort.getHost());
+ return new ConnectionWrapper(hostPort, LDAPS, dn, pwd, getConnectTimeout(), getTrustManager());
}
else
{
- return new ConnectionWrapper(ldapUrl, LDAP, dn, pwd, getConnectTimeout(), getTrustManager());
+ return new ConnectionWrapper(hostPort, LDAP, dn, pwd, getConnectTimeout(), getTrustManager());
}
}
@@ -2913,16 +2912,7 @@
AuthenticationData auth = repl.getAuthenticationData();
if (auth != null)
{
- PreferredConnection.Type type;
- if (auth.useSecureConnection())
- {
- type = PreferredConnection.Type.LDAPS;
- }
- else
- {
- type = PreferredConnection.Type.LDAP;
- }
- cnx.add(new PreferredConnection(auth.getLdapUrl(), type));
+ cnx.add(new PreferredConnection(auth.getHostPort(), auth.getConnectionType()));
}
}
return cnx;
@@ -3430,20 +3420,9 @@
excType = toUserDataCertificateExceptionType(cause);
if (excType != null)
{
- String h;
- int p;
- try
- {
- URI uri = new URI(e.getLdapUrl());
- h = uri.getHost();
- p = uri.getPort();
- }
- catch (Throwable t)
- {
- logger.warn(LocalizableMessage.raw("Error parsing ldap url of TopologyCacheException.", t));
- h = INFO_NOT_AVAILABLE_LABEL.get().toString();
- p = -1;
- }
+ HostPort hostPort2 = e.getHostPort();
+ String h = hostPort2.getHost();
+ int p = hostPort2.getPort();
throw new UserDataCertificateException(Step.REPLICATION_OPTIONS, INFO_CERTIFICATE_EXCEPTION.get(h, p),
e.getCause(), h, p, e.getTrustManager().getLastRefusedChain(), e.getTrustManager()
.getLastRefusedAuthType(), excType);
@@ -3491,12 +3470,12 @@
qs.displayFieldInvalid(FieldName.REMOTE_SERVER_PWD, true);
errorMsgs.add(INFO_CANNOT_CONNECT_TO_REMOTE_GENERIC.get(host + ":" + port, t));
}
- else if (t instanceof NamingException)
+ else if (t instanceof LdapException)
{
- errorMsgs.add(getMessageForException((NamingException) t, host + ":" + port));
+ errorMsgs.add(getMessageForException((LdapException) t, host + ":" + port));
qs.displayFieldInvalid(FieldName.REMOTE_SERVER_DN, true);
qs.displayFieldInvalid(FieldName.REMOTE_SERVER_PWD, true);
- if (!(t instanceof NamingSecurityException))
+ if (!(t instanceof AuthorizationException) && !(t instanceof AuthenticationException))
{
qs.displayFieldInvalid(FieldName.REMOTE_SERVER_HOST, true);
qs.displayFieldInvalid(FieldName.REMOTE_SERVER_PORT, true);
@@ -4083,7 +4062,7 @@
return servers;
}
- private ConnectionWrapper createLocalConnection() throws NamingException
+ private ConnectionWrapper createLocalConnection() throws LdapException
{
UserData uData = getUserData();
HostPort hostPort = new HostPort(uData.getHostName(), uData.getAdminConnectorPort());
--
Gitblit v1.10.0