From 9b22e6c88920b4d06ff0a8a67153452f8fd1bd1b Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Tue, 04 Aug 2026 08:29:20 +0000
Subject: [PATCH] Fix CodeQL note-severity alerts: deprecated JDK calls and inefficient expressions (#823)

---
 opendj-server-legacy/src/main/java/org/opends/server/core/PasswordValidatorConfigManager.java                |    3 
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/LoginPanel.java                       |    3 
 opendj-server-legacy/src/main/java/org/opends/server/core/ConnectionHandlerConfigManager.java                |    5 
 opendj-server-legacy/src/main/java/org/opends/server/core/ExtendedOperationConfigManager.java                |   11 +
 opendj-server-legacy/src/main/java/org/opends/server/discovery/ServiceDiscoveryMechanismConfigManager.java   |    2 
 opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/LogFile.java          |    2 
 opendj-server-legacy/src/main/java/org/opends/server/util/cli/LDAPConnectionConsoleInteraction.java          |   10 
 opendj-server-legacy/src/main/java/org/opends/server/core/PluginConfigManager.java                           |    3 
 opendj-server-legacy/src/main/java/org/opends/server/core/VirtualAttributeConfigManager.java                 |    3 
 opendj-server-legacy/src/main/java/org/opends/server/loggers/AbstractLogger.java                             |   10 
 opendj-server-legacy/src/snmp/src/org/opends/server/snmp/SNMPMonitor.java                                    |    8 
 opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliMain.java             |    2 
 opendj-server-legacy/src/main/java/org/opends/quicksetup/ReturnCode.java                                     |    6 
 opendj-server-legacy/src/main/java/org/opends/server/util/Platform.java                                      |    4 
 opendj-server-legacy/src/main/java/org/opends/server/core/CertificateMapperConfigManager.java                |    3 
 opendj-server-legacy/src/main/java/org/opends/server/core/PasswordPolicyState.java                           |    8 
 opendj-server-legacy/src/main/java/org/opends/server/util/ExpirationCheckTrustManager.java                   |    9 
 opendj-server-legacy/src/main/java/org/opends/server/core/PasswordStorageSchemeConfigManager.java            |    3 
 opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/schema/JsonQueryEqualityMatchingRuleImpl.java  |    4 
 opendj-cli/src/main/java/com/forgerock/opendj/cli/PromptingTrustManager.java                                 |    7 
 opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationDomain.java              |    2 
 opendj-server-legacy/src/snmp/src/org/opends/server/snmp/DsApplIfOpsEntryImpl.java                           |    6 
 opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/SimplePropertyMapper.java                      |    3 
 opendj-server-legacy/src/main/java/org/opends/server/core/SASLConfigManager.java                             |    3 
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BaseDNPanel.java                      |    3 
 opendj-server-legacy/src/main/java/org/opends/server/tools/tasks/TaskEntry.java                              |    3 
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/event/TextComponentFocusListener.java    |    3 
 opendj-server-legacy/src/main/java/org/opends/server/core/WorkQueueConfigManager.java                        |    3 
 opendj-server-legacy/src/main/java/org/opends/server/util/BackupManager.java                                 |    2 
 opendj-server-legacy/src/main/java/org/opends/server/core/LogRotationPolicyConfigManager.java                |    9 
 opendj-server-legacy/src/main/java/org/opends/server/schema/SchemaHandler.java                               |    2 
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/event/ClickTooltipDisplayer.java         |    3 
 opendj-server-legacy/src/main/java/org/opends/server/core/AccountStatusNotificationHandlerConfigManager.java |    3 
 opendj-server-legacy/src/main/java/org/opends/quicksetup/ui/UIFactory.java                                   |    3 
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ExportLDIFPanel.java                  |    3 
 opendj-server-legacy/src/main/resources/java-stubs/org/opends/server/util/DynamicConstants.java              |    3 
 opendj-server-legacy/src/main/java/org/opends/server/tools/BackendToolUtils.java                             |    3 
 opendj-server-legacy/src/main/java/org/opends/server/core/PasswordGeneratorConfigManager.java                |    3 
 opendj-server-legacy/src/main/java/org/opends/server/tools/PromptTrustManager.java                           |    5 
 opendj-server-legacy/src/main/java/org/opends/server/admin/doc/ConfigGuideGeneration.java                    |    6 
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/DeleteBackendPanel.java               |    5 
 opendj-core/src/main/java/org/forgerock/opendj/security/OpenDJProvider.java                                  |    2 
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/LocalOrRemotePanel.java               |    5 
 opendj-server-legacy/src/main/java/org/opends/server/core/IdentityMapperConfigManager.java                   |    3 
 opendj-server-legacy/src/main/java/org/opends/quicksetup/Application.java                                    |    7 
 opendj-server-legacy/src/main/java/org/opends/server/core/LogRetentionPolicyConfigManager.java               |    9 
 opendj-server-legacy/src/main/java/org/opends/server/backends/task/TaskScheduler.java                        |    3 
 opendj-server-legacy/src/main/java/org/opends/server/tools/makeldif/TemplateFile.java                        |   10 
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/DeleteBaseDNPanel.java                |   14 -
 opendj-server-legacy/src/main/java/org/opends/guitools/uninstaller/ui/LoginDialog.java                       |    5 
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BackupPanel.java                      |    7 
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ImportLDIFPanel.java                  |    7 
 opendj-server-legacy/src/main/java/org/opends/quicksetup/SplashScreen.java                                   |    3 
 opendj-server-legacy/src/main/java/org/opends/server/core/TrustManagerProviderConfigManager.java             |    3 
 opendj-server-legacy/src/main/java/org/opends/server/types/LDAPURL.java                                      |    4 
 opendj-core/src/main/java/org/forgerock/opendj/ldif/LDIF.java                                                |    2 
 opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/Installer.java                            |    2 
 opendj-server-legacy/src/main/java/org/opends/server/core/AlertHandlerConfigManager.java                     |    3 
 opendj-server-legacy/src/main/java/org/opends/server/core/SynchronizationProviderConfigManager.java          |    5 
 opendj-server-legacy/src/main/java/org/opends/server/core/PasswordPolicyConfigManager.java                   |    5 
 opendj-server-legacy/src/main/java/org/opends/server/core/MonitorConfigManager.java                          |    3 
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/RestorePanel.java                     |    5 
 opendj-server-legacy/src/main/java/org/opends/server/backends/task/RecurringTask.java                        |    5 
 opendj-core/src/main/java/org/forgerock/opendj/ldif/TemplateFile.java                                        |   10 
 opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/DSConfig.java                               |    2 
 opendj-server-legacy/src/main/java/org/opends/server/core/AccessControlConfigManager.java                    |    3 
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/AbstractVLVIndexPanel.java            |    3 
 opendj-server-legacy/src/main/java/org/opends/quicksetup/util/Utils.java                                     |    2 
 opendj-server-legacy/src/main/java/org/opends/server/core/BackendConfigManager.java                          |   10 
 opendj-server-legacy/src/snmp/src/org/opends/server/snmp/DsTableEntryImpl.java                               |    4 
 opendj-server-legacy/src/main/java/org/opends/server/core/EntryCacheConfigManager.java                       |    2 
 opendj-server-legacy/src/main/java/org/opends/quicksetup/util/UIKeyStore.java                                |    5 
 opendj-server-legacy/src/main/java/org/opends/server/extensions/DynamicGroupMemberList.java                  |    9 
 opendj-server-legacy/src/main/java/org/opends/server/replication/protocol/TopologyMsg.java                   |    3 
 opendj-server-legacy/src/main/java/org/opends/server/core/KeyManagerProviderConfigManager.java               |    3 
 opendj-core/src/main/java/org/forgerock/opendj/ldap/TrustManagers.java                                       |    5 
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewBaseDNPanel.java                   |    2 
 opendj-server-legacy/src/main/java/org/opends/server/core/GroupManager.java                                  |    4 
 opendj-server-legacy/src/main/java/org/opends/server/protocols/http/rest2ldap/AdminEndpoint.java             |    3 
 79 files changed, 209 insertions(+), 155 deletions(-)

diff --git a/opendj-cli/src/main/java/com/forgerock/opendj/cli/PromptingTrustManager.java b/opendj-cli/src/main/java/com/forgerock/opendj/cli/PromptingTrustManager.java
index 217e849..4643b36 100644
--- a/opendj-cli/src/main/java/com/forgerock/opendj/cli/PromptingTrustManager.java
+++ b/opendj-cli/src/main/java/com/forgerock/opendj/cli/PromptingTrustManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2008-2010 Sun Microsystems, Inc.
  * Portions copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package com.forgerock.opendj.cli;
 
@@ -263,7 +264,7 @@
 
         for (final X509Certificate aChain : chain) {
             try {
-                final String alias = aChain.getSubjectDN().getName();
+                final String alias = aChain.getSubjectX500Principal().getName();
                 inMemoryTrustStore.setCertificateEntry(alias, aChain);
                 if (permanent) {
                     onDiskTrustStore.setCertificateEntry(alias, aChain);
@@ -302,14 +303,14 @@
         for (final X509Certificate element : chain) {
             // Certificate DN
             app.println(INFO_LDAP_CONN_SECURITY_SERVER_CERTIFICATE_USER_DN.get(element
-                    .getSubjectDN().toString()));
+                    .getSubjectX500Principal().toString()));
 
             // certificate validity
             app.println(INFO_LDAP_CONN_SECURITY_SERVER_CERTIFICATE_VALIDITY.get(element
                     .getNotBefore().toString(), element.getNotAfter().toString()));
 
             // certificate Issuer
-            app.println(INFO_LDAP_CONN_SECURITY_SERVER_CERTIFICATE_ISSUER.get(element.getIssuerDN()
+            app.println(INFO_LDAP_CONN_SECURITY_SERVER_CERTIFICATE_ISSUER.get(element.getIssuerX500Principal()
                     .toString()));
 
             app.println();
diff --git a/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/DSConfig.java b/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/DSConfig.java
index 3fd8f46..aca3e3a 100644
--- a/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/DSConfig.java
+++ b/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/DSConfig.java
@@ -1395,7 +1395,7 @@
             String command = "";
             String line;
             while ((line = bReader.readLine()) != null) {
-                if ("".equals(line) || line.startsWith("#")) {
+                if (line.isEmpty() || line.startsWith("#")) {
                     // Empty line or comment
                     continue;
                 }
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/TrustManagers.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/TrustManagers.java
index d8624bc..93369f3 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/TrustManagers.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/TrustManagers.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2010 Sun Microsystems, Inc.
  * Portions copyright 2012-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.forgerock.opendj.ldap;
 
@@ -351,12 +352,12 @@
                 } catch (final CertificateExpiredException e) {
                     logger.warn(LocalizableMessage.raw(
                             "Refusing to trust security certificate \'%s\' because it expired on %s",
-                            c.getSubjectDN().getName(), c.getNotAfter()));
+                            c.getSubjectX500Principal().getName(), c.getNotAfter()));
                     throw e;
                 } catch (final CertificateNotYetValidException e) {
                     logger.warn(LocalizableMessage.raw(
                             "Refusing to trust security  certificate \'%s\' because it is not valid until %s",
-                            c.getSubjectDN().getName(), c.getNotBefore()));
+                            c.getSubjectX500Principal().getName(), c.getNotBefore()));
                     throw e;
                 }
             }
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldif/LDIF.java b/opendj-core/src/main/java/org/forgerock/opendj/ldif/LDIF.java
index aba38bf..65dca1b 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldif/LDIF.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldif/LDIF.java
@@ -822,7 +822,7 @@
     public static String toLDIF(final ChangeRecord change) {
         try (final StringWriter writer = new StringWriter();
              final LDIFChangeRecordWriter ldifWriter = new LDIFChangeRecordWriter(writer)) {
-            ldifWriter.writeChangeRecord(change).toString();
+            ldifWriter.writeChangeRecord(change);
             ldifWriter.flush();
             return writer.toString();
         } catch (IOException e) {
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldif/TemplateFile.java b/opendj-core/src/main/java/org/forgerock/opendj/ldif/TemplateFile.java
index 704893c..ca974b1 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldif/TemplateFile.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldif/TemplateFile.java
@@ -13,10 +13,12 @@
  *
  * Copyright 2006-2009 Sun Microsystems, Inc.
  * Portions Copyright 2013-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.forgerock.opendj.ldif;
 
 import static com.forgerock.opendj.ldap.CoreMessages.*;
+import static com.forgerock.opendj.util.StaticUtils.getExceptionMessage;
 
 import java.io.BufferedReader;
 import java.io.File;
@@ -225,7 +227,7 @@
 
         for (final Class<?> c : defaultTagClasses) {
             try {
-                final TemplateTag t = (TemplateTag) c.newInstance();
+                final TemplateTag t = (TemplateTag) c.getDeclaredConstructor().newInstance();
                 registeredTags.put(t.getName().toLowerCase(), t);
             } catch (Exception e) {
                 // this is a programming error
@@ -490,7 +492,7 @@
 
         TemplateTag tag;
         try {
-            tag = (TemplateTag) tagClass.newInstance();
+            tag = (TemplateTag) tagClass.getDeclaredConstructor().newInstance();
         } catch (Exception e) {
             final LocalizableMessage message = ERR_ENTRY_GENERATOR_CANNOT_INSTANTIATE_TAG.get(className);
             throw DecodeException.fatalError(message, e);
@@ -1070,10 +1072,10 @@
 
         TemplateTag newTag;
         try {
-            newTag = tag.getClass().newInstance();
+            newTag = tag.getClass().getDeclaredConstructor().newInstance();
         } catch (Exception e) {
             throw DecodeException.fatalError(ERR_ENTRY_GENERATOR_CANNOT_INSTANTIATE_NEW_TAG.get(
-                    tagName, lineNumber + 1, String.valueOf(e)), e);
+                    tagName, lineNumber + 1, getExceptionMessage(e)), e);
         }
 
         if (branch == null) {
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/security/OpenDJProvider.java b/opendj-core/src/main/java/org/forgerock/opendj/security/OpenDJProvider.java
index 35f8859..305f3da 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/security/OpenDJProvider.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/security/OpenDJProvider.java
@@ -123,7 +123,7 @@
     }
 
     OpenDJProvider(final KeyStoreParameters defaultConfig) {
-        super("OpenDJ", 1.0D, "OpenDJ LDAP security provider");
+        super("OpenDJ", "1.0", "OpenDJ LDAP security provider");
         this.defaultConfig = defaultConfig;
         AccessController.doPrivileged(new PrivilegedAction<Void>() {
             @Override
diff --git a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/SimplePropertyMapper.java b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/SimplePropertyMapper.java
index 4b303b0..e5b511b 100644
--- a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/SimplePropertyMapper.java
+++ b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/SimplePropertyMapper.java
@@ -12,6 +12,7 @@
  * information: "Portions Copyright [year] [name of copyright owner]".
  *
  * Copyright 2012-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.forgerock.opendj.rest2ldap;
 
@@ -234,7 +235,7 @@
         }
 
         final String description = attrType.getDescription();
-        if (description != null && !"".equals(description)) {
+        if (description != null && !description.isEmpty()) {
             jsonSchema.put("title", description);
         }
         putWritabilityProperties(jsonSchema);
diff --git a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/schema/JsonQueryEqualityMatchingRuleImpl.java b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/schema/JsonQueryEqualityMatchingRuleImpl.java
index ee3600c..4a6be47 100644
--- a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/schema/JsonQueryEqualityMatchingRuleImpl.java
+++ b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/schema/JsonQueryEqualityMatchingRuleImpl.java
@@ -215,7 +215,7 @@
         case START_OBJECT:
             final TreeMap<String, ByteSequence> normalizedObject = new TreeMap<>();
             while (parser.nextToken() != END_OBJECT) {
-                final String key = parser.getCurrentName();
+                final String key = parser.currentName();
                 final ByteStringBuilder value = new ByteStringBuilder();
                 normalizeJsonValue(parser, parser.nextToken(), value);
                 normalizedObject.put(key, value);
@@ -329,7 +329,7 @@
                         break;
                     case FIELD_NAME:
                         // Normalize for the pathological case where a field name happens to be a number.
-                        jsonPointer = parentJsonPointer.child(parser.getCurrentName());
+                        jsonPointer = parentJsonPointer.child(parser.currentName());
                         normalizedJsonPointer = normalizeJsonPointer(jsonPointer);
                         break;
                     case VALUE_NULL:
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/event/ClickTooltipDisplayer.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/event/ClickTooltipDisplayer.java
index 4ac0d2a..70e1a96 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/event/ClickTooltipDisplayer.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/event/ClickTooltipDisplayer.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2009 Sun Microsystems, Inc.
  * Portions Copyright 2015-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 
 package org.opends.guitools.controlpanel.event;
@@ -84,7 +85,7 @@
           int x = event.getPoint().x - rect.x;
           int y = event.getPoint().y - rect.y;
           MouseEvent tEv = new MouseEvent(table, event.getID(),
-              event.getWhen(), event.getModifiers(), x, y,
+              event.getWhen(), event.getModifiersEx(), x, y,
               event.getClickCount(), event.isPopupTrigger(), event.getButton());
           toolTipText = ((JComponent)comp).getToolTipText(tEv);
         }
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/event/TextComponentFocusListener.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/event/TextComponentFocusListener.java
index b687da3..6edd6c4 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/event/TextComponentFocusListener.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/event/TextComponentFocusListener.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2008 Sun Microsystems, Inc.
  * Portions Copyright 2015-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 
 package org.opends.guitools.controlpanel.event;
@@ -39,7 +40,7 @@
   @Override
   public void focusGained(FocusEvent e)
   {
-    if (tf.getText() == null || "".equals(tf.getText()))
+    if (tf.getText() == null || tf.getText().isEmpty())
     {
       tf.setText(" ");
       tf.selectAll();
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/AbstractVLVIndexPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/AbstractVLVIndexPanel.java
index f7d3cda..6d30c89 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/AbstractVLVIndexPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/AbstractVLVIndexPanel.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2008-2010 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.guitools.controlpanel.ui;
 
@@ -625,7 +626,7 @@
     }
 
     String f = filter.getText().trim();
-    if ("".equals(f))
+    if (f.isEmpty())
     {
       errors.add(ERR_CTRL_PANEL_NO_FILTER_FOR_VLV_PROVIDED.get());
       setPrimaryInvalid(lFilter);
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BackupPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BackupPanel.java
index d1da240..bfce26d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BackupPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BackupPanel.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2008-2009 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.guitools.controlpanel.ui;
 
@@ -371,7 +372,7 @@
     }
 
     String parentPath = parentDirectory.getText();
-    if (parentPath == null || parentPath.trim().equals(""))
+    if (parentPath == null || parentPath.trim().isEmpty())
     {
       errors.add(ERR_CTRL_PANEL_NO_BACKUP_PATH_PROVIDED.get());
       setPrimaryInvalid(lPath);
@@ -391,7 +392,7 @@
       }
     }
     String dir = backupID.getText();
-    if (dir == null || dir.trim().equals(""))
+    if (dir == null || dir.trim().isEmpty())
     {
       errors.add(ERR_CTRL_PANEL_NO_BACKUP_ID_PROVIDED.get());
       setPrimaryInvalid(lBackupID);
@@ -422,7 +423,7 @@
       else
       {
         String parentID = parentBackupID.getText();
-        if (parentID == null || parentID.trim().equals(""))
+        if (parentID == null || parentID.trim().isEmpty())
         {
           errors.add(ERR_CTRL_PANEL_NO_PARENT_BACKUP_ID_PROVIDED.get());
           setPrimaryInvalid(lParentID);
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BaseDNPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BaseDNPanel.java
index 00d8eb6..2df7814 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BaseDNPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BaseDNPanel.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2008 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 
 package org.opends.guitools.controlpanel.ui;
@@ -101,7 +102,7 @@
     setPrimaryValid(dnLabel);
     LinkedHashSet<LocalizableMessage> errors = new LinkedHashSet<>();
 
-    if ("".equals(dn.getText().trim()))
+    if (dn.getText().trim().isEmpty())
     {
       errors.add(ERR_CTRL_PANEL_NO_BASE_DN_PROVIDED.get());
     }
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/DeleteBackendPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/DeleteBackendPanel.java
index 2c854aa..1cc49a4 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/DeleteBackendPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/DeleteBackendPanel.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2008-2009 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 
 package org.opends.guitools.controlpanel.ui;
@@ -23,6 +24,7 @@
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.LinkedHashSet;
+import java.util.List;
 import java.util.SortedSet;
 import java.util.TreeSet;
 
@@ -96,8 +98,7 @@
     ProgressDialog progressDialog = new ProgressDialog(
         Utilities.createFrame(),
         Utilities.getParentDialog(this), getTitle(), getInfo());
-    @SuppressWarnings("deprecation")
-    Object[] backends = list.getSelectedValues();
+    List<?> backends = list.getSelectedValuesList();
     ArrayList<BackendDescriptor> backendsToDelete = new ArrayList<>();
     for (Object o : backends)
     {
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/DeleteBaseDNPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/DeleteBaseDNPanel.java
index 364ea46..4f167f3 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/DeleteBaseDNPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/DeleteBaseDNPanel.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2008-2009 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.guitools.controlpanel.ui;
 
@@ -25,10 +26,10 @@
 import java.awt.event.ActionListener;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.LinkedHashSet;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.SortedSet;
@@ -142,13 +143,7 @@
         @Override
         public void run()
         {
-          @SuppressWarnings("deprecation")
-          Object[] s = list.getSelectedValues();
-          Set<Object> selected = new HashSet<>();
-          if (s != null)
-          {
-            Collections.addAll(selected, s);
-          }
+          Set<Object> selected = new HashSet<>(list.getSelectedValuesList());
           final DefaultListModel model = (DefaultListModel)list.getModel();
           model.clear();
           SortedSet<Integer> indices = new TreeSet<>();
@@ -333,8 +328,7 @@
     ProgressDialog progressDialog = new ProgressDialog(
         Utilities.createFrame(),
         Utilities.getParentDialog(this), getTitle(), getInfo());
-    @SuppressWarnings("deprecation")
-    Object[] dns = list.getSelectedValues();
+    List<?> dns = list.getSelectedValuesList();
     ArrayList<BaseDNDescriptor> baseDNsToDelete = new ArrayList<>();
     for (Object o : dns)
     {
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ExportLDIFPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ExportLDIFPanel.java
index 83a60fb..a0d9ee2 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ExportLDIFPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ExportLDIFPanel.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2008-2009 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 
 package org.opends.guitools.controlpanel.ui;
@@ -331,7 +332,7 @@
     }
 
     String ldifPath = file.getText();
-    if (ldifPath == null || ldifPath.trim().equals(""))
+    if (ldifPath == null || ldifPath.trim().isEmpty())
     {
       errors.add(INFO_NO_LDIF_PATH.get());
       setPrimaryInvalid(lFile);
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ImportLDIFPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ImportLDIFPanel.java
index ef705c1..56e378d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ImportLDIFPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ImportLDIFPanel.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2008-2010 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.guitools.controlpanel.ui;
 
@@ -455,7 +456,7 @@
     }
 
     String ldifPath = file.getText();
-    if (ldifPath == null || "".equals(ldifPath.trim()))
+    if (ldifPath == null || ldifPath.trim().isEmpty())
     {
       errors.add(INFO_NO_LDIF_PATH.get());
       setPrimaryInvalid(lFile);
@@ -487,7 +488,7 @@
     if (writeRejects.isSelected())
     {
       String rejectPath = rejectsFile.getText();
-      if (rejectPath == null || "".equals(rejectPath.trim()))
+      if (rejectPath == null || rejectPath.trim().isEmpty())
       {
         errors.add(ERR_CTRL_PANEL_REJECTS_FILE_REQUIRED.get());
         setPrimaryInvalid(lRejectsFile);
@@ -503,7 +504,7 @@
     if (writeSkips.isSelected())
     {
       String skipPath = skipsFile.getText();
-      if (skipPath == null || "".equals(skipPath.trim()))
+      if (skipPath == null || skipPath.trim().isEmpty())
       {
         errors.add(ERR_CTRL_PANEL_SKIPS_FILE_REQUIRED.get());
         setPrimaryInvalid(lSkipsFile);
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 52c586c..b0baec9 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
@@ -13,6 +13,7 @@
  *
  * Copyright 2009-2010 Sun Microsystems, Inc.
  * Portions Copyright 2011-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.guitools.controlpanel.ui;
 
@@ -450,7 +451,7 @@
     boolean doChecks = !isLocal || isLocalServerRunning;
     if (doChecks)
     {
-      if ("".equals(dn.getText().trim()))
+      if (dn.getText().trim().isEmpty())
       {
         dnInvalid = true;
         errors.add(INFO_EMPTY_DIRECTORY_MANAGER_DN.get());
@@ -478,7 +479,7 @@
 
       if (!isLocal)
       {
-        if ("".equals(hostName.getText().trim()))
+        if (hostName.getText().trim().isEmpty())
         {
           errors.add(INFO_EMPTY_REMOTE_HOST_NAME.get());
         }
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/LoginPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/LoginPanel.java
index 126a256..fb46d1d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/LoginPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/LoginPanel.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2008-2009 Sun Microsystems, Inc.
  * Portions Copyright 2011-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.guitools.controlpanel.ui;
 
@@ -146,7 +147,7 @@
     boolean dnInvalid = false;
     boolean pwdInvalid = false;
 
-    if ("".equals(dn.getText().trim()))
+    if (dn.getText().trim().isEmpty())
     {
       dnInvalid = true;
       errors.add(INFO_EMPTY_DIRECTORY_MANAGER_DN.get());
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewBaseDNPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewBaseDNPanel.java
index 176eaf5..f85c9d0 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewBaseDNPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewBaseDNPanel.java
@@ -648,7 +648,7 @@
     if (importDataFromLDIF.isSelected())
     {
       String ldifPath = path.getText();
-      if (ldifPath == null || "".equals(ldifPath.trim()))
+      if (ldifPath == null || ldifPath.trim().isEmpty())
       {
         errors.add(INFO_NO_LDIF_PATH.get());
         setSecondaryInvalid(lPath);
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/RestorePanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/RestorePanel.java
index 0b2ab8f..4e3e76a 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/RestorePanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/RestorePanel.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2008-2009 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.guitools.controlpanel.ui;
 
@@ -248,14 +249,14 @@
     else
     {
       String parentPath = parentDirectory.getText();
-      if (parentPath == null || parentPath.trim().equals(""))
+      if (parentPath == null || parentPath.trim().isEmpty())
       {
         errors.add(ERR_CTRL_PANEL_NO_BACKUP_PATH_PROVIDED.get());
         setPrimaryInvalid(lPath);
       }
 
       String id = backupID.getText();
-      if (id == null || id.trim().equals(""))
+      if (id == null || id.trim().isEmpty())
       {
         errors.add(ERR_CTRL_PANEL_NO_BACKUP_ID_PROVIDED.get());
         setPrimaryInvalid(lBackupID);
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/uninstaller/ui/LoginDialog.java b/opendj-server-legacy/src/main/java/org/opends/guitools/uninstaller/ui/LoginDialog.java
index b7c2803..7f6fc92 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/uninstaller/ui/LoginDialog.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/uninstaller/ui/LoginDialog.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2008-2010 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.guitools.uninstaller.ui;
 
@@ -458,13 +459,13 @@
 
             String uid = tfUid.getText();
             ArrayList<LocalizableMessage> possibleCauses = new ArrayList<>();
-            if ("".equals(uid.trim()))
+            if (uid.trim().isEmpty())
             {
               uidInvalid = true;
               possibleCauses.add(INFO_EMPTY_ADMINISTRATOR_UID.get());
             }
 
-            if ("".equals(tfPwd.getText()))
+            if (tfPwd.getText().isEmpty())
             {
               pwdInvalid = true;
               possibleCauses.add(INFO_EMPTY_PWD.get());
diff --git a/opendj-server-legacy/src/main/java/org/opends/quicksetup/Application.java b/opendj-server-legacy/src/main/java/org/opends/quicksetup/Application.java
index 18a3f40..0a6faf1 100644
--- a/opendj-server-legacy/src/main/java/org/opends/quicksetup/Application.java
+++ b/opendj-server-legacy/src/main/java/org/opends/quicksetup/Application.java
@@ -23,6 +23,7 @@
 
 import java.io.ByteArrayOutputStream;
 import java.io.PrintStream;
+import java.lang.reflect.InvocationTargetException;
 import java.util.Map;
 import java.util.Set;
 
@@ -94,16 +95,16 @@
       Class<?> appClass = null;
       try {
         appClass = Class.forName(appClassName);
-        app = (GuiApplication) appClass.newInstance();
+        app = (GuiApplication) appClass.getDeclaredConstructor().newInstance();
       } catch (ClassNotFoundException e) {
         logger.info(LocalizableMessage.raw("error creating quicksetup application", e));
         String msg = "Application class " + appClass + " not found";
         throw new RuntimeException(msg, e);
-      } catch (IllegalAccessException e) {
+      } catch (IllegalAccessException | NoSuchMethodException e) {
         logger.info(LocalizableMessage.raw("error creating quicksetup application", e));
         String msg = "Could not access class " + appClass;
         throw new RuntimeException(msg, e);
-      } catch (InstantiationException e) {
+      } catch (InstantiationException | InvocationTargetException e) {
         logger.info(LocalizableMessage.raw("error creating quicksetup application", e));
         String msg = "Error instantiating class " + appClass;
         throw new RuntimeException(msg, e);
diff --git a/opendj-server-legacy/src/main/java/org/opends/quicksetup/ReturnCode.java b/opendj-server-legacy/src/main/java/org/opends/quicksetup/ReturnCode.java
index 6ec1bae..c4fca19 100644
--- a/opendj-server-legacy/src/main/java/org/opends/quicksetup/ReturnCode.java
+++ b/opendj-server-legacy/src/main/java/org/opends/quicksetup/ReturnCode.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2008-2009 Sun Microsystems, Inc.
  * Portions Copyright 2013-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.quicksetup;
 
@@ -75,4 +76,9 @@
   public int getReturnCode() {
     return code;
   }
+
+  @Override
+  public String toString() {
+    return "ReturnCode(" + code + ")";
+  }
 }
diff --git a/opendj-server-legacy/src/main/java/org/opends/quicksetup/SplashScreen.java b/opendj-server-legacy/src/main/java/org/opends/quicksetup/SplashScreen.java
index db8f861..e16a3bb 100644
--- a/opendj-server-legacy/src/main/java/org/opends/quicksetup/SplashScreen.java
+++ b/opendj-server-legacy/src/main/java/org/opends/quicksetup/SplashScreen.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2008 Sun Microsystems, Inc.
  * Portions Copyright 2015-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.quicksetup;
 
@@ -194,7 +195,7 @@
     try
     {
       quickSetupClass = Class.forName("org.opends.quicksetup.ui.QuickSetup");
-      quickSetup = quickSetupClass.newInstance();
+      quickSetup = quickSetupClass.getDeclaredConstructor().newInstance();
       quickSetupClass.getMethod("initialize", new Class[] { TempLogFile.class, String[].class })
                      .invoke(quickSetup, tempLogFile, args);
     } catch (Exception e)
diff --git a/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/Installer.java b/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/Installer.java
index 4ca49eb..2e7d034 100644
--- a/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/Installer.java
+++ b/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/Installer.java
@@ -3879,7 +3879,7 @@
     boolean fieldIsValid = true;
     final List<LocalizableMessage> localErrorMsgs = new LinkedList<>();
     final String nEntries = ui.getFieldStringValue(FieldName.NUMBER_ENTRIES);
-    if (nEntries == null || "".equals(nEntries.trim()))
+    if (nEntries == null || nEntries.trim().isEmpty())
     {
       localErrorMsgs.add(INFO_NO_NUMBER_ENTRIES.get());
       fieldIsValid = false;
diff --git a/opendj-server-legacy/src/main/java/org/opends/quicksetup/ui/UIFactory.java b/opendj-server-legacy/src/main/java/org/opends/quicksetup/ui/UIFactory.java
index 9a05615..2f4791c 100644
--- a/opendj-server-legacy/src/main/java/org/opends/quicksetup/ui/UIFactory.java
+++ b/opendj-server-legacy/src/main/java/org/opends/quicksetup/ui/UIFactory.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2010 Sun Microsystems, Inc.
  * Portions Copyright 2013-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.quicksetup.ui;
 
@@ -1479,7 +1480,7 @@
   @Override
   public void focusGained(FocusEvent e)
   {
-    if (tf.getText() == null || "".equals(tf.getText()))
+    if (tf.getText() == null || tf.getText().isEmpty())
     {
       tf.setText(" ");
       tf.selectAll();
diff --git a/opendj-server-legacy/src/main/java/org/opends/quicksetup/util/UIKeyStore.java b/opendj-server-legacy/src/main/java/org/opends/quicksetup/util/UIKeyStore.java
index 1a24e92..928f130 100644
--- a/opendj-server-legacy/src/main/java/org/opends/quicksetup/util/UIKeyStore.java
+++ b/opendj-server-legacy/src/main/java/org/opends/quicksetup/util/UIKeyStore.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2008-2010 Sun Microsystems, Inc.
  * Portions Copyright 2011-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 
 package org.opends.quicksetup.util;
@@ -125,10 +126,10 @@
     KeyStore k = getInstance();
     for (X509Certificate aChain : chain) {
       if (!containsCertificate(aChain, k)) {
-        String alias = aChain.getSubjectDN().getName();
+        String alias = aChain.getSubjectX500Principal().getName();
         int j = 1;
         while (k.containsAlias(alias)) {
-          alias = aChain.getSubjectDN().getName() + "-" + j;
+          alias = aChain.getSubjectX500Principal().getName() + "-" + j;
           j++;
         }
         k.setCertificateEntry(alias, aChain);
diff --git a/opendj-server-legacy/src/main/java/org/opends/quicksetup/util/Utils.java b/opendj-server-legacy/src/main/java/org/opends/quicksetup/util/Utils.java
index a9692c4..2824d9c 100644
--- a/opendj-server-legacy/src/main/java/org/opends/quicksetup/util/Utils.java
+++ b/opendj-server-legacy/src/main/java/org/opends/quicksetup/util/Utils.java
@@ -1085,7 +1085,7 @@
     try
     {
       Class<?> c = Class.forName(Utils.CUSTOMIZATION_CLASS_NAME);
-      Object obj = c.newInstance();
+      Object obj = c.getDeclaredConstructor().newInstance();
       return valueClass.cast(c.getField(fieldName).get(obj));
     }
     catch (Exception ignored)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/admin/doc/ConfigGuideGeneration.java b/opendj-server-legacy/src/main/java/org/opends/server/admin/doc/ConfigGuideGeneration.java
index 5e1e9b4..e15de6a 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/admin/doc/ConfigGuideGeneration.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/admin/doc/ConfigGuideGeneration.java
@@ -227,7 +227,7 @@
   }
 
   private boolean isRoot(String name) {
-    return name.equals("");
+    return name.isEmpty();
   }
 
   /**
@@ -718,7 +718,7 @@
       } else if (actionType == Type.NONE) {
         actionStr = "None";
       }
-      String dot = actionStr.equals("") ? "" : ". ";
+      String dot = actionStr.isEmpty() ? "" : ". ";
       action = actionStr +
         ((synopsis != null) ? dot + synopsis : "");
     }
@@ -1045,7 +1045,7 @@
     RelationDefinition rel = relList.get(mo.getName());
     if (rel != null) {
       String baseDn = ldapProfile.getRelationRDNSequence(rel);
-      if (!baseDn.equals("")) {
+      if (!baseDn.isEmpty()) {
         return baseDn;
       } else {
         // Check the parent relation
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/task/RecurringTask.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/task/RecurringTask.java
index b1aecdf..d5735fb 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/task/RecurringTask.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/task/RecurringTask.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2010 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.backends.task;
 
@@ -189,7 +190,7 @@
     // Make sure that the specified class can be instantiated as a task.
     try
     {
-      task = (Task) taskClass.newInstance();
+      task = (Task) taskClass.getDeclaredConstructor().newInstance();
     }
     catch (Exception e)
     {
@@ -332,7 +333,7 @@
 
     try {
       // Make a regular task iteration from this recurring task.
-      nextTask = task.getClass().newInstance();
+      nextTask = task.getClass().getDeclaredConstructor().newInstance();
       Entry nextTaskEntry = recurringTaskEntry.duplicate(false);
       SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmssSSS");
       String nextTaskID = task.getTaskID() + "-" + df.format(nextTaskDate);
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/task/TaskScheduler.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/task/TaskScheduler.java
index c3517d4..97e006d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/task/TaskScheduler.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/task/TaskScheduler.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2010 Sun Microsystems, Inc.
  * Portions Copyright 2013-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.backends.task;
 
@@ -1857,7 +1858,7 @@
     Task task;
     try
     {
-      task = (Task) taskClass.newInstance();
+      task = (Task) taskClass.getDeclaredConstructor().newInstance();
     }
     catch (Exception e)
     {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/AccessControlConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/AccessControlConfigManager.java
index 92d2008..86bbae1 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/AccessControlConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/AccessControlConfigManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2008 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.core;
 
@@ -378,7 +379,7 @@
            definition.getJavaClassPropertyDefinition();
       Class<? extends AccessControlHandler> providerClass =
            propertyDefinition.loadClass(className, AccessControlHandler.class);
-      AccessControlHandler<T> provider = providerClass.newInstance();
+      AccessControlHandler<T> provider = providerClass.getDeclaredConstructor().newInstance();
 
       if (configuration != null)
       {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/AccountStatusNotificationHandlerConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/AccountStatusNotificationHandlerConfigManager.java
index 3ba2cd9..517341c 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/AccountStatusNotificationHandlerConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/AccountStatusNotificationHandlerConfigManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2008 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.core;
 
@@ -348,7 +349,7 @@
           propertyDefinition.loadClass(className,
               AccountStatusNotificationHandler.class);
       final AccountStatusNotificationHandler<T> notificationHandler =
-          handlerClass.newInstance();
+          handlerClass.getDeclaredConstructor().newInstance();
 
       if (initialize)
       {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/AlertHandlerConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/AlertHandlerConfigManager.java
index 9dc992b..32074d1 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/AlertHandlerConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/AlertHandlerConfigManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2008 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.core;
 
@@ -312,7 +313,7 @@
            definition.getJavaClassPropertyDefinition();
       Class<? extends AlertHandler> handlerClass =
            propertyDefinition.loadClass(className, AlertHandler.class);
-      AlertHandler handler = handlerClass.newInstance();
+      AlertHandler handler = handlerClass.getDeclaredConstructor().newInstance();
 
       if (initialize)
       {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/BackendConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/BackendConfigManager.java
index 3be00b1..23e30d6 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/BackendConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/BackendConfigManager.java
@@ -238,7 +238,7 @@
         Backend<? extends BackendCfg> backend;
         try
         {
-          backend = loadBackendClass(className).newInstance();
+          backend = loadBackendClass(className).getDeclaredConstructor().newInstance();
         }
         catch (Exception e)
         {
@@ -784,7 +784,7 @@
           return false;
         }
 
-        Backend<BackendCfg> b = backendClass.newInstance();
+        Backend<BackendCfg> b = backendClass.getDeclaredConstructor().newInstance();
         if (! b.isConfigurationAcceptable(configEntry, unacceptableReason, serverContext))
         {
           return false;
@@ -877,7 +877,7 @@
       {
         try
         {
-          backend = loadBackendClass(className).newInstance();
+          backend = loadBackendClass(className).getDeclaredConstructor().newInstance();
         }
         catch (Exception e)
         {
@@ -955,7 +955,7 @@
     Backend<BackendCfg> backend;
     try
     {
-      backend = loadBackendClass(className).newInstance();
+      backend = loadBackendClass(className).getDeclaredConstructor().newInstance();
     }
     catch (Exception e)
     {
@@ -1019,7 +1019,7 @@
       Backend<? extends BackendCfg> backend;
       try
       {
-        backend = loadBackendClass(className).newInstance();
+        backend = loadBackendClass(className).getDeclaredConstructor().newInstance();
       }
       catch (Exception e)
       {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/CertificateMapperConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/CertificateMapperConfigManager.java
index 7aba188..61f5484 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/CertificateMapperConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/CertificateMapperConfigManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2008 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.core;
 
@@ -321,7 +322,7 @@
            definition.getJavaClassPropertyDefinition();
       Class<? extends CertificateMapper> mapperClass =
            propertyDefinition.loadClass(className, CertificateMapper.class);
-      CertificateMapper mapper = mapperClass.newInstance();
+      CertificateMapper mapper = mapperClass.getDeclaredConstructor().newInstance();
 
       if (initialize)
       {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/ConnectionHandlerConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/ConnectionHandlerConfigManager.java
index 6af08e6..0b99217 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/ConnectionHandlerConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/ConnectionHandlerConfigManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2009 Sun Microsystems, Inc.
  * Portions Copyright 2012-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.core;
 
@@ -306,7 +307,7 @@
       @SuppressWarnings("rawtypes")
       Class<? extends ConnectionHandler> theClass =
           pd.loadClass(className, ConnectionHandler.class);
-      ConnectionHandler<T> connectionHandler = theClass.newInstance();
+      ConnectionHandler<T> connectionHandler = theClass.getDeclaredConstructor().newInstance();
 
       connectionHandler.initializeConnectionHandler(serverContext, config);
 
@@ -334,7 +335,7 @@
         @SuppressWarnings("rawtypes")
         Class<? extends ConnectionHandler> theClass =
             pd.loadClass(className, ConnectionHandler.class);
-        connectionHandler = theClass.newInstance();
+        connectionHandler = theClass.getDeclaredConstructor().newInstance();
       }
 
       return connectionHandler.isConfigurationAcceptable(config, unacceptableReasons);
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/EntryCacheConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/EntryCacheConfigManager.java
index 713c92a..f46a5ab 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/EntryCacheConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/EntryCacheConfigManager.java
@@ -523,7 +523,7 @@
       // it instead of creating a new one unless explicit init is requested.
       EntryCache<T> cache;
       if (initialize || entryCache == null) {
-        cache = cacheClass.newInstance();
+        cache = cacheClass.getDeclaredConstructor().newInstance();
       } else {
         cache = entryCache;
       }
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/ExtendedOperationConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/ExtendedOperationConfigManager.java
index ced8696..db0939f 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/ExtendedOperationConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/ExtendedOperationConfigManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2008 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.core;
 
@@ -269,7 +270,7 @@
     {
       Class<? extends ExtendedOperationHandler> theClass =
           pd.loadClass(className, ExtendedOperationHandler.class);
-      ExtendedOperationHandler extendedOperationHandler = theClass.newInstance();
+      ExtendedOperationHandler extendedOperationHandler = theClass.getDeclaredConstructor().newInstance();
 
       extendedOperationHandler.initializeExtendedOperationHandler(config);
 
@@ -278,7 +279,8 @@
     catch (Exception e)
     {
       logger.traceException(e);
-      throw new ConfigException(ERR_CONFIG_EXTOP_INVALID_CLASS.get(className, config.dn(), e), e);
+      throw new ConfigException(ERR_CONFIG_EXTOP_INVALID_CLASS.get(className, config.dn(),
+          stackTraceToSingleLineString(e)), e);
     }
   }
 
@@ -294,14 +296,15 @@
     try {
       Class<? extends ExtendedOperationHandler> theClass =
           pd.loadClass(className, ExtendedOperationHandler.class);
-      ExtendedOperationHandler extOpHandler = theClass.newInstance();
+      ExtendedOperationHandler extOpHandler = theClass.getDeclaredConstructor().newInstance();
 
       return extOpHandler.isConfigurationAcceptable(config, unacceptableReasons);
     }
     catch (Exception e)
     {
       logger.traceException(e);
-      unacceptableReasons.add(ERR_CONFIG_EXTOP_INVALID_CLASS.get(className, config.dn(), e));
+      unacceptableReasons.add(ERR_CONFIG_EXTOP_INVALID_CLASS.get(className, config.dn(),
+          stackTraceToSingleLineString(e)));
       return false;
     }
   }
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/GroupManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/GroupManager.java
index 458a6ab..69ecd38 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/GroupManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/GroupManager.java
@@ -13,7 +13,7 @@
  *
  * Copyright 2007-2010 Sun Microsystems, Inc.
  * Portions Copyright 2011-2016 ForgeRock AS.
- * Portions Copyright 2025 3A Systems,LLC.
+ * Portions Copyright 2025-2026 3A Systems,LLC.
  */
 package org.opends.server.core;
 
@@ -413,7 +413,7 @@
            definition.getJavaClassPropertyDefinition();
       Class<? extends Group> groupClass =
            propertyDefinition.loadClass(className, Group.class);
-      Group group = groupClass.newInstance();
+      Group group = groupClass.getDeclaredConstructor().newInstance();
 
       if (initialize)
       {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/IdentityMapperConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/IdentityMapperConfigManager.java
index f0964a4..06eb17c 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/IdentityMapperConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/IdentityMapperConfigManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2008 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.core;
 
@@ -332,7 +333,7 @@
            definition.getJavaClassPropertyDefinition();
       Class<? extends IdentityMapper> mapperClass =
            propertyDefinition.loadClass(className, IdentityMapper.class);
-      IdentityMapper mapper = mapperClass.newInstance();
+      IdentityMapper mapper = mapperClass.getDeclaredConstructor().newInstance();
 
       if (initialize)
       {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/KeyManagerProviderConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/KeyManagerProviderConfigManager.java
index 2ded3c7..2c82789 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/KeyManagerProviderConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/KeyManagerProviderConfigManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2008 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.core;
 
@@ -327,7 +328,7 @@
            definition.getJavaClassPropertyDefinition();
       Class<? extends KeyManagerProvider> providerClass =
            propertyDefinition.loadClass(className, KeyManagerProvider.class);
-      KeyManagerProvider provider = providerClass.newInstance();
+      KeyManagerProvider provider = providerClass.getDeclaredConstructor().newInstance();
 
       if (initialize)
       {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/LogRetentionPolicyConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/LogRetentionPolicyConfigManager.java
index 49e354b..c349531 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/LogRetentionPolicyConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/LogRetentionPolicyConfigManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2008 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.core;
 
@@ -183,13 +184,13 @@
       Class<? extends RetentionPolicy> theClass =
           pd.loadClass(className, RetentionPolicy.class);
       // Explicitly cast to check that implementation implements the correct interface.
-      RetentionPolicy<?> retentionPolicy = theClass.newInstance();
+      RetentionPolicy<?> retentionPolicy = theClass.getDeclaredConstructor().newInstance();
       // next line is here to ensure that eclipse does not remove the cast in the line above
       retentionPolicy.hashCode();
       return true;
     } catch (Exception e) {
       unacceptableReasons.add(
-          ERR_CONFIG_RETENTION_POLICY_INVALID_CLASS.get(className, config.dn(), e));
+          ERR_CONFIG_RETENTION_POLICY_INVALID_CLASS.get(className, config.dn(), stackTraceToSingleLineString(e)));
       return false;
     }
   }
@@ -202,12 +203,12 @@
     try {
       Class<? extends RetentionPolicy> theClass =
           pd.loadClass(className, RetentionPolicy.class);
-      RetentionPolicy<LogRetentionPolicyCfg> retentionPolicy = theClass.newInstance();
+      RetentionPolicy<LogRetentionPolicyCfg> retentionPolicy = theClass.getDeclaredConstructor().newInstance();
       retentionPolicy.initializeLogRetentionPolicy(config);
       return retentionPolicy;
     } catch (Exception e) {
       LocalizableMessage message = ERR_CONFIG_RETENTION_POLICY_INVALID_CLASS.get(
-          className, config.dn(), e);
+          className, config.dn(), stackTraceToSingleLineString(e));
       throw new ConfigException(message, e);
     }
   }
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/LogRotationPolicyConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/LogRotationPolicyConfigManager.java
index d2ec629..13a0383 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/LogRotationPolicyConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/LogRotationPolicyConfigManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2008 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.core;
 import java.util.List;
@@ -180,13 +181,13 @@
       Class<? extends RotationPolicy> theClass =
           pd.loadClass(className, RotationPolicy.class);
       // Explicitly cast to check that implementation implements the correct interface.
-      RotationPolicy<?> retentionPolicy = theClass.newInstance();
+      RotationPolicy<?> retentionPolicy = theClass.getDeclaredConstructor().newInstance();
       // next line is here to ensure that eclipse does not remove the cast in the line above
       retentionPolicy.hashCode();
       return true;
     } catch (Exception e) {
       unacceptableReasons.add(
-          ERR_CONFIG_ROTATION_POLICY_INVALID_CLASS.get(className, config.dn(), e));
+          ERR_CONFIG_ROTATION_POLICY_INVALID_CLASS.get(className, config.dn(), stackTraceToSingleLineString(e)));
       return false;
     }
   }
@@ -199,12 +200,12 @@
     try {
       Class<? extends RotationPolicy> theClass =
           pd.loadClass(className, RotationPolicy.class);
-      RotationPolicy<LogRotationPolicyCfg> rotationPolicy = theClass.newInstance();
+      RotationPolicy<LogRotationPolicyCfg> rotationPolicy = theClass.getDeclaredConstructor().newInstance();
       rotationPolicy.initializeLogRotationPolicy(config);
       return rotationPolicy;
     } catch (Exception e) {
       LocalizableMessage message = ERR_CONFIG_ROTATION_POLICY_INVALID_CLASS.get(
-          className, config.dn(), e);
+          className, config.dn(), stackTraceToSingleLineString(e));
       throw new ConfigException(message, e);
     }
   }
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/MonitorConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/MonitorConfigManager.java
index 42c7218..14a13c5 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/MonitorConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/MonitorConfigManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2010 Sun Microsystems, Inc.
  * Portions Copyright 2013-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.core;
 
@@ -314,7 +315,7 @@
       Class<? extends MonitorProvider<T>> providerClass =
           (Class<? extends MonitorProvider<T>>) propertyDefinition
               .loadClass(className, MonitorProvider.class);
-      MonitorProvider<T> monitor = providerClass.newInstance();
+      MonitorProvider<T> monitor = providerClass.getDeclaredConstructor().newInstance();
 
       if (configuration != null)
       {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordGeneratorConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordGeneratorConfigManager.java
index b457b53..4c0dfc9 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordGeneratorConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordGeneratorConfigManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2008 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.core;
 
@@ -331,7 +332,7 @@
            definition.getJavaClassPropertyDefinition();
       Class<? extends PasswordGenerator> generatorClass =
            propertyDefinition.loadClass(className, PasswordGenerator.class);
-      PasswordGenerator<T> generator = generatorClass.newInstance();
+      PasswordGenerator<T> generator = generatorClass.getDeclaredConstructor().newInstance();
 
       if (initialize)
       {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordPolicyConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordPolicyConfigManager.java
index b566172..c264167 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordPolicyConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordPolicyConfigManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2010 Sun Microsystems, Inc.
  * Portions Copyright 2011-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.core;
 
@@ -372,7 +373,7 @@
       Class<AuthenticationPolicyFactory<T>> theClass =
           (Class<AuthenticationPolicyFactory<T>>) pd.loadClass(className,
               AuthenticationPolicyFactory.class);
-      AuthenticationPolicyFactory<T> factory = theClass.newInstance();
+      AuthenticationPolicyFactory<T> factory = theClass.getDeclaredConstructor().newInstance();
       factory.setServerContext(serverContext);
 
       AuthenticationPolicy policy = factory.createAuthenticationPolicy(policyConfiguration);
@@ -430,7 +431,7 @@
       Class<?> theClass =
           pd.loadClass(className, AuthenticationPolicyFactory.class);
       AuthenticationPolicyFactory<T> factory =
-          (AuthenticationPolicyFactory<T>) theClass.newInstance();
+          (AuthenticationPolicyFactory<T>) theClass.getDeclaredConstructor().newInstance();
       factory.setServerContext(serverContext);
 
       return factory.isConfigurationAcceptable(policyConfiguration, unacceptableReasons);
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordPolicyState.java b/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordPolicyState.java
index 8fa24e0..478d180 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordPolicyState.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordPolicyState.java
@@ -2597,17 +2597,17 @@
     if (historyDuration > 0L)
     {
       long minAgeToKeep = currentTime - 1000L * historyDuration;
-      Iterator<Long> iterator = historyMap.keySet().iterator();
+      Iterator<Map.Entry<Long, ByteString>> iterator = historyMap.entrySet().iterator();
       LinkedHashSet<ByteString> removeValues = new LinkedHashSet<>();
       while (iterator.hasNext())
       {
-        long timestamp = iterator.next();
-        if (timestamp >= minAgeToKeep)
+        Map.Entry<Long, ByteString> historyEntry = iterator.next();
+        if (historyEntry.getKey() >= minAgeToKeep)
         {
           break;
         }
 
-        ByteString v = historyMap.get(timestamp);
+        ByteString v = historyEntry.getValue();
         removeValues.add(v);
         iterator.remove();
 
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordStorageSchemeConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordStorageSchemeConfigManager.java
index 86fb411..d09f1df 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordStorageSchemeConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordStorageSchemeConfigManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2008 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.core;
 
@@ -346,7 +347,7 @@
       PasswordStorageSchemeCfgDefn definition = PasswordStorageSchemeCfgDefn.getInstance();
       propertyDefinition = definition.getJavaClassPropertyDefinition();
       schemeClass = propertyDefinition.loadClass(className, PasswordStorageScheme.class);
-      PasswordStorageScheme<T> passwordStorageScheme = schemeClass.newInstance();
+      PasswordStorageScheme<T> passwordStorageScheme = schemeClass.getDeclaredConstructor().newInstance();
 
       if (initialize)
       {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordValidatorConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordValidatorConfigManager.java
index bc63be9..bb3f00d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordValidatorConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/PasswordValidatorConfigManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2008 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.core;
 
@@ -330,7 +331,7 @@
            definition.getJavaClassPropertyDefinition();
       Class<? extends PasswordValidator> validatorClass =
            propertyDefinition.loadClass(className, PasswordValidator.class);
-      PasswordValidator<T> validator = validatorClass.newInstance();
+      PasswordValidator<T> validator = validatorClass.getDeclaredConstructor().newInstance();
 
       if (initialize)
       {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/PluginConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/PluginConfigManager.java
index ff3a464..7338249 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/PluginConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/PluginConfigManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2010 Sun Microsystems, Inc.
  * Portions Copyright 2011-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.core;
 
@@ -389,7 +390,7 @@
            definition.getJavaClassPropertyDefinition();
       Class<? extends DirectoryServerPlugin> pluginClass =
            propertyDefinition.loadClass(className, DirectoryServerPlugin.class);
-      DirectoryServerPlugin<T> plugin = pluginClass.newInstance();
+      DirectoryServerPlugin<T> plugin = pluginClass.getDeclaredConstructor().newInstance();
 
       if (initialize)
       {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/SASLConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/SASLConfigManager.java
index 2ff8896..8ff0a59 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/SASLConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/SASLConfigManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2008 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.core;
 
@@ -317,7 +318,7 @@
            definition.getJavaClassPropertyDefinition();
       Class<? extends SASLMechanismHandler> handlerClass =
            propertyDefinition.loadClass(className, SASLMechanismHandler.class);
-      SASLMechanismHandler handler = handlerClass.newInstance();
+      SASLMechanismHandler handler = handlerClass.getDeclaredConstructor().newInstance();
 
       if (initialize)
       {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/SynchronizationProviderConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/SynchronizationProviderConfigManager.java
index 1aa511a..b453139 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/SynchronizationProviderConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/SynchronizationProviderConfigManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2008 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.core;
 
@@ -303,7 +304,7 @@
     try
     {
       // Instantiate the class.
-      provider = theClass.newInstance();
+      provider = theClass.getDeclaredConstructor().newInstance();
     } catch (Exception e)
     {
       // Handle the exception: put a message in the unacceptable reasons.
@@ -355,7 +356,7 @@
     {
       Class<? extends SynchronizationProvider> theClass =
           pd.loadClass(className, SynchronizationProvider.class);
-      SynchronizationProvider provider = theClass.newInstance();
+      SynchronizationProvider provider = theClass.getDeclaredConstructor().newInstance();
 
       return provider.isConfigurationAcceptable(configuration,
           unacceptableReasons);
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/TrustManagerProviderConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/TrustManagerProviderConfigManager.java
index e749574..6a10132 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/TrustManagerProviderConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/TrustManagerProviderConfigManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2008 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.core;
 
@@ -326,7 +327,7 @@
            definition.getJavaClassPropertyDefinition();
       Class<? extends TrustManagerProvider> providerClass =
            propertyDefinition.loadClass(className, TrustManagerProvider.class);
-      TrustManagerProvider<T> provider = providerClass.newInstance();
+      TrustManagerProvider<T> provider = providerClass.getDeclaredConstructor().newInstance();
 
       if (initialize)
       {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/VirtualAttributeConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/VirtualAttributeConfigManager.java
index 167eb2a..af21c6e 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/VirtualAttributeConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/VirtualAttributeConfigManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2007-2009 Sun Microsystems, Inc.
  * Portions Copyright 2011-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.core;
 
@@ -422,7 +423,7 @@
       Class<? extends VirtualAttributeProvider> providerClass =
            propertyDefinition.loadClass(className,
                                         VirtualAttributeProvider.class);
-      VirtualAttributeProvider provider = providerClass.newInstance();
+      VirtualAttributeProvider provider = providerClass.getDeclaredConstructor().newInstance();
 
       if (initialize)
       {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/WorkQueueConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/WorkQueueConfigManager.java
index c433a08..8e6f756 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/WorkQueueConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/WorkQueueConfigManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2008 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.core;
 import java.util.List;
@@ -79,7 +80,7 @@
 
     try
     {
-      WorkQueue workQueue = workQueueClass.newInstance();
+      WorkQueue workQueue = workQueueClass.getDeclaredConstructor().newInstance();
 
       workQueue.initializeWorkQueue(workQueueConfig);
 
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/discovery/ServiceDiscoveryMechanismConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/discovery/ServiceDiscoveryMechanismConfigManager.java
index 0dba85d..1549aa0 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/discovery/ServiceDiscoveryMechanismConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/discovery/ServiceDiscoveryMechanismConfigManager.java
@@ -131,7 +131,7 @@
   private ServiceDiscoveryMechanism loadAndInitializeMechanism(ServiceDiscoveryMechanismCfg cfg) throws Exception
   {
     final ServiceDiscoveryMechanism newMechanism =
-        ((Class<ServiceDiscoveryMechanism>) DirectoryServer.loadClass(cfg.getJavaClass())).newInstance();
+        ((Class<ServiceDiscoveryMechanism>) DirectoryServer.loadClass(cfg.getJavaClass())).getDeclaredConstructor().newInstance();
     newMechanism.initializeMechanism(cfg, serverContext);
     return newMechanism;
   }
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/extensions/DynamicGroupMemberList.java b/opendj-server-legacy/src/main/java/org/opends/server/extensions/DynamicGroupMemberList.java
index d3a785f..67b54be 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/extensions/DynamicGroupMemberList.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/extensions/DynamicGroupMemberList.java
@@ -173,15 +173,16 @@
           // is closest to the naming context.  If not, then add a new list with
           // the current base DN.
           boolean found = false;
-          Iterator<DN> iterator = baseDNs.keySet().iterator();
+          Iterator<Map.Entry<DN, LinkedList<LDAPURL>>> iterator = baseDNs.entrySet().iterator();
           while (iterator.hasNext())
           {
-            DN existingBaseDN = iterator.next();
+            Map.Entry<DN, LinkedList<LDAPURL>> baseDNEntry = iterator.next();
+            DN existingBaseDN = baseDNEntry.getKey();
             if (urlBaseDN.isSubordinateOrEqualTo(existingBaseDN))
             {
               // The base DN for the current URL is below an existing base DN,
               // so we can just add this URL to the existing list and be done.
-              urlList = baseDNs.get(existingBaseDN);
+              urlList = baseDNEntry.getValue();
               urlList.add(memberURL);
               found = true;
               break;
@@ -191,7 +192,7 @@
               // The base DN for the current URL is above the existing base DN,
               // so we should use the base DN for the current URL instead of the
               // existing one.
-              urlList = baseDNs.get(existingBaseDN);
+              urlList = baseDNEntry.getValue();
               urlList.add(memberURL);
               iterator.remove();
               baseDNs.put(urlBaseDN, urlList);
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/loggers/AbstractLogger.java b/opendj-server-legacy/src/main/java/org/opends/server/loggers/AbstractLogger.java
index d26ac7f..db6bbd7 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/loggers/AbstractLogger.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/loggers/AbstractLogger.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2008 Sun Microsystems, Inc.
  * Portions Copyright 2011-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.loggers;
 
@@ -373,10 +374,11 @@
     String className = config.getJavaClass();
     ClassPropertyDefinition pd = getJavaClassPropertyDefinition();
     try {
-      P publisher = pd.loadClass(className, logPublisherClass).newInstance();
+      P publisher = pd.loadClass(className, logPublisherClass).getDeclaredConstructor().newInstance();
       return publisher.isConfigurationAcceptable(config, unacceptableReasons);
     } catch (Exception e) {
-      unacceptableReasons.add(invalidLoggerClassErrorMessage.get(className, config.dn(), e));
+      unacceptableReasons.add(invalidLoggerClassErrorMessage.get(className, config.dn(),
+          stackTraceToSingleLineString(e)));
       return false;
     }
   }
@@ -386,14 +388,14 @@
     String className = config.getJavaClass();
     ClassPropertyDefinition pd = getJavaClassPropertyDefinition();
     try {
-      P logPublisher = pd.loadClass(className, logPublisherClass).newInstance();
+      P logPublisher = pd.loadClass(className, logPublisherClass).getDeclaredConstructor().newInstance();
       logPublisher.initializeLogPublisher(config, serverContext);
       return logPublisher;
     }
     catch (Exception e)
     {
       throw new ConfigException(
-          invalidLoggerClassErrorMessage.get(className, config.dn(), e), e);
+          invalidLoggerClassErrorMessage.get(className, config.dn(), stackTraceToSingleLineString(e)), e);
     }
   }
 
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/rest2ldap/AdminEndpoint.java b/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/rest2ldap/AdminEndpoint.java
index 3da41a3..3aa12f1 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/rest2ldap/AdminEndpoint.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/rest2ldap/AdminEndpoint.java
@@ -12,6 +12,7 @@
  * information: "Portions copyright [year] [name of copyright owner]".
  *
  * Copyright 2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.protocols.http.rest2ldap;
 
@@ -388,7 +389,7 @@
       }
 
       final String title = attrType.getDescription();
-      if (title != null && !"".equals(title))
+      if (title != null && !title.isEmpty())
       {
         result.put("title", title);
       }
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/protocol/TopologyMsg.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/protocol/TopologyMsg.java
index 0fa5f5c..8ed3986 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/protocol/TopologyMsg.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/protocol/TopologyMsg.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2007-2010 Sun Microsystems, Inc.
  * Portions Copyright 2011-2015 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.replication.protocol;
 
@@ -271,7 +272,7 @@
       + "CONNECTED RS SERVERS:"
       + "\n--------------------\n"
       + rsStr
-      + ("".equals(rsStr) ? "----------------------------\n" : "");
+      + (rsStr.isEmpty() ? "----------------------------\n" : "");
   }
 
   /**
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/LogFile.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/LogFile.java
index 77a35ef..16cb340 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/LogFile.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/LogFile.java
@@ -396,8 +396,6 @@
    * Returns the newest (last) record from this log.
    *
    * @return the newest record, which may be {@code null}
-   * @throws ChangelogException
-   *           If an error occurs while retrieving the record.
    */
   Record<K, V> getNewestRecord()
   {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationDomain.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationDomain.java
index 2d9f175..5949582 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationDomain.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/service/ReplicationDomain.java
@@ -2401,7 +2401,7 @@
         logger.trace("[IE] Domain=" + this
           + " ends initialization with exception=" + ieCtx.getException()
           + " connected=" + broker.isConnected()
-          + " task=" + initFromTask
+          + " task=" + (initFromTask != null ? initFromTask.getTaskEntryDN() : null)
           + " attempt=" + ieCtx.attemptCnt);
       }
 
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/SchemaHandler.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/SchemaHandler.java
index 90ac069..dd7e1bc 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/SchemaHandler.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/schema/SchemaHandler.java
@@ -748,7 +748,7 @@
     {
       final ClassPropertyDefinition propertyDef = SchemaProviderCfgDefn.getInstance().getJavaClassPropertyDefinition();
       final Class<? extends SchemaProvider> providerClass = propertyDef.loadClass(className, SchemaProvider.class);
-      final SchemaProvider<T> provider = providerClass.newInstance();
+      final SchemaProvider<T> provider = providerClass.getDeclaredConstructor().newInstance();
 
       if (initialize)
       {
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/BackendToolUtils.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/BackendToolUtils.java
index 2de4f79..cb37dc6 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/BackendToolUtils.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/BackendToolUtils.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2008 Sun Microsystems, Inc.
  * Portions Copyright 2013-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.tools;
 
@@ -86,7 +87,7 @@
         final BackendCfg cfg;
         try
         {
-          backend = (LocalBackend) backendClass.newInstance();
+          backend = (LocalBackend) backendClass.getDeclaredConstructor().newInstance();
           backend.setBackendID(backendID);
           cfg = root.getBackend(backendID);
           backend.configureBackend(cfg, serverContext);
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/PromptTrustManager.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/PromptTrustManager.java
index 6a7e2c6..5539082 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/PromptTrustManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/PromptTrustManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2008-2010 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.tools;
 
@@ -119,8 +120,8 @@
       }
 
       System.out.println(INFO_PROMPTTM_SERVER_CERT.get(
-              chain[0].getSubjectDN().getName(),
-              chain[0].getIssuerDN().getName(),
+              chain[0].getSubjectX500Principal().getName(),
+              chain[0].getIssuerX500Principal().getName(),
               notBeforeDate,
               notAfterDate));
     }
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 716009f..3f53490 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
@@ -6569,7 +6569,7 @@
       public void progressUpdate(ProgressUpdateEvent ev)
       {
         LocalizableMessage newLogDetails = ev.getNewLogs();
-        if (newLogDetails != null && !"".equals(newLogDetails.toString().trim()))
+        if (newLogDetails != null && !newLogDetails.toString().trim().isEmpty())
         {
           print(newLogDetails);
           println();
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/makeldif/TemplateFile.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/makeldif/TemplateFile.java
index f46c7ad..a3f94d0 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/makeldif/TemplateFile.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/makeldif/TemplateFile.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2009 Sun Microsystems, Inc.
  * Portions Copyright 2013-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.tools.makeldif;
 
@@ -185,7 +186,7 @@
     {
       try
       {
-        Tag t = (Tag) c.newInstance();
+        Tag t = (Tag) c.getDeclaredConstructor().newInstance();
         registeredTags.put(toLowerCase(t.getName()), t);
       }
       catch (Exception e)
@@ -437,7 +438,7 @@
         Tag tag;
         try
         {
-          tag = (Tag) tagClass.newInstance();
+          tag = (Tag) tagClass.getDeclaredConstructor().newInstance();
         }
         catch (Exception e)
         {
@@ -1225,11 +1226,12 @@
     Tag newTag;
     try
     {
-      newTag = t.getClass().newInstance();
+      newTag = t.getClass().getDeclaredConstructor().newInstance();
     }
     catch (Exception e)
     {
-      throw new MakeLDIFException(ERR_MAKELDIF_CANNOT_INSTANTIATE_NEW_TAG.get(tagName, lineNumber, e), e);
+      throw new MakeLDIFException(ERR_MAKELDIF_CANNOT_INSTANTIATE_NEW_TAG.get(tagName, lineNumber,
+          getExceptionMessage(e)), e);
     }
 
     if (branch == null)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/tasks/TaskEntry.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/tasks/TaskEntry.java
index 6294aef..f19cab8 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/tasks/TaskEntry.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/tasks/TaskEntry.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2008-2009 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.tools.tasks;
 
@@ -496,7 +497,7 @@
     if (task == null && className != null) {
       try {
         Class<?> clazz = Class.forName(className);
-        Object o = clazz.newInstance();
+        Object o = clazz.getDeclaredConstructor().newInstance();
         if (Task.class.isAssignableFrom(o.getClass())) {
           this.task = (Task) o;
         }
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/types/LDAPURL.java b/opendj-server-legacy/src/main/java/org/opends/server/types/LDAPURL.java
index cc3fb8a..99f971f 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/types/LDAPURL.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/types/LDAPURL.java
@@ -478,7 +478,7 @@
     }
 
     SearchScope scope;
-    if (scopeString.equals(""))
+    if (scopeString.isEmpty())
     {
       scope = DEFAULT_SEARCH_SCOPE;
     }
@@ -539,7 +539,7 @@
     SearchFilter filter;
     if (fullyDecode)
     {
-      if (filterString.equals(""))
+      if (filterString.isEmpty())
       {
         filter = DEFAULT_SEARCH_FILTER;
       }
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/util/BackupManager.java b/opendj-server-legacy/src/main/java/org/opends/server/util/BackupManager.java
index 8eb09b4..aa72d2b 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/util/BackupManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/util/BackupManager.java
@@ -1375,8 +1375,6 @@
    *
    * @throws DirectoryException
    *           If a Directory Server error occurs.
-   * @throws IOException
-   *           If an I/O exception occurs during the restore.
    */
   private void restoreArchive(Path restoreDir,
                               Set<String> filesToRestore,
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/util/ExpirationCheckTrustManager.java b/opendj-server-legacy/src/main/java/org/opends/server/util/ExpirationCheckTrustManager.java
index 2e55493..ec397ff 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/util/ExpirationCheckTrustManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/util/ExpirationCheckTrustManager.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2008 Sun Microsystems, Inc.
  * Portions Copyright 2014-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.util;
 
@@ -92,13 +93,13 @@
       catch (CertificateExpiredException cee)
       {
         logger.error(ERR_EXPCHECK_TRUSTMGR_CLIENT_CERT_EXPIRED,
-            c.getSubjectDN().getName(), c.getNotAfter());
+            c.getSubjectX500Principal().getName(), c.getNotAfter());
         throw cee;
       }
       catch (CertificateNotYetValidException cnyve)
       {
         logger.error(ERR_EXPCHECK_TRUSTMGR_CLIENT_CERT_NOT_YET_VALID,
-            c.getSubjectDN().getName(), c.getNotBefore());
+            c.getSubjectX500Principal().getName(), c.getNotBefore());
         throw cnyve;
       }
     }
@@ -134,13 +135,13 @@
       catch (CertificateExpiredException cee)
       {
         logger.error(ERR_EXPCHECK_TRUSTMGR_SERVER_CERT_EXPIRED,
-            c.getSubjectDN().getName(), c.getNotAfter());
+            c.getSubjectX500Principal().getName(), c.getNotAfter());
         throw cee;
       }
       catch (CertificateNotYetValidException cnyve)
       {
         logger.error(ERR_EXPCHECK_TRUSTMGR_SERVER_CERT_NOT_YET_VALID,
-            c.getSubjectDN().getName(), c.getNotBefore());
+            c.getSubjectX500Principal().getName(), c.getNotBefore());
         throw cnyve;
       }
     }
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/util/Platform.java b/opendj-server-legacy/src/main/java/org/opends/server/util/Platform.java
index 4fe9fba..ea304f8 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/util/Platform.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/util/Platform.java
@@ -14,7 +14,7 @@
  * Copyright 2009-2010 Sun Microsystems, Inc.
  * Portions Copyright 2013-2016 ForgeRock AS.
  * Portions Copyright 2025 Wren Security.
- * Portions Copyright 2025 3A Systems LLC.
+ * Portions Copyright 2025-2026 3A Systems LLC.
  */
 
 package org.opends.server.util;
@@ -297,7 +297,7 @@
      */
     private boolean isSelfSigned(X509Certificate cert)
     {
-      return cert.getSubjectDN().equals(cert.getIssuerDN());
+      return cert.getSubjectX500Principal().equals(cert.getIssuerX500Principal());
     }
   }
 
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/util/cli/LDAPConnectionConsoleInteraction.java b/opendj-server-legacy/src/main/java/org/opends/server/util/cli/LDAPConnectionConsoleInteraction.java
index f3a968c..ad08625 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/util/cli/LDAPConnectionConsoleInteraction.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/util/cli/LDAPConnectionConsoleInteraction.java
@@ -1047,7 +1047,7 @@
           certificateNumber++;
           X509Certificate certif = (X509Certificate) keystore.getCertificate(alias);
           builder.addNumberedOption(INFO_LDAP_CONN_PROMPT_SECURITY_CERTIFICATE_ALIAS.get(
-                                                                                alias, certif.getSubjectDN().getName()),
+                                                                                alias, certif.getSubjectX500Principal().getName()),
                                     MenuResult.success(alias));
         }
       }
@@ -1429,12 +1429,12 @@
       }
 
       // Certificate DN
-      app.println(INFO_LDAP_CONN_SECURITY_SERVER_CERTIFICATE_USER_DN.get(cert.getSubjectDN()));
+      app.println(INFO_LDAP_CONN_SECURITY_SERVER_CERTIFICATE_USER_DN.get(cert.getSubjectX500Principal()));
       // certificate validity
       app.println(INFO_LDAP_CONN_SECURITY_SERVER_CERTIFICATE_VALIDITY.get(
           cert.getNotBefore(), cert.getNotAfter()));
       // certificate Issuer
-      app.println(INFO_LDAP_CONN_SECURITY_SERVER_CERTIFICATE_ISSUER.get(cert.getIssuerDN()));
+      app.println(INFO_LDAP_CONN_SECURITY_SERVER_CERTIFICATE_ISSUER.get(cert.getIssuerX500Principal()));
     }
   }
 
@@ -1487,7 +1487,7 @@
     // User choice if to add the certificate to the trust store for the current session or permanently.
     for (final X509Certificate cert : chain)
     {
-      state.truststore.setCertificateEntry(cert.getSubjectDN().getName(), cert);
+      state.truststore.setCertificateEntry(cert.getSubjectX500Principal().getName(), cert);
     }
 
     // Update the trust manager
@@ -1524,7 +1524,7 @@
 
     for (final X509Certificate cert : chain)
     {
-      keyStore.setCertificateEntry(cert.getSubjectDN().getName(), cert);
+      keyStore.setCertificateEntry(cert.getSubjectX500Principal().getName(), cert);
     }
 
     try (final FileOutputStream trustStoreOutputFile = new FileOutputStream(trustStorePath))
diff --git a/opendj-server-legacy/src/main/resources/java-stubs/org/opends/server/util/DynamicConstants.java b/opendj-server-legacy/src/main/resources/java-stubs/org/opends/server/util/DynamicConstants.java
index d6e9e79..8e418d6 100644
--- a/opendj-server-legacy/src/main/resources/java-stubs/org/opends/server/util/DynamicConstants.java
+++ b/opendj-server-legacy/src/main/resources/java-stubs/org/opends/server/util/DynamicConstants.java
@@ -13,6 +13,7 @@
  *
  * Copyright 2006-2009 Sun Microsystems, Inc.
  * Portions Copyright 2011-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
  */
 package org.opends.server.util;
 
@@ -104,7 +105,7 @@
   static {
      try {
         Class<?> c = Class.forName("org.opends.server.util.ReleaseDefinition");
-        Object obj = c.newInstance();
+        Object obj = c.getDeclaredConstructor().newInstance();
 
         try {
          PRODUCT_NAME = (String)c.getField("PRODUCT_NAME").get(obj);
diff --git a/opendj-server-legacy/src/snmp/src/org/opends/server/snmp/DsApplIfOpsEntryImpl.java b/opendj-server-legacy/src/snmp/src/org/opends/server/snmp/DsApplIfOpsEntryImpl.java
index cd37c0b..e211354 100644
--- a/opendj-server-legacy/src/snmp/src/org/opends/server/snmp/DsApplIfOpsEntryImpl.java
+++ b/opendj-server-legacy/src/snmp/src/org/opends/server/snmp/DsApplIfOpsEntryImpl.java
@@ -77,8 +77,8 @@
     super(mib);
     this.server = server;
     this.connectionHandlerName = connectionHandlerObjectName;
-    this.ApplIndex = new Integer(applIndex);
-    this.DsApplIfProtocolIndex = new Integer(connectionHandlerIndex);
+    this.ApplIndex = Integer.valueOf(applIndex);
+    this.DsApplIfProtocolIndex = Integer.valueOf(connectionHandlerIndex);
     this.monitor = SNMPMonitor.getMonitor(server);
   }
 
@@ -98,7 +98,7 @@
           if (index==-1) {
               return this.DsApplIfProtocol;
           }
-          return  new String("1.3.6.1..27.3.") + portNumber.substring(index+1);
+          return  "1.3.6.1..27.3." + portNumber.substring(index+1);
       }
   }
 
diff --git a/opendj-server-legacy/src/snmp/src/org/opends/server/snmp/DsTableEntryImpl.java b/opendj-server-legacy/src/snmp/src/org/opends/server/snmp/DsTableEntryImpl.java
index 95bfc36..1f7f3cb 100644
--- a/opendj-server-legacy/src/snmp/src/org/opends/server/snmp/DsTableEntryImpl.java
+++ b/opendj-server-legacy/src/snmp/src/org/opends/server/snmp/DsTableEntryImpl.java
@@ -73,7 +73,7 @@
         super(mib);
         this.server = server;
         this.monitor = SNMPMonitor.getMonitor(server);
-        this.applIndex = new Integer(index);
+        this.applIndex = Integer.valueOf(index);
     }
 
     /**
@@ -145,7 +145,7 @@
                 Object value = this.monitor.getAttribute(name,
                         "ds-backend-entry-count");
                 if (value != null && value instanceof String) {
-                    result = result + new Long((String) value);
+                    result = result + Long.valueOf((String) value);
                 }else if (value != null && value instanceof Long) {
                     result = result + (Long)value;
                 }
diff --git a/opendj-server-legacy/src/snmp/src/org/opends/server/snmp/SNMPMonitor.java b/opendj-server-legacy/src/snmp/src/org/opends/server/snmp/SNMPMonitor.java
index 42dc7be..98bbe5f 100644
--- a/opendj-server-legacy/src/snmp/src/org/opends/server/snmp/SNMPMonitor.java
+++ b/opendj-server-legacy/src/snmp/src/org/opends/server/snmp/SNMPMonitor.java
@@ -319,7 +319,7 @@
     Byte[] barray = new Byte[b.length];
     for (int index = 0; index < b.length; index++)
     {
-      barray[index] = new Byte(b[index]);
+      barray[index] = Byte.valueOf(b[index]);
     }
     return barray;
   }
@@ -355,7 +355,7 @@
     long v = V.longValue();
     if (v > (pow(2, 32) - 1))
     {
-      return new Long(v % pow(2, 32));
+      return Long.valueOf(v % pow(2, 32));
     }
     else
     {
@@ -394,7 +394,7 @@
     long v = V.longValue();
     if (v > (pow(2, 32) - 1))
     {
-      return new Long(pow(2, 32) - 1);
+      return Long.valueOf(pow(2, 32) - 1);
     }
     else
     {
@@ -418,7 +418,7 @@
     {
       throw new SnmpStatusException("Returned intrumented value size too big");
     }
-    Integer ret = new Integer(V.intValue());
+    Integer ret = Integer.valueOf(V.intValue());
     return ret;
   }
 

--
Gitblit v1.10.0