From 9fa1aa8315996dc555e9921a1c77979e07050878 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 29 Jun 2016 15:48:26 +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/guitools/controlpanel/ui/LocalOrRemotePanel.java | 56 +++++++++++++++-----------------------------------------
1 files changed, 15 insertions(+), 41 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/LocalOrRemotePanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/LocalOrRemotePanel.java
index a300999..052a773 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/LocalOrRemotePanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/LocalOrRemotePanel.java
@@ -28,11 +28,7 @@
import java.util.Iterator;
import java.util.LinkedHashSet;
-import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
-import javax.naming.directory.SearchControls;
-import javax.naming.directory.SearchResult;
-import javax.naming.ldap.InitialLdapContext;
import javax.swing.Box;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JComboBox;
@@ -45,13 +41,14 @@
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.forgerock.opendj.ldap.DN;
+import org.forgerock.opendj.ldap.requests.SearchRequest;
+import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.opends.admin.ads.util.ApplicationTrustManager;
import org.opends.admin.ads.util.ConnectionUtils;
import org.opends.admin.ads.util.ConnectionWrapper;
import org.opends.guitools.controlpanel.ControlPanelArgumentParser;
import org.opends.guitools.controlpanel.datamodel.ConfigReadException;
import org.opends.guitools.controlpanel.datamodel.ControlPanelInfo;
-import org.opends.guitools.controlpanel.datamodel.CustomSearchResult;
import org.opends.guitools.controlpanel.event.ConfigurationChangeEvent;
import org.opends.guitools.controlpanel.task.OnlineUpdateException;
import org.opends.guitools.controlpanel.util.BackgroundTask;
@@ -62,7 +59,6 @@
import org.opends.quicksetup.ui.CertificateDialog;
import org.opends.quicksetup.util.UIKeyStore;
import org.opends.quicksetup.util.Utils;
-import org.opends.server.monitors.VersionMonitorProvider;
import org.opends.server.types.HostPort;
import org.opends.server.types.OpenDsException;
import org.opends.server.util.DynamicConstants;
@@ -70,8 +66,9 @@
import static com.forgerock.opendj.cli.Utils.*;
+import static org.forgerock.opendj.ldap.SearchScope.*;
+import static org.forgerock.opendj.ldap.requests.Requests.*;
import static org.opends.admin.ads.util.PreferredConnection.Type.*;
-import static org.opends.guitools.controlpanel.util.Utilities.*;
import static org.opends.messages.AdminToolMessages.*;
import static org.opends.messages.QuickSetupMessages.*;
import static org.opends.server.monitors.VersionMonitorProvider.*;
@@ -552,7 +549,7 @@
usedUrl = ConnectionUtils.getLDAPUrl(hostPort, true);
conn = new ConnectionWrapper(hostPort, LDAPS, dn.getText(), String.valueOf(pwd.getPassword()),
info.getConnectTimeout(), info.getTrustManager());
- checkVersion(conn.getLdapContext());
+ checkVersion(conn);
}
StaticUtils.sleep(500);
@@ -867,45 +864,22 @@
t.start();
}
- private void checkVersion(InitialLdapContext ctx) throws OpenDsException
+ private void checkVersion(ConnectionWrapper conn) throws OpenDsException
{
LocalizableMessage msg = null;
try
{
// Search for the version on the remote server.
- SearchControls searchControls = new SearchControls();
- searchControls.setSearchScope(
- SearchControls.OBJECT_SCOPE);
- searchControls.setReturningAttributes(
- new String[] {
- VersionMonitorProvider.ATTR_PRODUCT_NAME,
- VersionMonitorProvider.ATTR_MAJOR_VERSION,
- VersionMonitorProvider.ATTR_POINT_VERSION,
- VersionMonitorProvider.ATTR_MINOR_VERSION
- });
- NamingEnumeration<SearchResult> en =
- ctx.search("cn=Version,cn=monitor", "objectclass=*", searchControls);
- SearchResult sr = null;
- try
- {
- while (en.hasMore())
- {
- sr = en.next();
- }
- }
- finally
- {
- en.close();
- }
+ SearchRequest request = newSearchRequest(
+ "cn=Version,cn=monitor", BASE_OBJECT, "objectclass=*",
+ ATTR_PRODUCT_NAME, ATTR_MAJOR_VERSION, ATTR_POINT_VERSION, ATTR_MINOR_VERSION);
+ SearchResultEntry sr = conn.getConnection().searchSingleEntry(request);
- CustomSearchResult csr = new CustomSearchResult(sr, "cn=Version,cn=monitor");
-
- String hostName = ConnectionUtils.getHostName(ctx);
-
- String productName = getFirstValueAsString(csr, ATTR_PRODUCT_NAME);
- String major = getFirstValueAsString(csr, ATTR_MAJOR_VERSION);
- String point = getFirstValueAsString(csr, ATTR_POINT_VERSION);
- String minor = getFirstValueAsString(csr, ATTR_MINOR_VERSION);
+ String hostName = conn.getHostPort().getHost();
+ String productName = sr.getAttribute(ATTR_PRODUCT_NAME).firstValueAsString();
+ String major = sr.getAttribute(ATTR_MAJOR_VERSION).firstValueAsString();
+ String point = sr.getAttribute(ATTR_POINT_VERSION).firstValueAsString();
+ String minor = sr.getAttribute(ATTR_MINOR_VERSION).firstValueAsString();
// Be strict, control panel is only compatible with exactly the same version
if (!productName.equalsIgnoreCase(DynamicConstants.PRODUCT_NAME))
{
--
Gitblit v1.10.0