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 --
opendj-server-legacy/src/main/java/org/opends/server/schema/SchemaConstants.java | 4
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/MonitoringTableModel.java | 18
opendj-server-legacy/src/main/java/org/opends/server/types/Schema.java | 82 ----
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/EntryCachesMonitoringPanel.java | 13
opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliMain.java | 11
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/DatabaseMonitoringTableModel.java | 28
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ConnectionHandlerMonitoringPanel.java | 4
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ControlPanelInfo.java | 27
opendj-server-legacy/src/main/java/org/opends/admin/ads/util/ConnectionWrapper.java | 35 +
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/WorkQueueMonitoringPanel.java | 10
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java | 322 +++++++----------
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java | 42 +-
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ControlCenterMainPane.java | 9
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ConnectionHandlerDescriptor.java | 9
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ConnectionHandlersMonitoringTableModel.java | 21
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/Utilities.java | 101 +++--
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/SystemInformationMonitoringPanel.java | 10
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/BackendDescriptor.java | 11
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/RootMonitoringPanel.java | 15
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/RemoteSchemaLoader.java | 164 +++------
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/DatabaseMonitoringPanel.java | 5
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromFile.java | 26
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/StatusGenericPanel.java | 8
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/JavaInformationMonitoringPanel.java | 15
25 files changed, 440 insertions(+), 606 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/admin/ads/util/ConnectionWrapper.java b/opendj-server-legacy/src/main/java/org/opends/admin/ads/util/ConnectionWrapper.java
index 1f35ac0..575f2a3 100644
--- a/opendj-server-legacy/src/main/java/org/opends/admin/ads/util/ConnectionWrapper.java
+++ b/opendj-server-legacy/src/main/java/org/opends/admin/ads/util/ConnectionWrapper.java
@@ -38,6 +38,7 @@
import org.forgerock.opendj.config.LDAPProfile;
import org.forgerock.opendj.ldap.Connection;
+import org.forgerock.opendj.ldap.DN;
import org.forgerock.opendj.ldap.LDAPConnectionFactory;
import org.forgerock.opendj.ldap.LdapException;
import org.forgerock.opendj.ldap.SSLContextBuilder;
@@ -63,6 +64,8 @@
private final Connection connection;
private final InitialLdapContext ldapContext;
private final HostPort hostPort;
+ private DN bindDn;
+ private String bindPwd;
private final int connectTimeout;
private final TrustManager trustManager;
private final KeyManager keyManager;
@@ -152,6 +155,8 @@
int connectTimeout, TrustManager trustManager, KeyManager keyManager) throws NamingException
{
this.hostPort = hostPort;
+ this.bindDn = DN.valueOf(bindDn);
+ this.bindPwd = bindPwd;
this.connectTimeout = connectTimeout;
this.trustManager = trustManager;
this.keyManager = keyManager;
@@ -196,6 +201,36 @@
}
}
+ /**
+ * Returns the bind DN used by this connection.
+ *
+ * @return the bind DN used by this connection.
+ */
+ public DN getBindDn()
+ {
+ return bindDn;
+ }
+
+ /**
+ * Returns the bind password used by this connection.
+ *
+ * @return the bind password used by this connection.
+ */
+ public String getBindPassword()
+ {
+ return bindPwd;
+ }
+
+ /**
+ * Returns the LDAP URL used by the InitialLdapContext.
+ *
+ * @return the LDAP URL used by the InitialLdapContext.
+ */
+ public String getLdapUrl()
+ {
+ return ConnectionUtils.getLdapUrl(ldapContext);
+ }
+
private InitialLdapContext createAdministrativeContext(Options options, String bindDn, String bindPwd)
throws NamingException
{
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/BackendDescriptor.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/BackendDescriptor.java
index 773f2ab..cde9139 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/BackendDescriptor.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/BackendDescriptor.java
@@ -21,6 +21,7 @@
import java.util.SortedSet;
import java.util.TreeSet;
+import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.opends.admin.ads.ADSContext;
/** The class that describes the backend configuration. */
@@ -33,7 +34,7 @@
private int entries;
private final boolean isConfigBackend;
private final boolean isEnabled;
- private CustomSearchResult monitoringEntry;
+ private SearchResultEntry monitoringEntry;
private final Type type;
private PluggableType pluggableType;
private int hashCode;
@@ -164,7 +165,7 @@
* Returns the monitoring entry information.
* @return the monitoring entry information.
*/
- public CustomSearchResult getMonitoringEntry()
+ public SearchResultEntry getMonitoringEntry()
{
return monitoringEntry;
}
@@ -268,11 +269,11 @@
/**
* Sets the monitoring entry corresponding to this backend.
- * @param monitoringEntry the monitoring entry corresponding to this backend.
+ * @param sr the monitoring entry corresponding to this backend.
*/
- public void setMonitoringEntry(CustomSearchResult monitoringEntry)
+ public void setMonitoringEntry(SearchResultEntry sr)
{
- this.monitoringEntry = monitoringEntry;
+ this.monitoringEntry = sr;
}
/**
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ConnectionHandlerDescriptor.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ConnectionHandlerDescriptor.java
index ea5c26c..6f1079e 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ConnectionHandlerDescriptor.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ConnectionHandlerDescriptor.java
@@ -26,6 +26,7 @@
import java.util.TreeSet;
import org.forgerock.i18n.LocalizableMessage;
+import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.forgerock.opendj.server.config.meta.AdministrationConnectorCfgDefn;
/**
@@ -34,7 +35,7 @@
*/
public class ConnectionHandlerDescriptor
{
- private Set<CustomSearchResult> monitoringEntries = Collections.emptySet();
+ private Set<SearchResultEntry> monitoringEntries = Collections.emptySet();
/** Enumeration used to represent the state of the listener. */
public enum State
@@ -120,7 +121,7 @@
*/
public ConnectionHandlerDescriptor(Collection<InetAddress> addresses,
int port, Protocol protocol, State state, String name,
- Set<CustomSearchResult> monitoringEntries)
+ Set<SearchResultEntry> monitoringEntries)
{
this.addresses.addAll(addresses);
this.port = port;
@@ -171,7 +172,7 @@
* Returns the monitoring entries.
* @return the monitoring entries.
*/
- public Set<CustomSearchResult> getMonitoringEntries()
+ public Set<SearchResultEntry> getMonitoringEntries()
{
return monitoringEntries;
}
@@ -180,7 +181,7 @@
* Sets the monitoring entries.
* @param monitoringEntries the monitoring entries.
*/
- public void setMonitoringEntries(Set<CustomSearchResult> monitoringEntries)
+ public void setMonitoringEntries(Set<SearchResultEntry> monitoringEntries)
{
this.monitoringEntries = Collections.unmodifiableSet(monitoringEntries);
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ConnectionHandlersMonitoringTableModel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ConnectionHandlersMonitoringTableModel.java
index edc8e16..6294ab0 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ConnectionHandlersMonitoringTableModel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ConnectionHandlersMonitoringTableModel.java
@@ -16,6 +16,8 @@
*/
package org.opends.guitools.controlpanel.datamodel;
+import static org.opends.messages.AdminToolMessages.*;
+
import java.net.InetAddress;
import java.util.ArrayList;
import java.util.HashSet;
@@ -23,11 +25,9 @@
import java.util.Set;
import org.forgerock.i18n.LocalizableMessage;
+import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.opends.guitools.controlpanel.datamodel.ConnectionHandlerDescriptor.Protocol;
-import static org.opends.guitools.controlpanel.util.Utilities.*;
-import static org.opends.messages.AdminToolMessages.*;
-
/** The table model used to display the monitoring information of connection handlers. */
public class ConnectionHandlersMonitoringTableModel extends
MonitoringTableModel<ConnectionHandlerDescriptor,
@@ -101,7 +101,7 @@
}
@Override
- protected CustomSearchResult getMonitoringEntry(
+ protected SearchResultEntry getMonitoringEntry(
AddressConnectionHandlerDescriptor ach)
{
return ach.getMonitoringEntry();
@@ -140,12 +140,11 @@
return sb.toString();
}
- private CustomSearchResult getMonitoringEntry(InetAddress address,
- ConnectionHandlerDescriptor cch)
+ private SearchResultEntry getMonitoringEntry(InetAddress address, ConnectionHandlerDescriptor cch)
{
- for (CustomSearchResult sr : cch.getMonitoringEntries())
+ for (SearchResultEntry sr : cch.getMonitoringEntries())
{
- String cn = getFirstValueAsString(sr, "cn");
+ String cn = sr.getAttribute("cn").firstValueAsString();
if (cn != null)
{
if (address == null)
@@ -176,7 +175,7 @@
{
private final ConnectionHandlerDescriptor ch;
private final InetAddress address;
- private final CustomSearchResult monitoringEntry;
+ private final SearchResultEntry monitoringEntry;
private final int hashCode;
/**
@@ -188,7 +187,7 @@
public AddressConnectionHandlerDescriptor(
ConnectionHandlerDescriptor ch,
InetAddress address,
- CustomSearchResult monitoringEntry)
+ SearchResultEntry monitoringEntry)
{
this.ch = ch;
this.address = address;
@@ -226,7 +225,7 @@
* Returns the monitoring entry.
* @return the monitoring entry.
*/
- public CustomSearchResult getMonitoringEntry()
+ public SearchResultEntry getMonitoringEntry()
{
return monitoringEntry;
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ControlPanelInfo.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ControlPanelInfo.java
index 837dd2e..8ba4da1 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ControlPanelInfo.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ControlPanelInfo.java
@@ -16,13 +16,13 @@
*/
package org.opends.guitools.controlpanel.datamodel;
-import static org.opends.admin.ads.util.ConnectionUtils.*;
-import static org.opends.admin.ads.util.PreferredConnection.Type.*;
-import static org.opends.guitools.controlpanel.util.Utilities.*;
-import static org.opends.server.tools.ConfigureWindowsService.*;
import static com.forgerock.opendj.cli.Utils.*;
import static com.forgerock.opendj.util.OperatingSystem.*;
+import static org.opends.admin.ads.util.ConnectionUtils.*;
+import static org.opends.admin.ads.util.PreferredConnection.Type.*;
+import static org.opends.server.tools.ConfigureWindowsService.*;
+
import java.io.File;
import java.net.InetAddress;
import java.util.Collection;
@@ -298,11 +298,10 @@
this.connWrapper = connWrapper;
if (connWrapper != null)
{
- InitialLdapContext ctx = connWrapper.getLdapContext();
- lastWorkingBindDN = ConnectionUtils.getBindDN(ctx);
- lastWorkingBindPwd = ConnectionUtils.getBindPassword(ctx);
+ lastWorkingBindDN = connWrapper.getBindDn().toString();
+ lastWorkingBindPwd = connWrapper.getBindPassword();
lastRemoteHostName = connWrapper.getHostPort().getHost();
- lastRemoteAdministrationURL = ConnectionUtils.getLdapUrl(ctx);
+ lastRemoteAdministrationURL = connWrapper.getLdapUrl();
}
}
@@ -498,7 +497,7 @@
Utilities.initializeConfigurationFramework();
reader = newRemoteConfigReader();
- boolean connectionWorks = checkConnections(connWrapper.getLdapContext(), userDataCtx);
+ boolean connectionWorks = checkConnections(connWrapper, userDataCtx);
if (!connectionWorks)
{
if (isLocal)
@@ -532,13 +531,13 @@
desc.setJvmMemoryUsageMonitor(rCtx.getJvmMemoryUsage());
desc.setSystemInformationMonitor(rCtx.getSystemInformation());
desc.setWorkQueueMonitor(rCtx.getWorkQueue());
- desc.setOpenDSVersion(getFirstValueAsString(rCtx.getVersionMonitor(), "fullVersion"));
- String installPath = getFirstValueAsString(rCtx.getSystemInformation(), "installPath");
+ desc.setOpenDSVersion(rCtx.getVersionMonitor().getAttribute("fullVersion").firstValueAsString());
+ String installPath = rCtx.getSystemInformation().getAttribute("installPath").firstValueAsString();
if (installPath != null)
{
desc.setInstallPath(installPath);
}
- String instancePath = getFirstValueAsString(rCtx.getSystemInformation(), "instancePath");
+ String instancePath = rCtx.getSystemInformation().getAttribute("instancePath").firstValueAsString();
if (instancePath != null)
{
desc.setInstancePath(instancePath);
@@ -1195,7 +1194,7 @@
return adminPort1 == adminPort2;
}
- private boolean checkConnections(InitialLdapContext ctx, InitialLdapContext userCtx)
+ private boolean checkConnections(ConnectionWrapper conn, InitialLdapContext userCtx)
{
// Check the connection
int nMaxErrors = 5;
@@ -1203,7 +1202,7 @@
{
try
{
- Utilities.pingDirContext(ctx);
+ Utilities.ping(conn);
if (userCtx != null)
{
Utilities.pingDirContext(userCtx);
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/DatabaseMonitoringTableModel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/DatabaseMonitoringTableModel.java
index 5ab3212..0872679 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/DatabaseMonitoringTableModel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/DatabaseMonitoringTableModel.java
@@ -16,6 +16,10 @@
*/
package org.opends.guitools.controlpanel.datamodel;
+import static org.opends.guitools.controlpanel.util.Utilities.*;
+import static org.opends.messages.AdminToolMessages.*;
+import static org.opends.server.util.CollectionUtils.*;
+
import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
@@ -26,10 +30,7 @@
import java.util.TreeSet;
import org.forgerock.i18n.LocalizableMessage;
-
-import static org.opends.guitools.controlpanel.util.Utilities.*;
-import static org.opends.messages.AdminToolMessages.*;
-import static org.opends.server.util.CollectionUtils.*;
+import org.forgerock.opendj.ldap.responses.SearchResultEntry;
/** The table model used to display all the database monitoring information. */
public class DatabaseMonitoringTableModel extends SortableTableModel implements Comparator<BackendDescriptor>
@@ -112,8 +113,8 @@
@Override
public int compare(BackendDescriptor desc1, BackendDescriptor desc2)
{
- CustomSearchResult monitor1 = desc1.getMonitoringEntry();
- CustomSearchResult monitor2 = desc2.getMonitoringEntry();
+ SearchResultEntry monitor1 = desc1.getMonitoringEntry();
+ SearchResultEntry monitor2 = desc2.getMonitoringEntry();
ArrayList<Integer> possibleResults = newArrayList(getName(desc1).compareTo(getName(desc2)));
computeMonitoringPossibleResults(monitor1, monitor2, possibleResults, attributes);
@@ -286,7 +287,7 @@
* @return the monitoring entry associated with the provided backend. Returns
* <CODE>null</CODE> if there is no monitoring entry associated.
*/
- private CustomSearchResult getMonitoringEntry(BackendDescriptor backend)
+ private SearchResultEntry getMonitoringEntry(BackendDescriptor backend)
{
return backend.getMonitoringEntry();
}
@@ -296,18 +297,11 @@
String[] line = new String[attributes.size() + 1];
line[0] = getName(backend);
int i = 1;
- CustomSearchResult monitoringEntry = getMonitoringEntry(backend);
+ SearchResultEntry monitoringEntry = getMonitoringEntry(backend);
for (String attr : attributes)
{
- String o = getFirstValueAsString(monitoringEntry, attr);
- if (o != null)
- {
- line[i] = o;
- }
- else
- {
- line[i] = NO_VALUE_SET.toString();
- }
+ String o = monitoringEntry.getAttribute(attr).firstValueAsString();
+ line[i] = o != null ? o : NO_VALUE_SET.toString();
i++;
}
return line;
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/MonitoringTableModel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/MonitoringTableModel.java
index 2e626a9..3b70f9f 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/MonitoringTableModel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/MonitoringTableModel.java
@@ -16,6 +16,9 @@
*/
package org.opends.guitools.controlpanel.datamodel;
+import static org.opends.guitools.controlpanel.util.Utilities.*;
+import static org.opends.messages.AdminToolMessages.*;
+
import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
@@ -26,11 +29,9 @@
import java.util.TreeSet;
import org.forgerock.i18n.LocalizableMessage;
+import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.opends.guitools.controlpanel.util.Utilities;
-import static org.opends.guitools.controlpanel.util.Utilities.*;
-import static org.opends.messages.AdminToolMessages.*;
-
/**
* The abstract table model used to display all the network groups.
* @param <T> the type of the objects passed externally to the table model.
@@ -290,18 +291,17 @@
* @return the monitoring entry associated with the provided object. Returns
* <CODE>null</CODE> if there is no monitoring entry associated.
*/
- protected abstract CustomSearchResult getMonitoringEntry(P o);
+ protected abstract SearchResultEntry getMonitoringEntry(P o);
private String[] getLine(P o)
{
String[] line = new String[columnNames.length];
line[0] = getName(o);
int i = 1;
- CustomSearchResult monitoringEntry = getMonitoringEntry(o);
+ SearchResultEntry monitoringEntry = getMonitoringEntry(o);
for (MonitoringAttributes attribute : attributes)
{
- line[i] = Utilities.getMonitoringValue(
- attribute, monitoringEntry);
+ line[i] = Utilities.getMonitoringValue(attribute, monitoringEntry);
if (showAverages && attribute.canHaveAverage())
{
i++;
@@ -355,8 +355,8 @@
* @return a list of integer with all the values of two monitoring entries
* compared.
*/
- protected ArrayList<Integer> getMonitoringPossibleResults(
- CustomSearchResult monitor1, CustomSearchResult monitor2)
+ protected List<Integer> getMonitoringPossibleResults(
+ SearchResultEntry monitor1, SearchResultEntry monitor2)
{
final List<String> attrs = new ArrayList<>();
for (MonitoringAttributes operation : getAttributes())
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java
index fa0f227..d020e1c 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java
@@ -27,6 +27,7 @@
import java.util.Set;
import org.forgerock.opendj.ldap.DN;
+import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.forgerock.opendj.ldap.schema.AttributeType;
import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.opends.guitools.controlpanel.util.ConfigFromDirContext;
@@ -37,7 +38,6 @@
import com.forgerock.opendj.util.OperatingSystem;
import static org.opends.guitools.controlpanel.datamodel.BasicMonitoringAttributes.*;
-import static org.opends.guitools.controlpanel.util.Utilities.*;
import static org.opends.server.types.CommonSchemaElements.*;
/**
@@ -63,11 +63,11 @@
private boolean isSchemaEnabled;
private Schema schema;
- private CustomSearchResult rootMonitor;
- private CustomSearchResult jvmMemoryUsage;
- private CustomSearchResult systemInformation;
- private CustomSearchResult entryCaches;
- private CustomSearchResult workQueue;
+ private SearchResultEntry rootMonitor;
+ private SearchResultEntry jvmMemoryUsage;
+ private SearchResultEntry systemInformation;
+ private SearchResultEntry entryCaches;
+ private SearchResultEntry workQueue;
private Set<TaskEntry> taskEntries = new HashSet<>();
@@ -508,12 +508,12 @@
{
return OperatingSystem.isWindows();
}
- CustomSearchResult sr = getSystemInformationMonitor();
+ SearchResultEntry sr = getSystemInformationMonitor();
if (sr == null)
{
return false;
}
- String os = getFirstValueAsString(sr, "operatingSystem");
+ String os = sr.getAttribute("operatingSystem").firstValueAsString();
return os != null && OperatingSystem.WINDOWS.equals(OperatingSystem.forName(os));
}
@@ -692,7 +692,7 @@
* Sets the monitoring entry for the entry caches.
* @param entryCaches the monitoring entry for the entry caches.
*/
- public void setEntryCachesMonitor(CustomSearchResult entryCaches)
+ public void setEntryCachesMonitor(SearchResultEntry entryCaches)
{
this.entryCaches = entryCaches;
}
@@ -701,7 +701,7 @@
* Sets the monitoring entry for the JVM memory usage.
* @param jvmMemoryUsage the monitoring entry for the JVM memory usage.
*/
- public void setJvmMemoryUsageMonitor(CustomSearchResult jvmMemoryUsage)
+ public void setJvmMemoryUsageMonitor(SearchResultEntry jvmMemoryUsage)
{
this.jvmMemoryUsage = jvmMemoryUsage;
}
@@ -710,20 +710,20 @@
* Sets the root entry of the monitoring tree.
* @param rootMonitor the root entry of the monitoring tree.
*/
- public void setRootMonitor(CustomSearchResult rootMonitor)
+ public void setRootMonitor(SearchResultEntry rootMonitor)
{
this.rootMonitor = rootMonitor;
runningTime = computeRunningTime(rootMonitor);
}
- private long computeRunningTime(CustomSearchResult rootMonitor)
+ private long computeRunningTime(SearchResultEntry rootMonitor)
{
if (rootMonitor != null)
{
try
{
- String start = getFirstValueAsString(rootMonitor, START_DATE.getAttributeName());
- String current = getFirstValueAsString(rootMonitor, CURRENT_DATE.getAttributeName());
+ String start = rootMonitor.getAttribute(START_DATE.getAttributeName()).firstValueAsString();
+ String current = rootMonitor.getAttribute(CURRENT_DATE.getAttributeName()).firstValueAsString();
Date startTime = ConfigFromDirContext.utcParser.parse(start);
Date currentTime = ConfigFromDirContext.utcParser.parse(current);
return currentTime.getTime() - startTime.getTime();
@@ -750,7 +750,7 @@
* Sets the monitoring entry for the system information.
* @param systemInformation entry for the system information.
*/
- public void setSystemInformationMonitor(CustomSearchResult systemInformation)
+ public void setSystemInformationMonitor(SearchResultEntry systemInformation)
{
this.systemInformation = systemInformation;
}
@@ -759,7 +759,7 @@
* Sets the monitoring entry of the work queue.
* @param workQueue entry of the work queue.
*/
- public void setWorkQueueMonitor(CustomSearchResult workQueue)
+ public void setWorkQueueMonitor(SearchResultEntry workQueue)
{
this.workQueue = workQueue;
}
@@ -768,7 +768,7 @@
* Returns the monitoring entry for the entry caches.
* @return the monitoring entry for the entry caches.
*/
- public CustomSearchResult getEntryCachesMonitor()
+ public SearchResultEntry getEntryCachesMonitor()
{
return entryCaches;
}
@@ -777,7 +777,7 @@
* Returns the monitoring entry for the JVM memory usage.
* @return the monitoring entry for the JVM memory usage.
*/
- public CustomSearchResult getJvmMemoryUsageMonitor()
+ public SearchResultEntry getJvmMemoryUsageMonitor()
{
return jvmMemoryUsage;
}
@@ -786,7 +786,7 @@
* Returns the root entry of the monitoring tree.
* @return the root entry of the monitoring tree.
*/
- public CustomSearchResult getRootMonitor()
+ public SearchResultEntry getRootMonitor()
{
return rootMonitor;
}
@@ -795,7 +795,7 @@
* Returns the monitoring entry for the system information.
* @return the monitoring entry for the system information.
*/
- public CustomSearchResult getSystemInformationMonitor()
+ public SearchResultEntry getSystemInformationMonitor()
{
return systemInformation;
}
@@ -804,7 +804,7 @@
* Returns the monitoring entry for the work queue.
* @return the monitoring entry for the work queue.
*/
- public CustomSearchResult getWorkQueueMonitor()
+ public SearchResultEntry getWorkQueueMonitor()
{
return workQueue;
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ConnectionHandlerMonitoringPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ConnectionHandlerMonitoringPanel.java
index 9d82401..18a329c 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ConnectionHandlerMonitoringPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ConnectionHandlerMonitoringPanel.java
@@ -53,6 +53,7 @@
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.i18n.LocalizableMessageBuilder;
+import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.opends.guitools.controlpanel.datamodel.BasicMonitoringAttributes;
import org.opends.guitools.controlpanel.datamodel.CategorizedComboBoxElement;
import org.opends.guitools.controlpanel.datamodel.ConnectionHandlerDescriptor;
@@ -60,7 +61,6 @@
import org.opends.guitools.controlpanel.datamodel.ConnectionHandlerDescriptor.State;
import org.opends.guitools.controlpanel.datamodel.ConnectionHandlersMonitoringTableModel;
import org.opends.guitools.controlpanel.datamodel.ControlPanelInfo;
-import org.opends.guitools.controlpanel.datamodel.CustomSearchResult;
import org.opends.guitools.controlpanel.datamodel.MonitoringAttributes;
import org.opends.guitools.controlpanel.datamodel.ServerDescriptor;
import org.opends.guitools.controlpanel.event.ConfigurationChangeEvent;
@@ -199,7 +199,7 @@
{
Set<InetAddress> addresses = new HashSet<>();
addresses.add(InetAddress.getLocalHost());
- Set<CustomSearchResult> emptySet = Collections.emptySet();
+ Set<SearchResultEntry> emptySet = Collections.emptySet();
for (String name : names)
{
fakeData.add(new ConnectionHandlerDescriptor(
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ControlCenterMainPane.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ControlCenterMainPane.java
index 730e82c..4212041 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ControlCenterMainPane.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ControlCenterMainPane.java
@@ -32,13 +32,13 @@
import javax.swing.JSplitPane;
import javax.swing.SwingUtilities;
-import org.opends.admin.ads.util.ConnectionUtils;
+import org.forgerock.i18n.LocalizableMessage;
+import org.forgerock.opendj.ldap.DN;
import org.opends.guitools.controlpanel.datamodel.ControlPanelInfo;
import org.opends.guitools.controlpanel.datamodel.ServerDescriptor;
import org.opends.guitools.controlpanel.event.ConfigChangeListener;
import org.opends.guitools.controlpanel.event.ConfigurationChangeEvent;
import org.opends.guitools.controlpanel.util.Utilities;
-import org.forgerock.i18n.LocalizableMessage;
/**
* The main panel of the control panel. It contains a split pane. On the left
@@ -177,9 +177,8 @@
{
try
{
- String bindDN = ConnectionUtils.getBindDN(
- statusPane.getInfo().getConnection().getLdapContext());
- lAuthenticatedAs.setText(
+ DN bindDN = statusPane.getInfo().getConnection().getBindDn();
+ lAuthenticatedAs.setText(
INFO_CTRL_PANEL_AUTHENTICATED_AS.get(bindDN).toString());
}
catch (Throwable t)
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/DatabaseMonitoringPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/DatabaseMonitoringPanel.java
index 6a3b0b2..4d936b5 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/DatabaseMonitoringPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/DatabaseMonitoringPanel.java
@@ -36,6 +36,7 @@
import javax.swing.SwingConstants;
import javax.swing.table.DefaultTableCellRenderer;
+import org.forgerock.opendj.ldap.Attribute;
import org.opends.guitools.controlpanel.datamodel.BackendDescriptor;
import org.opends.guitools.controlpanel.datamodel.BackendDescriptor.PluggableType;
import org.opends.guitools.controlpanel.datamodel.DatabaseMonitoringTableModel;
@@ -229,9 +230,9 @@
Set<String> attrNames = new HashSet<>();
if (backend.getMonitoringEntry() != null)
{
- Set<String> allNames = backend.getMonitoringEntry().getAttributeNames();
- for (String attrName : allNames)
+ for (Attribute attribute : backend.getMonitoringEntry().getAllAttributes())
{
+ String attrName = attribute.getAttributeDescriptionAsString();
if (!attrName.equalsIgnoreCase(ServerConstants.OBJECTCLASS_ATTRIBUTE_TYPE_NAME)
&& !attrName.equalsIgnoreCase(ServerConstants.ATTR_COMMON_NAME))
{
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/EntryCachesMonitoringPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/EntryCachesMonitoringPanel.java
index f78d059..f168654 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/EntryCachesMonitoringPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/EntryCachesMonitoringPanel.java
@@ -24,14 +24,13 @@
import javax.swing.Box;
import javax.swing.JLabel;
-import org.opends.guitools.controlpanel.datamodel.CustomSearchResult;
+import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.opends.guitools.controlpanel.datamodel.MonitoringAttributes;
import org.opends.guitools.controlpanel.datamodel.ServerDescriptor;
import org.opends.guitools.controlpanel.util.Utilities;
import org.opends.server.util.CollectionUtils;
import static org.opends.guitools.controlpanel.datamodel.BasicMonitoringAttributes.*;
-import static org.opends.guitools.controlpanel.util.Utilities.*;
import static org.opends.messages.AdminToolMessages.*;
/** The panel displaying the entry caches monitor panel. */
@@ -123,18 +122,18 @@
{
server = getInfo().getServerDescriptor();
}
- CustomSearchResult csr = null;
+ SearchResultEntry sr = null;
if (server != null)
{
- csr = server.getEntryCachesMonitor();
+ sr = server.getEntryCachesMonitor();
}
- if (csr != null)
+ if (sr != null)
{
- updateMonitoringInfo(ngOperations, monitoringLabels, csr);
+ updateMonitoringInfo(ngOperations, monitoringLabels, sr);
int index = 0;
for (MonitoringAttributes attr : ngOperations)
{
- if (getFirstValueAsString(csr, attr.getAttributeName()) == null)
+ if (sr.getAttribute(attr.getAttributeName()).firstValueAsString() == null)
{
monitoringLabels.get(index).setVisible(false);
labels.get(index).setVisible(false);
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/JavaInformationMonitoringPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/JavaInformationMonitoringPanel.java
index 97ac9ac..aa91e38 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/JavaInformationMonitoringPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/JavaInformationMonitoringPanel.java
@@ -21,7 +21,6 @@
import java.awt.GridBagLayout;
import java.util.ArrayList;
import java.util.List;
-import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
@@ -35,14 +34,14 @@
import javax.swing.event.ChangeListener;
import javax.swing.text.JTextComponent;
+import org.forgerock.opendj.ldap.Attribute;
+import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.opends.guitools.controlpanel.datamodel.BasicMonitoringAttributes;
-import org.opends.guitools.controlpanel.datamodel.CustomSearchResult;
import org.opends.guitools.controlpanel.datamodel.ServerDescriptor;
import org.opends.guitools.controlpanel.ui.components.BasicExpander;
import org.opends.guitools.controlpanel.util.Utilities;
import org.opends.server.util.CollectionUtils;
-import static org.opends.guitools.controlpanel.util.Utilities.*;
import static org.opends.messages.AdminToolMessages.*;
import static org.opends.server.util.ServerConstants.*;
@@ -276,8 +275,8 @@
{
server = getInfo().getServerDescriptor();
}
- CustomSearchResult csrSystem = null;
- CustomSearchResult csrMemory = null;
+ SearchResultEntry csrSystem = null;
+ SearchResultEntry csrMemory = null;
if (server != null)
{
csrSystem = server.getSystemInformationMonitor();
@@ -326,10 +325,10 @@
{
if (memoryAttributes.isEmpty())
{
- Set<String> allNames = csrMemory.getAttributeNames();
SortedSet<String> sortedNames = new TreeSet<>();
- for (String attrName : allNames)
+ for (Attribute attribute : csrMemory.getAllAttributes())
{
+ String attrName = attribute.getAttributeDescriptionAsString();
if (!OBJECTCLASS_ATTRIBUTE_TYPE_NAME.equalsIgnoreCase(attrName)
&& !ATTR_COMMON_NAME.equalsIgnoreCase(attrName))
{
@@ -368,7 +367,7 @@
for (int i=0; i<memoryAttributes.size() ; i++)
{
- String value = getFirstValueAsString(csrMemory, memoryAttributes.get(i));
+ String value = csrMemory.getAttribute(memoryAttributes.get(i)).firstValueAsString();
if (value != null)
{
memoryLabels.get(i).setText(value);
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))
{
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/RootMonitoringPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/RootMonitoringPanel.java
index 6da6a4a..20269d1 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/RootMonitoringPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/RootMonitoringPanel.java
@@ -24,14 +24,13 @@
import javax.swing.JLabel;
import org.forgerock.i18n.LocalizableMessage;
+import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.opends.guitools.controlpanel.datamodel.BasicMonitoringAttributes;
-import org.opends.guitools.controlpanel.datamodel.CustomSearchResult;
import org.opends.guitools.controlpanel.datamodel.ServerDescriptor;
import org.opends.guitools.controlpanel.util.ConfigFromDirContext;
import org.opends.guitools.controlpanel.util.Utilities;
import static org.opends.guitools.controlpanel.datamodel.BasicMonitoringAttributes.*;
-import static org.opends.guitools.controlpanel.util.Utilities.*;
import static org.opends.messages.AdminToolMessages.*;
import static org.opends.messages.BackendMessages.*;
@@ -127,12 +126,12 @@
{
server = getInfo().getServerDescriptor();
}
- CustomSearchResult csr = null;
+ SearchResultEntry sr = null;
if (server != null)
{
- csr = server.getRootMonitor();
+ sr = server.getRootMonitor();
}
- if (csr != null)
+ if (sr != null)
{
JLabel[] ls =
{
@@ -150,13 +149,13 @@
};
for (int i=0; i<ls.length; i++)
{
- ls[i].setText(getMonitoringValue(attrs[i], csr));
+ ls[i].setText(getMonitoringValue(attrs[i], sr));
}
version.setText(server.getOpenDSVersion());
try
{
- String start = getFirstValueAsString(csr, START_DATE.getAttributeName());
- String current = getFirstValueAsString(csr, CURRENT_DATE.getAttributeName());
+ String start = sr.getAttribute(START_DATE.getAttributeName()).firstValueAsString();
+ String current = sr.getAttribute(CURRENT_DATE.getAttributeName()).firstValueAsString();
Date startTime = ConfigFromDirContext.utcParser.parse(start);
Date currentTime = ConfigFromDirContext.utcParser.parse(current);
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/StatusGenericPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/StatusGenericPanel.java
index e130ccd..5c43346 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/StatusGenericPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/StatusGenericPanel.java
@@ -67,6 +67,8 @@
import org.forgerock.i18n.LocalizableMessageBuilder;
import org.forgerock.i18n.LocalizableMessageDescriptor;
import org.forgerock.i18n.slf4j.LocalizedLogger;
+import org.forgerock.opendj.ldap.responses.SearchResultEntry;
+import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.forgerock.opendj.ldap.schema.ObjectClassType;
import org.opends.admin.ads.util.ConnectionUtils;
import org.opends.guitools.controlpanel.browser.BrowserController;
@@ -76,7 +78,6 @@
import org.opends.guitools.controlpanel.datamodel.BaseDNDescriptor;
import org.opends.guitools.controlpanel.datamodel.CategorizedComboBoxElement;
import org.opends.guitools.controlpanel.datamodel.ControlPanelInfo;
-import org.opends.guitools.controlpanel.datamodel.CustomSearchResult;
import org.opends.guitools.controlpanel.datamodel.MonitoringAttributes;
import org.opends.guitools.controlpanel.datamodel.ScheduleType;
import org.opends.guitools.controlpanel.datamodel.ServerDescriptor;
@@ -95,7 +96,6 @@
import org.opends.guitools.controlpanel.util.Utilities;
import org.opends.quicksetup.ui.CustomHTMLEditorKit;
import org.opends.server.schema.SchemaConstants;
-import org.forgerock.opendj.ldap.schema.ObjectClass;
import org.opends.server.types.OpenDsException;
import org.opends.server.util.ServerConstants;
import org.opends.server.util.StaticUtils;
@@ -2096,7 +2096,7 @@
* the monitoring entry.
* @return the monitoring value in a String form to be displayed to the user.
*/
- public static String getMonitoringValue(final MonitoringAttributes attr, final CustomSearchResult monitoringEntry)
+ public static String getMonitoringValue(final MonitoringAttributes attr, final SearchResultEntry monitoringEntry)
{
return Utilities.getMonitoringValue(attr, monitoringEntry);
}
@@ -2112,7 +2112,7 @@
* the monitoring entry containing the information to be displayed.
*/
protected void updateMonitoringInfo(final List<? extends MonitoringAttributes> monitoringAttrs,
- final List<JLabel> monitoringLabels, final CustomSearchResult monitoringEntry)
+ final List<JLabel> monitoringLabels, final SearchResultEntry monitoringEntry)
{
for (int i = 0; i < monitoringAttrs.size(); i++)
{
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/SystemInformationMonitoringPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/SystemInformationMonitoringPanel.java
index b79509c..7c7a445 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/SystemInformationMonitoringPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/SystemInformationMonitoringPanel.java
@@ -26,8 +26,8 @@
import javax.swing.Box;
import javax.swing.JLabel;
+import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.opends.guitools.controlpanel.datamodel.BasicMonitoringAttributes;
-import org.opends.guitools.controlpanel.datamodel.CustomSearchResult;
import org.opends.guitools.controlpanel.datamodel.MonitoringAttributes;
import org.opends.guitools.controlpanel.datamodel.ServerDescriptor;
import org.opends.guitools.controlpanel.util.Utilities;
@@ -120,14 +120,14 @@
{
server = getInfo().getServerDescriptor();
}
- CustomSearchResult csr = null;
+ SearchResultEntry sr = null;
if (server != null)
{
- csr = server.getSystemInformationMonitor();
+ sr = server.getSystemInformationMonitor();
}
- if (csr != null)
+ if (sr != null)
{
- updateMonitoringInfo(operations, monitoringLabels, csr);
+ updateMonitoringInfo(operations, monitoringLabels, sr);
}
else
{
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/WorkQueueMonitoringPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/WorkQueueMonitoringPanel.java
index 6a26e64..d77df30 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/WorkQueueMonitoringPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/WorkQueueMonitoringPanel.java
@@ -26,8 +26,8 @@
import javax.swing.Box;
import javax.swing.JLabel;
+import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.opends.guitools.controlpanel.datamodel.BasicMonitoringAttributes;
-import org.opends.guitools.controlpanel.datamodel.CustomSearchResult;
import org.opends.guitools.controlpanel.datamodel.ServerDescriptor;
import org.opends.guitools.controlpanel.util.Utilities;
import org.opends.server.util.CollectionUtils;
@@ -118,14 +118,14 @@
{
server = getInfo().getServerDescriptor();
}
- CustomSearchResult csr = null;
+ SearchResultEntry sr = null;
if (server != null)
{
- csr = server.getWorkQueueMonitor();
+ sr = server.getWorkQueueMonitor();
}
- if (csr != null)
+ if (sr != null)
{
- updateMonitoringInfo(attributes, monitoringLabels, csr);
+ updateMonitoringInfo(attributes, monitoringLabels, sr);
}
else
{
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java
index 95e96d2..a38d155 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java
@@ -16,9 +16,13 @@
*/
package org.opends.guitools.controlpanel.util;
+import static org.forgerock.opendj.ldap.SearchScope.*;
+import static org.forgerock.opendj.ldap.requests.Requests.*;
import static org.opends.messages.AdminToolMessages.*;
import static org.opends.server.backends.pluggable.SuffixContainer.*;
+import static org.opends.server.config.ConfigConstants.*;
+import java.io.IOException;
import java.net.InetAddress;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
@@ -29,22 +33,23 @@
import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.Set;
import java.util.SortedSet;
import java.util.TimeZone;
import java.util.TreeSet;
-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.naming.ldap.LdapName;
-
import org.forgerock.i18n.LocalizableMessage;
+import org.forgerock.i18n.LocalizedIllegalArgumentException;
import org.forgerock.i18n.slf4j.LocalizedLogger;
+import org.forgerock.opendj.adapter.server3x.Converters;
import org.forgerock.opendj.config.server.ConfigException;
+import org.forgerock.opendj.ldap.Attribute;
import org.forgerock.opendj.ldap.DN;
+import org.forgerock.opendj.ldap.LdapException;
+import org.forgerock.opendj.ldap.requests.SearchRequest;
+import org.forgerock.opendj.ldap.responses.SearchResultEntry;
+import org.forgerock.opendj.ldif.ConnectionEntryReader;
import org.forgerock.opendj.server.config.client.AdministrationConnectorCfgClient;
import org.forgerock.opendj.server.config.client.BackendCfgClient;
import org.forgerock.opendj.server.config.client.BackendIndexCfgClient;
@@ -67,18 +72,15 @@
import org.forgerock.opendj.server.config.client.RootDNUserCfgClient;
import org.forgerock.opendj.server.config.client.SNMPConnectionHandlerCfgClient;
import org.forgerock.opendj.server.config.client.TaskBackendCfgClient;
-import org.opends.admin.ads.util.ConnectionUtils;
import org.opends.admin.ads.util.ConnectionWrapper;
import org.opends.guitools.controlpanel.datamodel.AbstractIndexDescriptor;
import org.opends.guitools.controlpanel.datamodel.BackendDescriptor;
import org.opends.guitools.controlpanel.datamodel.BaseDNDescriptor;
import org.opends.guitools.controlpanel.datamodel.ConnectionHandlerDescriptor;
-import org.opends.guitools.controlpanel.datamodel.CustomSearchResult;
import org.opends.guitools.controlpanel.datamodel.IndexDescriptor;
import org.opends.guitools.controlpanel.datamodel.VLVIndexDescriptor;
import org.opends.guitools.controlpanel.datamodel.VLVSortOrder;
import org.opends.guitools.controlpanel.task.OnlineUpdateException;
-import org.opends.server.config.ConfigConstants;
import org.opends.server.core.DirectoryServer;
import org.opends.server.tools.tasks.TaskEntry;
import org.opends.server.types.OpenDsException;
@@ -96,16 +98,16 @@
private static final String DATABASE_PDB_MONITORING_ENTRY_SUFFIX = " PDB Database";
private static final String SYNC_PROVIDER_NAME = "Multimaster Synchronization";
- private CustomSearchResult rootMonitor;
- private CustomSearchResult jvmMemoryUsage;
- private CustomSearchResult systemInformation;
- private CustomSearchResult entryCaches;
- private CustomSearchResult workQueue;
- private CustomSearchResult versionMonitor;
+ private SearchResultEntry rootMonitor;
+ private SearchResultEntry jvmMemoryUsage;
+ private SearchResultEntry systemInformation;
+ private SearchResultEntry entryCaches;
+ private SearchResultEntry workQueue;
+ private SearchResultEntry versionMonitor;
private boolean isLocal = true;
- private final Map<String, CustomSearchResult> hmConnectionHandlersMonitor = new HashMap<>();
+ private final Map<String, SearchResultEntry> hmConnectionHandlersMonitor = new HashMap<>();
/** The monitor root entry DN. */
private DN monitorDN = DN.rootDN();
@@ -150,7 +152,7 @@
*
* @return the monitoring entry for the entry caches.
*/
- public CustomSearchResult getEntryCaches()
+ public SearchResultEntry getEntryCaches()
{
return entryCaches;
}
@@ -160,7 +162,7 @@
*
* @return the monitoring entry for the JVM memory usage.
*/
- public CustomSearchResult getJvmMemoryUsage()
+ public SearchResultEntry getJvmMemoryUsage()
{
return jvmMemoryUsage;
}
@@ -170,7 +172,7 @@
*
* @return the root entry of the monitoring tree.
*/
- public CustomSearchResult getRootMonitor()
+ public SearchResultEntry getRootMonitor()
{
return rootMonitor;
}
@@ -180,7 +182,7 @@
*
* @return the version entry of the monitoring tree.
*/
- public CustomSearchResult getVersionMonitor()
+ public SearchResultEntry getVersionMonitor()
{
return versionMonitor;
}
@@ -190,7 +192,7 @@
*
* @return the monitoring entry for the system information.
*/
- public CustomSearchResult getSystemInformation()
+ public SearchResultEntry getSystemInformation()
{
return systemInformation;
}
@@ -200,7 +202,7 @@
*
* @return the monitoring entry for the work queue.
*/
- public CustomSearchResult getWorkQueue()
+ public SearchResultEntry getWorkQueue()
{
return workQueue;
}
@@ -254,7 +256,7 @@
hmConnectionHandlersMonitor.clear();
- readSchemaIfNeeded(connWrapper.getLdapContext(), errors);
+ readSchemaIfNeeded(connWrapper, errors);
try
{
@@ -274,7 +276,7 @@
backends = Collections.unmodifiableSet(backendDescriptors);
try
{
- updateMonitorInformation(connWrapper.getLdapContext(), errors);
+ updateMonitorInformation(connWrapper, errors);
}
catch (Throwable t)
{
@@ -284,7 +286,7 @@
try
{
- updateTaskInformation(connWrapper.getLdapContext(), errors, tasks);
+ updateTaskInformation(connWrapper, errors, tasks);
}
catch (Throwable t)
{
@@ -305,13 +307,13 @@
exceptions = Collections.unmodifiableList(errors);
}
- private void readSchemaIfNeeded(final InitialLdapContext context, final List<Exception> errors)
+ private void readSchemaIfNeeded(final ConnectionWrapper connWrapper, final List<Exception> errors)
{
if (mustReadSchema())
{
try
{
- readSchema(context);
+ readSchema(connWrapper);
if (getSchema() != null)
{
// Update the schema: so that when we call the server code the
@@ -553,7 +555,7 @@
ConnectionHandlerDescriptor.Protocol protocol =
isReplicationSecure ? ConnectionHandlerDescriptor.Protocol.REPLICATION_SECURE
: ConnectionHandlerDescriptor.Protocol.REPLICATION;
- Set<CustomSearchResult> emptySet = Collections.emptySet();
+ Set<SearchResultEntry> emptySet = Collections.emptySet();
ConnectionHandlerDescriptor connHandler = new ConnectionHandlerDescriptor(
new HashSet<InetAddress>(), replicationPort, protocol, ConnectionHandlerDescriptor.State.ENABLED,
SYNC_PROVIDER_NAME, emptySet);
@@ -624,12 +626,12 @@
/**
* Reads the schema from the files.
*
- * @param ctx
+ * @param connWrapper
* the connection to be used to load the schema.
* @throws OpenDsException
* if an error occurs reading the schema.
*/
- private void readSchema(InitialLdapContext ctx) throws OpenDsException
+ private void readSchema(ConnectionWrapper connWrapper) throws OpenDsException
{
try
{
@@ -640,17 +642,17 @@
else
{
RemoteSchemaLoader loader = new RemoteSchemaLoader();
- loader.readSchema(ctx);
+ loader.readSchema(connWrapper);
schema = loader.getSchema();
}
}
- catch (NamingException ne)
+ catch (LdapException e)
{
- throw new OnlineUpdateException(ERR_READING_SCHEMA_LDAP.get(ne), ne);
+ throw new OnlineUpdateException(ERR_READING_SCHEMA_LDAP.get(e), e);
}
- catch (ConfigException ce)
+ catch (ConfigException e)
{
- throw new org.opends.server.config.ConfigException(ce.getMessageObject(), ce);
+ throw new org.opends.server.config.ConfigException(e.getMessageObject(), e);
}
}
@@ -660,55 +662,55 @@
*
* @param sr
* the search result.
- * @param searchBaseDN
- * the base search.
- * @throws NamingException
+ * @throws LdapException
* if there is an error retrieving the values of the search result.
*/
- private void handleMonitoringSearchResult(SearchResult sr, String searchBaseDN) throws NamingException
+ private void handleMonitoringSearchResult(SearchResultEntry sr) throws LdapException
{
if (javaVersion == null)
{
- javaVersion = ConnectionUtils.getFirstValue(sr, "javaVersion");
+ Attribute attr = sr.getAttribute("javaVersion");
+ javaVersion = attr != null ? attr.firstValueAsString() : null;
}
if (numberConnections == -1)
{
- String v = ConnectionUtils.getFirstValue(sr, "currentConnections");
- if (v != null)
+ Integer nb = sr.getAttribute("currentConnections").parse().asInteger();
+ if (nb != null)
{
- numberConnections = Integer.parseInt(v);
+ numberConnections = nb;
}
}
- String dn = ConnectionUtils.getFirstValue(sr, "domain-name");
- String replicaId = ConnectionUtils.getFirstValue(sr, "server-id");
- String missingChanges = ConnectionUtils.getFirstValue(sr, "missing-changes");
+ Attribute dnAttr = sr.getAttribute("domain-name");
+ Attribute replicaIdAttr = sr.getAttribute("server-id");
+ Attribute missingChanges = sr.getAttribute("missing-changes");
- if (dn != null && replicaId != null && missingChanges != null)
+ if (dnAttr != null && replicaIdAttr != null && missingChanges != null)
{
+ DN dn = dnAttr.parse().asDN();
+ Integer replicaId = replicaIdAttr.parse().asInteger();
for (BackendDescriptor backend : backends)
{
for (BaseDNDescriptor baseDN : backend.getBaseDns())
{
try
{
- if (baseDN.getDn().equals(DN.valueOf(dn)) &&
- Integer.toString(baseDN.getReplicaID()).equals(replicaId))
+ if (baseDN.getDn().equals(dn) && Objects.equals(baseDN.getReplicaID(), replicaId))
{
try
{
baseDN.setAgeOfOldestMissingChange(
- Long.valueOf(ConnectionUtils.getFirstValue(sr, "approx-older-change-not-synchronized-millis")));
+ sr.getAttribute("approx-older-change-not-synchronized-millis").parse().asLong());
}
- catch (Throwable ignored)
+ catch (NullPointerException | LocalizedIllegalArgumentException ignored)
{
}
try
{
- baseDN.setMissingChanges(Integer.valueOf(missingChanges));
+ baseDN.setMissingChanges(missingChanges.parse().asInteger());
}
- catch (Throwable ignored)
+ catch (NullPointerException | LocalizedIllegalArgumentException ignored)
{
}
}
@@ -721,45 +723,40 @@
}
else
{
- CustomSearchResult csr = new CustomSearchResult(sr, searchBaseDN);
- String backendID = ConnectionUtils.getFirstValue(sr, "ds-backend-id");
- String entryCount = ConnectionUtils.getFirstValue(sr, "ds-backend-entry-count");
- Set<String> baseDnEntries = ConnectionUtils.getValues(sr, "ds-base-dn-entry-count");
- if (backendID != null && (entryCount != null || baseDnEntries != null))
+ Attribute backendIdAttr = sr.getAttribute("ds-backend-id");
+ Attribute entryCount = sr.getAttribute("ds-backend-entry-count");
+ Attribute baseDnEntriesAttr = sr.getAttribute("ds-base-dn-entry-count");
+ if (backendIdAttr != null && (entryCount != null || !baseDnEntriesAttr.isEmpty()))
{
+ String backendID = backendIdAttr.firstValueAsString();
+ Set<String> baseDnEntries = baseDnEntriesAttr.parse().asSetOfString();
for (BackendDescriptor backend : backends)
{
if (backend.getBackendID().equalsIgnoreCase(backendID))
{
if (entryCount != null)
{
- backend.setEntries(Integer.parseInt(entryCount));
+ backend.setEntries(entryCount.parse().asInteger());
}
- if (baseDnEntries != null)
+ for (String s : baseDnEntries)
{
- for (String s : baseDnEntries)
+ int index = s.indexOf(" ");
+ if (index != -1)
{
- int index = s.indexOf(" ");
- if (index != -1)
+ DN dn = DN.valueOf(s.substring(index + 1));
+ for (BaseDNDescriptor baseDN : backend.getBaseDns())
{
- for (BaseDNDescriptor baseDN : backend.getBaseDns())
+ if (dn.equals(baseDN.getDn()))
{
- dn = s.substring(index +1);
-
- if (Utilities.areDnsEqual(dn,
- baseDN.getDn().toString()))
+ try
{
- try
- {
- baseDN.setEntries(
- Integer.parseInt(s.substring(0, index)));
- }
- catch (Throwable t)
- {
- /* Ignore */
- }
- break;
+ baseDN.setEntries(Integer.parseInt(s.substring(0, index)));
}
+ catch (Throwable t)
+ {
+ /* Ignore */
+ }
+ break;
}
}
}
@@ -770,7 +767,7 @@
else
{
// Check if it is the DB monitor entry
- String cn = ConnectionUtils.getFirstValue(sr, "cn");
+ String cn = sr.getAttribute("cn").firstValueAsString();
String monitorBackendID = null;
BackendDescriptor.PluggableType pluggableType = BackendDescriptor.PluggableType.UNKNOWN;
if (cn != null && cn.endsWith(DATABASE_JE_MONITORING_ENTRY_SUFFIX))
@@ -790,46 +787,46 @@
if (backend.getBackendID().equalsIgnoreCase(monitorBackendID))
{
backend.setPluggableType(pluggableType);
- backend.setMonitoringEntry(csr);
+ backend.setMonitoringEntry(sr);
}
}
}
}
try
{
- if (rootMonitor == null && isRootMonitor(csr))
+ if (rootMonitor == null && isRootMonitor(sr))
{
- rootMonitor = csr;
+ rootMonitor = sr;
}
- else if (entryCaches == null && isEntryCaches(csr))
+ else if (entryCaches == null && isEntryCaches(sr))
{
- entryCaches = csr;
+ entryCaches = sr;
}
- else if (workQueue == null && isWorkQueue(csr))
+ else if (workQueue == null && isWorkQueue(sr))
{
- workQueue = csr;
+ workQueue = sr;
}
- else if (jvmMemoryUsage == null && isJvmMemoryUsage(csr))
+ else if (jvmMemoryUsage == null && isJvmMemoryUsage(sr))
{
- jvmMemoryUsage = csr;
+ jvmMemoryUsage = sr;
}
- else if (systemInformation == null && isSystemInformation(csr))
+ else if (systemInformation == null && isSystemInformation(sr))
{
- systemInformation = csr;
+ systemInformation = sr;
}
- else if (versionMonitor == null && isVersionMonitor(csr))
+ else if (versionMonitor == null && isVersionMonitor(sr))
{
- versionMonitor = csr;
+ versionMonitor = sr;
}
- else if (isConnectionHandler(csr))
+ else if (isConnectionHandler(sr))
{
String statistics = " Statistics";
- String cn = ConnectionUtils.getFirstValue(sr, "cn");
+ String cn = sr.getAttribute("cn").firstValueAsString();
if (cn.endsWith(statistics))
{
// Assume it is a connection handler
String name = cn.substring(0, cn.length() - statistics.length());
- hmConnectionHandlersMonitor.put(getKey(name), csr);
+ hmConnectionHandlersMonitor.put(getKey(name), sr);
}
}
}
@@ -841,70 +838,49 @@
}
/**
- * Takes the provided search result and updates the task information
- * accordingly.
+ * Takes the provided search result and updates the task information accordingly.
*
* @param sr
* the search result.
- * @param searchBaseDN
- * the base search.
* @param taskEntries
* the collection of TaskEntries to be updated.
* @param ex
* the list of exceptions to be updated if an error occurs.
- * @throws NamingException
- * if there is an error retrieving the values of the search result.
*/
- private void handleTaskSearchResult(SearchResult sr, String searchBaseDN, Collection<TaskEntry> taskEntries,
- List<Exception> ex) throws NamingException
+ private void handleTaskSearchResult(SearchResultEntry sr, Collection<TaskEntry> taskEntries, List<Exception> ex)
{
- CustomSearchResult csr = new CustomSearchResult(sr, searchBaseDN);
try
{
- if (isTaskEntry(csr))
+ if (isTaskEntry(sr))
{
- taskEntries.add(new TaskEntry(csr.getEntry()));
+ taskEntries.add(new TaskEntry(Converters.to(sr)));
}
}
- catch (OpenDsException ode)
+ catch (RuntimeException e)
{
- ex.add(ode);
+ ex.add(e);
}
}
- private void updateMonitorInformation(InitialLdapContext ctx,
- List<Exception> ex)
+ private void updateMonitorInformation(ConnectionWrapper connWrapper, List<Exception> ex)
{
// Read monitoring information: since it is computed, it is faster
// to get everything in just one request.
- SearchControls ctls = new SearchControls();
- ctls.setSearchScope(SearchControls.SUBTREE_SCOPE);
- ctls.setReturningAttributes(getMonitoringAttributes());
- String filter = "(objectclass=*)";
+ SearchRequest request = newSearchRequest("cn=monitor", WHOLE_SUBTREE, "(objectclass=*)", getMonitoringAttributes());
- try
+ try (ConnectionEntryReader monitorEntries = connWrapper.getConnection().search(request))
{
- LdapName jndiName = new LdapName("cn=monitor");
- NamingEnumeration<SearchResult> monitorEntries = ctx.search(jndiName, filter, ctls);
javaVersion = null;
numberConnections = -1;
- try
+ while (monitorEntries.hasNext())
{
- while (monitorEntries.hasMore())
- {
- SearchResult sr = monitorEntries.next();
- handleMonitoringSearchResult(sr, "cn=monitor");
- }
- }
- finally
- {
- monitorEntries.close();
+ handleMonitoringSearchResult(monitorEntries.readEntry());
}
}
- catch (NamingException ne)
+ catch (IOException e)
{
- ex.add(new OnlineUpdateException(ERR_READING_CONFIG_LDAP.get(ne.getMessage()), ne));
+ ex.add(new OnlineUpdateException(ERR_READING_CONFIG_LDAP.get(e.getMessage()), e));
}
}
@@ -912,7 +888,7 @@
* Updates the provided list of TaskEntry with the task entries found in a
* server.
*
- * @param ctx
+ * @param connWrapper
* the connection to the server.
* @param ex
* the list of exceptions encountered while retrieving the task
@@ -920,35 +896,23 @@
* @param ts
* the list of task entries to be updated.
*/
- public void updateTaskInformation(InitialLdapContext ctx, List<Exception> ex, Collection<TaskEntry> ts)
+ public void updateTaskInformation(ConnectionWrapper connWrapper, List<Exception> ex, Collection<TaskEntry> ts)
{
// Read monitoring information: since it is computed, it is faster
// to get everything in just one request.
- SearchControls ctls = new SearchControls();
- ctls.setSearchScope(SearchControls.SUBTREE_SCOPE);
- ctls.setReturningAttributes(getMonitoringAttributes());
- String filter = "(objectclass=ds-task)";
-
- try
+ SearchRequest request =
+ newSearchRequest(DN_TASK_ROOT, WHOLE_SUBTREE, "(objectclass=ds-task)", getMonitoringAttributes());
+ try (ConnectionEntryReader taskEntries = connWrapper.getConnection().search(request))
{
- LdapName jndiName = new LdapName(ConfigConstants.DN_TASK_ROOT);
- NamingEnumeration<SearchResult> taskEntries = ctx.search(jndiName, filter, ctls);
- try
+ while (taskEntries.hasNext())
{
- while (taskEntries.hasMore())
- {
- SearchResult sr = taskEntries.next();
- handleTaskSearchResult(sr, ConfigConstants.DN_TASK_ROOT, ts, ex);
- }
- }
- finally
- {
- taskEntries.close();
+ SearchResultEntry sr = taskEntries.readEntry();
+ handleTaskSearchResult(sr, ts, ex);
}
}
- catch (NamingException ne)
+ catch (IOException e)
{
- ex.add(new OnlineUpdateException(ERR_READING_CONFIG_LDAP.get(ne.getMessage()), ne));
+ ex.add(new OnlineUpdateException(ERR_READING_CONFIG_LDAP.get(e.getMessage()), e));
}
}
@@ -1024,7 +988,7 @@
protocol = ConnectionHandlerDescriptor.Protocol.OTHER;
port = -1;
}
- Set<CustomSearchResult> emptySet = Collections.emptySet();
+ Set<SearchResultEntry> emptySet = Collections.emptySet();
return new ConnectionHandlerDescriptor(addresses, port, protocol, state, name, emptySet);
}
@@ -1047,51 +1011,51 @@
addAll(addresses, adminConnector.getListenAddress());
int port = adminConnector.getListenPort();
- Set<CustomSearchResult> emptySet = Collections.emptySet();
+ Set<SearchResultEntry> emptySet = Collections.emptySet();
return new ConnectionHandlerDescriptor(
addresses, port, protocol, state, INFO_CTRL_PANEL_CONN_HANDLER_ADMINISTRATION.get().toString(), emptySet);
}
- private boolean isRootMonitor(CustomSearchResult csr) throws OpenDsException
+ private boolean isRootMonitor(SearchResultEntry sr) throws OpenDsException
{
- return monitorDN.equals(DN.valueOf(csr.getDN()));
+ return monitorDN.equals(sr.getName());
}
- private boolean isVersionMonitor(CustomSearchResult csr) throws OpenDsException
+ private boolean isVersionMonitor(SearchResultEntry sr) throws OpenDsException
{
- return versionDN.equals(DN.valueOf(csr.getDN()));
+ return versionDN.equals(sr.getName());
}
- private boolean isSystemInformation(CustomSearchResult csr) throws OpenDsException
+ private boolean isSystemInformation(SearchResultEntry sr) throws OpenDsException
{
- return systemInformationDN.equals(DN.valueOf(csr.getDN()));
+ return systemInformationDN.equals(sr.getName());
}
- private boolean isJvmMemoryUsage(CustomSearchResult csr) throws OpenDsException
+ private boolean isJvmMemoryUsage(SearchResultEntry sr) throws OpenDsException
{
- return jvmMemoryUsageDN.equals(DN.valueOf(csr.getDN()));
+ return jvmMemoryUsageDN.equals(sr.getName());
}
- private boolean isWorkQueue(CustomSearchResult csr) throws OpenDsException
+ private boolean isWorkQueue(SearchResultEntry sr) throws OpenDsException
{
- return workQueueDN.equals(DN.valueOf(csr.getDN()));
+ return workQueueDN.equals(sr.getName());
}
- private boolean isEntryCaches(CustomSearchResult csr) throws OpenDsException
+ private boolean isEntryCaches(SearchResultEntry sr) throws OpenDsException
{
- return entryCachesDN.equals(DN.valueOf(csr.getDN()));
+ return entryCachesDN.equals(sr.getName());
}
- private boolean isConnectionHandler(CustomSearchResult csr) throws OpenDsException
+ private boolean isConnectionHandler(SearchResultEntry sr) throws OpenDsException
{
- DN dn = DN.valueOf(csr.getDN());
+ DN dn = sr.getName();
DN parent = dn.parent();
if (parent != null && parent.equals(monitorDN))
{
- List<?> vs = csr.getAttributeValues("cn");
- if (vs != null && !vs.isEmpty())
+ Set<String> vs = sr.getAttribute("cn").parse().asSetOfString();
+ if (!vs.isEmpty())
{
- String cn = (String) vs.iterator().next();
+ String cn = vs.iterator().next();
String statistics = " Statistics";
if (cn.endsWith(statistics))
{
@@ -1102,17 +1066,13 @@
return false;
}
- private static boolean isTaskEntry(CustomSearchResult csr) throws OpenDsException
+ private static boolean isTaskEntry(SearchResultEntry sr)
{
- List<Object> vs = csr.getAttributeValues("objectclass");
- if (vs != null && !vs.isEmpty())
+ for (String oc : sr.getAttribute("objectclass").parse().asSetOfString())
{
- for (Object oc : vs)
+ if (oc.equalsIgnoreCase("ds-task"))
{
- if (oc.toString().equalsIgnoreCase("ds-task"))
- {
- return true;
- }
+ return true;
}
}
return false;
@@ -1131,9 +1091,9 @@
return value.toLowerCase();
}
- private Set<CustomSearchResult>getMonitoringEntries(ConnectionHandlerDescriptor ch)
+ private Set<SearchResultEntry> getMonitoringEntries(ConnectionHandlerDescriptor ch)
{
- Set<CustomSearchResult> monitorEntries = new HashSet<>();
+ Set<SearchResultEntry> monitorEntries = new HashSet<>();
if (ch.getState() == ConnectionHandlerDescriptor.State.ENABLED)
{
for (String key : hmConnectionHandlersMonitor.keySet())
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromFile.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromFile.java
index dab8a33..e5fda02 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromFile.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromFile.java
@@ -32,15 +32,8 @@
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.forgerock.opendj.config.server.ConfigException;
-import org.opends.guitools.controlpanel.datamodel.AbstractIndexDescriptor;
-import org.opends.guitools.controlpanel.datamodel.BackendDescriptor;
-import org.opends.guitools.controlpanel.datamodel.BaseDNDescriptor;
-import org.opends.guitools.controlpanel.datamodel.ConnectionHandlerDescriptor;
-import org.opends.guitools.controlpanel.datamodel.CustomSearchResult;
-import org.opends.guitools.controlpanel.datamodel.IndexDescriptor;
-import org.opends.guitools.controlpanel.datamodel.VLVIndexDescriptor;
-import org.opends.guitools.controlpanel.datamodel.VLVSortOrder;
-import org.opends.guitools.controlpanel.task.OfflineUpdateException;
+import org.forgerock.opendj.ldap.DN;
+import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.forgerock.opendj.server.config.server.AdministrationConnectorCfg;
import org.forgerock.opendj.server.config.server.BackendCfg;
import org.forgerock.opendj.server.config.server.BackendIndexCfg;
@@ -63,8 +56,15 @@
import org.forgerock.opendj.server.config.server.RootDNUserCfg;
import org.forgerock.opendj.server.config.server.SNMPConnectionHandlerCfg;
import org.forgerock.opendj.server.config.server.TaskBackendCfg;
+import org.opends.guitools.controlpanel.datamodel.AbstractIndexDescriptor;
+import org.opends.guitools.controlpanel.datamodel.BackendDescriptor;
+import org.opends.guitools.controlpanel.datamodel.BaseDNDescriptor;
+import org.opends.guitools.controlpanel.datamodel.ConnectionHandlerDescriptor;
+import org.opends.guitools.controlpanel.datamodel.IndexDescriptor;
+import org.opends.guitools.controlpanel.datamodel.VLVIndexDescriptor;
+import org.opends.guitools.controlpanel.datamodel.VLVSortOrder;
+import org.opends.guitools.controlpanel.task.OfflineUpdateException;
import org.opends.server.core.DirectoryServer;
-import org.forgerock.opendj.ldap.DN;
import org.opends.server.types.OpenDsException;
/**
@@ -362,7 +362,7 @@
final ConnectionHandlerDescriptor.Protocol protocol =
isReplicationSecure ? ConnectionHandlerDescriptor.Protocol.REPLICATION_SECURE
: ConnectionHandlerDescriptor.Protocol.REPLICATION;
- final Set<CustomSearchResult> emptySet = Collections.emptySet();
+ final Set<SearchResultEntry> emptySet = Collections.emptySet();
final ConnectionHandlerDescriptor connHandler =
new ConnectionHandlerDescriptor(new HashSet<InetAddress>(), replicationPort, protocol,
ConnectionHandlerDescriptor.State.ENABLED, "Multimaster Synchronization", emptySet);
@@ -498,7 +498,7 @@
protocol = ConnectionHandlerDescriptor.Protocol.OTHER;
port = -1;
}
- final Set<CustomSearchResult> emptySet = Collections.emptySet();
+ final Set<SearchResultEntry> emptySet = Collections.emptySet();
return new ConnectionHandlerDescriptor(addresses, port, protocol, state, name, emptySet);
}
@@ -520,7 +520,7 @@
addAll(addresses, adminConnector.getListenAddress());
final int port = adminConnector.getListenPort();
- final Set<CustomSearchResult> emptySet = Collections.emptySet();
+ final Set<SearchResultEntry> emptySet = Collections.emptySet();
return new ConnectionHandlerDescriptor(addresses, port, protocol, state,
INFO_CTRL_PANEL_CONN_HANDLER_ADMINISTRATION.get().toString(), emptySet);
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/RemoteSchemaLoader.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/RemoteSchemaLoader.java
index 8cf8166..cc59818 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/RemoteSchemaLoader.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/RemoteSchemaLoader.java
@@ -16,37 +16,41 @@
*/
package org.opends.guitools.controlpanel.util;
+import static org.forgerock.opendj.ldap.SearchScope.*;
+import static org.forgerock.opendj.ldap.requests.Requests.*;
+import static org.forgerock.opendj.ldap.schema.CoreSchema.*;
import static org.forgerock.opendj.ldap.schema.Schema.*;
+import static org.opends.server.config.ConfigConstants.*;
+import static org.opends.server.config.ConfigConstants.ATTR_ATTRIBUTE_TYPES;
+import static org.opends.server.config.ConfigConstants.ATTR_LDAP_SYNTAXES;
+import static org.opends.server.schema.SchemaConstants.*;
import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-import javax.naming.directory.SearchControls;
-import javax.naming.directory.SearchResult;
-import javax.naming.ldap.InitialLdapContext;
+import java.util.Iterator;
import org.forgerock.opendj.config.server.ConfigException;
-import org.forgerock.opendj.ldap.ByteStringBuilder;
-import org.forgerock.opendj.ldap.ResultCode;
+import org.forgerock.opendj.ldap.Attribute;
+import org.forgerock.opendj.ldap.AttributeDescription;
+import org.forgerock.opendj.ldap.ByteString;
+import org.forgerock.opendj.ldap.DN;
+import org.forgerock.opendj.ldap.Filter;
+import org.forgerock.opendj.ldap.LdapException;
+import org.forgerock.opendj.ldap.requests.SearchRequest;
+import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.forgerock.opendj.ldap.schema.MatchingRule;
import org.forgerock.opendj.ldap.schema.MatchingRuleImpl;
import org.forgerock.opendj.ldap.schema.SchemaBuilder;
-import org.opends.guitools.controlpanel.browser.BrowserController;
-import org.opends.guitools.controlpanel.datamodel.CustomSearchResult;
+import org.opends.admin.ads.util.ConnectionWrapper;
import org.opends.server.api.AttributeSyntax;
-import org.opends.server.config.ConfigConstants;
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.ServerContext;
import org.opends.server.replication.plugin.HistoricalCsnOrderingMatchingRuleImpl;
import org.opends.server.schema.AciSyntax;
-import org.opends.server.schema.SchemaConstants;
import org.opends.server.schema.SubtreeSpecificationSyntax;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.InitializationException;
import org.opends.server.types.Schema;
+import org.opends.server.types.Schema.SchemaUpdater;
/** Class used to retrieve the schema from the schema files. */
public class RemoteSchemaLoader extends SchemaLoader
@@ -68,52 +72,42 @@
/**
* Reads the schema.
*
- * @param ctx
+ * @param connWrapper
* the connection to be used to load the schema.
- * @throws NamingException
+ * @throws LdapException
* if an error occurs reading the schema.
* @throws DirectoryException
* if an error occurs parsing the schema.
* @throws InitializationException
* if an error occurs finding the base schema.
* @throws ConfigException
- * if an error occurs loading the configuration required to use the
- * schema classes.
+ * if an error occurs loading the configuration required to use the schema classes.
*/
- public void readSchema(InitialLdapContext ctx) throws NamingException, DirectoryException, InitializationException,
- ConfigException
+ public void readSchema(ConnectionWrapper connWrapper) throws LdapException, DirectoryException,
+ InitializationException, ConfigException
{
- final String[] schemaAttrs = { ConfigConstants.ATTR_LDAP_SYNTAXES_LC, ConfigConstants.ATTR_ATTRIBUTE_TYPES_LC,
- ConfigConstants.ATTR_OBJECTCLASSES_LC };
- final SearchControls searchControls = new SearchControls();
- searchControls.setSearchScope(SearchControls.OBJECT_SCOPE);
- searchControls.setReturningAttributes(schemaAttrs);
- final NamingEnumeration<SearchResult> srs = ctx.search(
- ConfigConstants.DN_DEFAULT_SCHEMA_ROOT, BrowserController.ALL_OBJECTS_FILTER, searchControls);
- SearchResult sr = null;
- try
- {
- while (srs.hasMore())
- {
- sr = srs.next();
- }
- }
- finally
- {
- srs.close();
- }
-
- final CustomSearchResult csr = new CustomSearchResult(sr, ConfigConstants.DN_DEFAULT_SCHEMA_ROOT);
schema = getBaseSchema();
// Add missing matching rules and attribute syntaxes to base schema to allow read of remote server schema
// (see OPENDJ-1122 for more details)
addMissingSyntaxesToBaseSchema(new AciSyntax(), new SubtreeSpecificationSyntax());
addMissingMatchingRuleToBaseSchema("1.3.6.1.4.1.26027.1.4.4", "historicalCsnOrderingMatch",
"1.3.6.1.4.1.1466.115.121.1.40", new HistoricalCsnOrderingMatchingRuleImpl());
- for (final String str : schemaAttrs)
+
+ final SearchRequest request = newSearchRequest(
+ DN.valueOf(DN_DEFAULT_SCHEMA_ROOT), BASE_OBJECT, Filter.alwaysTrue(),
+ ATTR_LDAP_SYNTAXES, ATTR_ATTRIBUTE_TYPES, ATTR_OBJECTCLASSES);
+ final SearchResultEntry entry = connWrapper.getConnection().searchSingleEntry(request);
+
+ removeNonOpenDjOrOpenDsSyntaxes(entry);
+ schema.updateSchema(new SchemaUpdater()
{
- registerSchemaAttr(csr, str);
- }
+ @Override
+ public org.forgerock.opendj.ldap.schema.Schema update(SchemaBuilder builder)
+ {
+ builder.addSchema(entry, true);
+ return builder.toSchema();
+ }
+ });
}
private void addMissingSyntaxesToBaseSchema(final AttributeSyntax<?>... syntaxes)
@@ -143,85 +137,35 @@
}
else
{
- matchingRule = new SchemaBuilder(schemaNG).buildMatchingRule(oid)
- .names(name)
- .syntaxOID(syntaxOID)
- .implementation(impl)
- .addToSchema().toSchema().getMatchingRule(oid);
+ matchingRule = new SchemaBuilder(schemaNG)
+ .buildMatchingRule(oid)
+ .names(name)
+ .syntaxOID(syntaxOID)
+ .implementation(impl)
+ .addToSchema()
+ .toSchema()
+ .getMatchingRule(oid);
}
schema.registerMatchingRules(Arrays.asList(matchingRule), true);
}
- private void registerSchemaAttr(final CustomSearchResult csr, final String schemaAttr) throws DirectoryException
+ private void removeNonOpenDjOrOpenDsSyntaxes(final SearchResultEntry entry) throws DirectoryException
{
- final Set<Object> remainingAttrs = new HashSet<>(csr.getAttributeValues(schemaAttr));
- if (schemaAttr.equals(ConfigConstants.ATTR_LDAP_SYNTAXES_LC))
+ Attribute attribute = entry.getAttribute(AttributeDescription.create(getLDAPSyntaxesAttributeType()));
+ if (attribute != null)
{
- registerSyntaxDefinitions(remainingAttrs);
- return;
- }
-
- while (!remainingAttrs.isEmpty())
- {
- DirectoryException lastException = null;
- final Set<Object> registered = new HashSet<>();
- for (final Object definition : remainingAttrs)
+ for (Iterator<ByteString> it = attribute.iterator(); it.hasNext();)
{
- final String definitionStr = toString(definition);
- try
+ final String definition = it.next().toString();
+ if (!definition.contains(OID_OPENDS_SERVER_BASE)
+ && !definition.contains(OID_OPENDJ_BASE))
{
- switch (schemaAttr)
- {
- case ConfigConstants.ATTR_ATTRIBUTE_TYPES_LC:
- schema.registerAttributeType(definitionStr, null, true);
- break;
- case ConfigConstants.ATTR_OBJECTCLASSES_LC:
- schema.registerObjectClass(definitionStr, null, true);
- break;
- }
- registered.add(definition);
- }
- catch (DirectoryException de)
- {
- lastException = de;
- }
- }
- if (registered.isEmpty())
- {
- throw lastException;
- }
- remainingAttrs.removeAll(registered);
- }
- }
-
- private void registerSyntaxDefinitions(Set<Object> definitions) throws DirectoryException
- {
- for (final Object definition : definitions)
- {
- final String definitionStr = toString(definition);
- if (definition.toString().contains(SchemaConstants.OID_OPENDS_SERVER_BASE))
- {
- try
- {
- schema.registerSyntax(definitionStr, true);
- }
- catch (DirectoryException e)
- {
- // Filter error code to ignore exceptions raised on description syntaxes.
- if (e.getResultCode() != ResultCode.UNWILLING_TO_PERFORM)
- {
- throw e;
- }
+ it.remove();
}
}
}
}
- private String toString(final Object definition)
- {
- return new ByteStringBuilder().appendObject(definition).toString();
- }
-
/**
* Returns the schema that was read.
*
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/Utilities.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/Utilities.java
index 7d691bd..558ebc4 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/Utilities.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/Utilities.java
@@ -19,6 +19,9 @@
import static com.forgerock.opendj.cli.Utils.*;
import static com.forgerock.opendj.util.OperatingSystem.*;
+import static org.forgerock.opendj.ldap.DereferenceAliasesPolicy.*;
+import static org.forgerock.opendj.ldap.SearchScope.*;
+import static org.forgerock.opendj.ldap.requests.Requests.*;
import static org.opends.admin.ads.util.ConnectionUtils.*;
import static org.opends.admin.ads.util.PreferredConnection.Type.*;
import static org.opends.messages.AdminToolMessages.*;
@@ -45,6 +48,7 @@
import java.util.Collection;
import java.util.Comparator;
import java.util.Date;
+import java.util.Iterator;
import java.util.List;
import java.util.logging.Logger;
import java.util.regex.Pattern;
@@ -93,8 +97,12 @@
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.forgerock.opendj.config.ConfigurationFramework;
import org.forgerock.opendj.config.server.ConfigException;
+import org.forgerock.opendj.ldap.Attribute;
import org.forgerock.opendj.ldap.AttributeDescription;
+import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.DN;
+import org.forgerock.opendj.ldap.requests.SearchRequest;
+import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.forgerock.opendj.ldap.schema.AttributeType;
import org.forgerock.opendj.ldap.schema.MatchingRule;
import org.forgerock.opendj.ldap.schema.Syntax;
@@ -2266,12 +2274,34 @@
}
/**
+ * Ping the specified connection. This method sends a search request on the root entry of the DIT
+ * and forward the corresponding exception (if any).
+ *
+ * @param connWrapper
+ * the connection to be "pinged".
+ * @throws NamingException
+ * if the ping could not be performed.
+ */
+ public static void ping(ConnectionWrapper connWrapper) throws NamingException
+ {
+ SearchRequest request = newSearchRequest("", BASE_OBJECT, "objectClass=*", "1.1")
+ .setSizeLimit(0)
+ .setTimeLimit(0)
+ .setDereferenceAliasesPolicy(NEVER);
+ connWrapper.getConnection().search(request);
+ }
+
+ /**
* Deletes a configuration subtree using the provided configuration handler.
- * @param confHandler the configuration handler to be used to delete the
- * subtree.
- * @param dn the DN of the subtree to be deleted.
- * @throws OpenDsException if an error occurs.
- * @throws ConfigException if an error occurs.
+ *
+ * @param confHandler
+ * the configuration handler to be used to delete the subtree.
+ * @param dn
+ * the DN of the subtree to be deleted.
+ * @throws OpenDsException
+ * if an error occurs.
+ * @throws ConfigException
+ * if an error occurs.
*/
public static void deleteConfigSubtree(ConfigurationHandler confHandler, DN dn)
throws OpenDsException, ConfigException
@@ -2392,29 +2422,26 @@
}
}
- private static Object getFirstMonitoringValue(CustomSearchResult sr, String attrName)
+ private static Object getFirstMonitoringValue(Attribute attribute)
{
- if (sr != null)
+ Iterator<ByteString> it = attribute.iterator();
+ if (it.hasNext())
{
- List<Object> values = sr.getAttributeValues(attrName);
- if (values != null && !values.isEmpty())
+ try
{
- Object o = values.iterator().next();
+ return attribute.parse().asLong();
+ }
+ catch (Throwable t1)
+ {
+ ByteString v = it.next();
try
{
- return Long.parseLong(o.toString());
+ return Double.parseDouble(v.toString());
}
- catch (Throwable t1)
+ catch (Throwable t2)
{
- try
- {
- return Double.parseDouble(o.toString());
- }
- catch (Throwable t2)
- {
- // Cannot convert it, just return it
- return o;
- }
+ // Cannot convert it, just return it
+ return v;
}
}
}
@@ -2455,10 +2482,9 @@
* @param monitoringEntry the monitoring entry.
* @return the monitoring value in a String form to be displayed to the user.
*/
- public static String getMonitoringValue(MonitoringAttributes attr,
- CustomSearchResult monitoringEntry)
+ public static String getMonitoringValue(MonitoringAttributes attr, SearchResultEntry monitoringEntry)
{
- String monitoringValue = getFirstValueAsString(monitoringEntry, attr.getAttributeName());
+ String monitoringValue = monitoringEntry.getAttribute(attr.getAttributeName()).firstValueAsString();
if (monitoringValue == null)
{
return NO_VALUE_SET.toString();
@@ -2515,15 +2541,14 @@
* @return {@code true} if the provided monitoring value represents the non implemented label,
* {@code false} otherwise.
*/
- private static boolean isNotImplemented(MonitoringAttributes attr,
- CustomSearchResult monitoringEntry)
+ private static boolean isNotImplemented(MonitoringAttributes attr, SearchResultEntry monitoringEntry)
{
- String monitoringValue = getFirstValueAsString(monitoringEntry, attr.getAttributeName());
+ Attribute monitoringValue = monitoringEntry.getAttribute(attr.getAttributeName());
if (attr.isNumeric() && monitoringValue != null)
{
try
{
- Long.parseLong(monitoringValue);
+ monitoringValue.parse().asLong();
return false;
}
catch (Throwable t)
@@ -2642,8 +2667,8 @@
* @param attrNames
* the names for which to compute possible comparison results
*/
- public static void computeMonitoringPossibleResults(CustomSearchResult monitor1, CustomSearchResult monitor2,
- ArrayList<Integer> possibleResults, Collection<String> attrNames)
+ public static void computeMonitoringPossibleResults(SearchResultEntry monitor1, SearchResultEntry monitor2,
+ List<Integer> possibleResults, Collection<String> attrNames)
{
for (String attrName : attrNames)
{
@@ -2665,8 +2690,8 @@
}
else
{
- Object v1 = getFirstValue(monitor1, attrName);
- Object v2 = getFirstValue(monitor2, attrName);
+ Object v1 = getFirstMonitoringValue(monitor1.getAttribute(attrName));
+ Object v2 = getFirstMonitoringValue(monitor2.getAttribute(attrName));
if (v1 == null)
{
if (v2 == null)
@@ -2739,18 +2764,6 @@
}
}
- private static Object getFirstValue(CustomSearchResult monitor, String attrName)
- {
- for (String attr : monitor.getAttributeNames())
- {
- if (attr.equalsIgnoreCase(attrName))
- {
- return getFirstMonitoringValue(monitor, attrName);
- }
- }
- return null;
- }
-
/**
* Throw the first exception of the list (if any).
*
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/SchemaConstants.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/SchemaConstants.java
index 743ec11..f2ebeb8 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/SchemaConstants.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/schema/SchemaConstants.java
@@ -55,9 +55,9 @@
private static final String OID_OPENDS_BASE = "1.3.6.1.4.1.26027";
/**
- * The IANA-assigned base OID for all things under the OpenDS umbrella.
+ * The IANA-assigned base OID for all things under the OpenDJ umbrella.
*/
- private static final String OID_OPENDJ_BASE = "1.3.6.1.4.1.36733.2.1";
+ public static final String OID_OPENDJ_BASE = "1.3.6.1.4.1.36733.2.1";
/**
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 20edf68..37f01a1 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
@@ -2015,7 +2015,7 @@
List<TaskEntry> taskEntries = new ArrayList<>();
List<Exception> exceptions = new ArrayList<>();
ConfigFromDirContext cfg = new ConfigFromDirContext();
- cfg.updateTaskInformation(conn.getLdapContext(), exceptions, taskEntries);
+ cfg.updateTaskInformation(conn, exceptions, taskEntries);
for (Exception ode : exceptions)
{
logger.warn(LocalizableMessage.raw("Error retrieving task entries: "+ode, ode));
@@ -5839,8 +5839,8 @@
}
}
}
- String bindDn = getBindDN(conn.getLdapContext());
- String pwd = getBindPassword(conn.getLdapContext());
+ String bindDn = conn.getBindDn().toString();
+ String pwd = conn.getBindPassword();
for (ServerDescriptor s : serversToUpdate)
{
removeReferencesInServer(s, replicationServerHostPort, bindDn, pwd,
@@ -5850,11 +5850,10 @@
if (disableReplicationServer)
{
- // Disable replication server
disableReplicationServer(conn);
replicationServerDisabled = true;
- // Wait to be sure that changes are taken into account and reset the
- // contents of the ADS.
+ // Wait to be sure that changes are taken into account
+ // and reset the contents of the ADS.
sleepCatchInterrupt(5000);
}
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/types/Schema.java b/opendj-server-legacy/src/main/java/org/opends/server/types/Schema.java
index f435b90..f860130 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/types/Schema.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/types/Schema.java
@@ -399,45 +399,6 @@
}
/**
- * Registers an attribute type from its provided definition.
- *
- * @param definition
- * The definition of the attribute type
- * @param schemaFile
- * The schema file where this definition belongs,
- * maybe {@code null}
- * @param overwrite
- * Indicates whether to overwrite the attribute
- * type if it already exists based on OID or name
- * @throws DirectoryException
- * If an error occurs
- */
- public void registerAttributeType(final String definition, final String schemaFile, final boolean overwrite)
- throws DirectoryException
- {
- exclusiveLock.lock();
- try
- {
- String defWithFile = getDefinitionWithSchemaFile(definition, schemaFile);
- switchSchema(new SchemaBuilder(schemaNG)
- .addAttributeType(defWithFile, overwrite)
- .toSchema());
- }
- catch (ConflictingSchemaElementException | UnknownSchemaElementException e)
- {
- throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, e.getMessageObject(), e);
- }
- catch (LocalizedIllegalArgumentException e)
- {
- throw new DirectoryException(ResultCode.INVALID_ATTRIBUTE_SYNTAX, e.getMessageObject(), e);
- }
- finally
- {
- exclusiveLock.unlock();
- }
- }
-
- /**
* Registers the provided attribute type definition with this schema.
*
* @param attributeType
@@ -755,44 +716,6 @@
}
/**
- * Registers an object class from its provided definition.
- *
- * @param definition
- * The definition of the object class
- * @param schemaFile
- * The schema file where this definition belongs, may be {@code null}
- * @param overwriteExisting
- * Indicates whether to overwrite the object class
- * if it already exists based on OID or name
- * @throws DirectoryException
- * If an error occurs
- */
- public void registerObjectClass(String definition, String schemaFile, boolean overwriteExisting)
- throws DirectoryException
- {
- exclusiveLock.lock();
- try
- {
- String defWithFile = getDefinitionWithSchemaFile(definition, schemaFile);
- switchSchema(new SchemaBuilder(schemaNG)
- .addObjectClass(defWithFile, overwriteExisting)
- .toSchema());
- }
- catch (ConflictingSchemaElementException | UnknownSchemaElementException e)
- {
- throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, e.getMessageObject(), e);
- }
- catch (LocalizedIllegalArgumentException e)
- {
- throw new DirectoryException(ResultCode.INVALID_ATTRIBUTE_SYNTAX, e.getMessageObject(), e);
- }
- finally
- {
- exclusiveLock.unlock();
- }
- }
-
- /**
* Deregisters the provided objectclass definition with this schema.
*
* @param objectClass The objectclass to deregister with this schema.
@@ -1134,11 +1057,6 @@
}
}
- private String getDefinitionWithSchemaFile(String definition, String schemaFile)
- {
- return schemaFile != null ? addSchemaFileToElementDefinitionIfAbsent(definition, schemaFile) : definition;
- }
-
/**
* Deregisters the provided matching rule use definition with this schema.
*
--
Gitblit v1.10.0