From 4bba57225bdd211d9ca8129ba7ef7a3883069a53 Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Tue, 04 Aug 2026 11:48:44 +0000
Subject: [PATCH] Fix CodeQL note-severity alerts: uncaught NumberFormatException in the examples (#831)
---
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SearchBind.java | 5 +
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SimpleAuth.java | 4
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SearchAsync.java | 5 +
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UpdateGroup.java | 5 +
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Proxy.java | 5
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Controls.java | 5 +
opendj-embedded-server-examples/src/main/java/org/forgerock/opendj/examples/ConfigureServer.java | 19 ++++
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/GetADChangeNotifications.java | 5 +
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Server.java | 3
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UseSchemaAsync.java | 5 +
opendj-embedded-server-examples/src/main/java/org/forgerock/opendj/examples/SetupServer.java | 23 +++++
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ShortLife.java | 5 +
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/GetInfo.java | 5 +
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ParseAttributes.java | 5 +
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UseGenericControl.java | 5 +
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ReadSchema.java | 5 +
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ModifyAsync.java | 4
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/RewriterProxy.java | 6 +
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UpdateGroupAsync.java | 5 +
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SimpleAuthAsync.java | 8 +
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ExampleUtils.java | 47 +++++++++++
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ExtendedOperations.java | 5 +
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UseSchema.java | 5 +
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Search.java | 5 +
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/PasswordResetForAD.java | 4
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SASLAuth.java | 6 +
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Modify.java | 5 +
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ShortLifeAsync.java | 5 +
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SearchBindAsync.java | 5 +
29 files changed, 184 insertions(+), 35 deletions(-)
diff --git a/opendj-embedded-server-examples/src/main/java/org/forgerock/opendj/examples/ConfigureServer.java b/opendj-embedded-server-examples/src/main/java/org/forgerock/opendj/examples/ConfigureServer.java
index 8b39844..9084d1f 100644
--- a/opendj-embedded-server-examples/src/main/java/org/forgerock/opendj/examples/ConfigureServer.java
+++ b/opendj-embedded-server-examples/src/main/java/org/forgerock/opendj/examples/ConfigureServer.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.forgerock.opendj.examples;
@@ -55,7 +56,7 @@
}
final String serverRootDir = args[0];
final String newBaseDn = args[1];
- final int ldapPort = args.length > 2 ? Integer.parseInt(args[2]) : 1500;
+ final int ldapPort = args.length > 2 ? parsePort(args[2]) : 1500;
EmbeddedDirectoryServer server =
manageEmbeddedDirectoryServer(
@@ -82,6 +83,22 @@
}
}
+ /**
+ * Returns the port number held by the provided command line argument.
+ * <p>
+ * Like the other command line argument checks of this example, a value which is not a port
+ * number is reported on standard error and stops the example.
+ */
+ private static int parsePort(final String arg) {
+ try {
+ return Integer.parseInt(arg);
+ } catch (final NumberFormatException e) {
+ System.err.println("Invalid port number: " + arg);
+ System.exit(1);
+ return -1; // Never reached: System.exit() does not return.
+ }
+ }
+
private ConfigureServer() {
// Not used.
}
diff --git a/opendj-embedded-server-examples/src/main/java/org/forgerock/opendj/examples/SetupServer.java b/opendj-embedded-server-examples/src/main/java/org/forgerock/opendj/examples/SetupServer.java
index 2e8cdde..8617251 100644
--- a/opendj-embedded-server-examples/src/main/java/org/forgerock/opendj/examples/SetupServer.java
+++ b/opendj-embedded-server-examples/src/main/java/org/forgerock/opendj/examples/SetupServer.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.forgerock.opendj.examples;
@@ -61,9 +62,9 @@
final String serverRootDir = args[i++];
final String baseDn = (args.length > i) ? args[i++] : "o=example";
final String backendType = (args.length > i) ? args[i++] : "pdb";
- final int ldapPort = (args.length > i) ? Integer.parseInt(args[i++]) : 1500;
- final int adminPort = (args.length > i) ? Integer.parseInt(args[i++]) : 4500;
- final int jmxPort = (args.length > i) ? Integer.parseInt(args[i++]) : 1600;
+ final int ldapPort = (args.length > i) ? parsePort(args[i++]) : 1500;
+ final int adminPort = (args.length > i) ? parsePort(args[i++]) : 4500;
+ final int jmxPort = (args.length > i) ? parsePort(args[i++]) : 1600;
performSetup(openDJArchive, serverRootDir, baseDn, backendType, ldapPort, adminPort, jmxPort);
}
@@ -94,6 +95,22 @@
.jmxPort(jmxPort));
}
+ /**
+ * Returns the port number held by the provided command line argument.
+ * <p>
+ * Like the other command line argument checks of this example, a value which is not a port
+ * number is reported on standard error and stops the example.
+ */
+ private static int parsePort(final String arg) {
+ try {
+ return Integer.parseInt(arg);
+ } catch (final NumberFormatException e) {
+ System.err.println("Invalid port number: " + arg);
+ System.exit(1);
+ return -1; // Never reached: System.exit() does not return.
+ }
+ }
+
private SetupServer() {
// Not used.
}
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Controls.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Controls.java
index e8cac57..324b1c3 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Controls.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Controls.java
@@ -12,10 +12,13 @@
* information: "Portions Copyright [year] [name of copyright owner]".
*
* Copyright 2012-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
+
import java.io.IOException;
import java.util.Collection;
@@ -100,7 +103,7 @@
System.exit(1);
}
final String host = args[0];
- final int port = Integer.parseInt(args[1]);
+ final int port = parsePort(args[1]);
final LDAPConnectionFactory factory = new LDAPConnectionFactory(host, port);
try (Connection connection = factory.getConnection()) {
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ExampleUtils.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ExampleUtils.java
new file mode 100644
index 0000000..9559472
--- /dev/null
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ExampleUtils.java
@@ -0,0 +1,47 @@
+/*
+ * The contents of this file are subject to the terms of the Common Development and
+ * Distribution License (the License). You may not use this file except in compliance with the
+ * License.
+ *
+ * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
+ * specific language governing permission and limitations under the License.
+ *
+ * When distributing Covered Software, include this CDDL Header Notice in each file and include
+ * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
+ * Header, with the fields enclosed by brackets [] replaced by your own identifying
+ * information: "Portions copyright [year] [name of copyright owner]".
+ *
+ * Copyright 2026 3A Systems, LLC.
+ */
+package org.forgerock.opendj.examples;
+
+import org.forgerock.opendj.ldap.ResultCode;
+
+/** Utility methods shared by the example client applications. */
+final class ExampleUtils {
+
+ /**
+ * Returns the port number held by the provided command line argument.
+ * <p>
+ * Like the other command line argument checks of the examples, a value which is not a port
+ * number is reported on standard error and stops the example, rather than failing it with a
+ * {@code NumberFormatException} stack trace.
+ *
+ * @param arg
+ * The command line argument holding the port number.
+ * @return The port number held by the provided argument.
+ */
+ static int parsePort(final String arg) {
+ try {
+ return Integer.parseInt(arg);
+ } catch (final NumberFormatException e) {
+ System.err.println("Invalid port number: " + arg);
+ System.exit(ResultCode.CLIENT_SIDE_PARAM_ERROR.intValue());
+ return -1; // Never reached: System.exit() does not return.
+ }
+ }
+
+ private ExampleUtils() {
+ // Prevent instantiation.
+ }
+}
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ExtendedOperations.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ExtendedOperations.java
index 152a76a..a66e78b 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ExtendedOperations.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ExtendedOperations.java
@@ -12,10 +12,13 @@
* information: "Portions Copyright [year] [name of copyright owner]".
*
* Copyright 2012-2014 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
+
import java.util.Collection;
import org.forgerock.opendj.ldap.Connection;
@@ -55,7 +58,7 @@
System.exit(1);
}
final String host = args[0];
- final int port = Integer.parseInt(args[1]);
+ final int port = parsePort(args[1]);
final LDAPConnectionFactory factory = new LDAPConnectionFactory(host, port);
Connection connection = null;
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/GetADChangeNotifications.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/GetADChangeNotifications.java
index ef5abb5..509f6ce 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/GetADChangeNotifications.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/GetADChangeNotifications.java
@@ -13,10 +13,13 @@
*
* Copyright 2009-2010 Sun Microsystems, Inc.
* Portions Copyright 2011-2015 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
+
import java.io.IOException;
import org.forgerock.opendj.ldap.Connection;
@@ -66,7 +69,7 @@
// Parse command line arguments.
final String hostName = args[0];
- final int port = Integer.parseInt(args[1]);
+ final int port = parsePort(args[1]);
final String userName = args[2];
final String password = args[3];
final String baseDN = args[4];
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/GetInfo.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/GetInfo.java
index 057b721..6f64807 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/GetInfo.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/GetInfo.java
@@ -12,9 +12,12 @@
* information: "Portions Copyright [year] [name of copyright owner]".
*
* Copyright 2012-2014 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
+
import java.io.IOException;
import org.forgerock.opendj.ldap.Connection;
@@ -113,7 +116,7 @@
}
host = args[0];
- port = Integer.parseInt(args[1]);
+ port = parsePort(args[1]);
infoType = args[2];
final String infoTypeLc = infoType.toLowerCase();
if (!"all".equals(infoTypeLc)
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Modify.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Modify.java
index a5d7174..c36f744 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Modify.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Modify.java
@@ -13,10 +13,13 @@
*
* Copyright 2009-2010 Sun Microsystems, Inc.
* Portions Copyright 2011-2015 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
+
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
@@ -57,7 +60,7 @@
// Parse command line arguments.
final String hostName = args[0];
- final int port = Integer.parseInt(args[1]);
+ final int port = parsePort(args[1]);
final String userName = args[2];
final String password = args[3];
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ModifyAsync.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ModifyAsync.java
index d3c7e8d..4e86673 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ModifyAsync.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ModifyAsync.java
@@ -17,7 +17,9 @@
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
import static org.forgerock.util.Utils.closeSilently;
+
import org.forgerock.opendj.ldap.Connection;
import org.forgerock.opendj.ldap.LDAPConnectionFactory;
import org.forgerock.opendj.ldap.LdapException;
@@ -75,7 +77,7 @@
// Parse command line arguments.
final String hostName = args[0];
- final int port = Integer.parseInt(args[1]);
+ final int port = parsePort(args[1]);
final String userName = args[2];
final char[] password = args[3].toCharArray();
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ParseAttributes.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ParseAttributes.java
index 93ad61b..aba3ed4 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ParseAttributes.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ParseAttributes.java
@@ -12,10 +12,13 @@
* information: "Portions Copyright [year] [name of copyright owner]".
*
* Copyright 2012-2014 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
+
import java.io.IOException;
import java.util.Calendar;
import java.util.Set;
@@ -57,7 +60,7 @@
System.exit(1);
}
final String host = args[0];
- final int port = Integer.parseInt(args[1]);
+ final int port = parsePort(args[1]);
// --- JCite ---
final LDAPConnectionFactory factory = new LDAPConnectionFactory(host, port);
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/PasswordResetForAD.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/PasswordResetForAD.java
index deb6d05..f163df7 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/PasswordResetForAD.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/PasswordResetForAD.java
@@ -12,10 +12,12 @@
* information: "Portions Copyright [year] [name of copyright owner]".
*
* Copyright 2013-2015 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
import static org.forgerock.opendj.ldap.LDAPConnectionFactory.*;
import org.forgerock.opendj.ldap.Connection;
@@ -67,7 +69,7 @@
System.exit(1);
}
final String host = args[0];
- final int port = Integer.parseInt(args[1]);
+ final int port = parsePort(args[1]);
final String mode = args[2];
final String bindDN = args[3];
final String bindPassword = args[4];
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Proxy.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Proxy.java
index 2b076bf..9c7275e 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Proxy.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Proxy.java
@@ -18,6 +18,7 @@
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
import static org.forgerock.opendj.ldap.LDAPConnectionFactory.*;
import static org.forgerock.opendj.ldap.LDAPListener.*;
import static org.forgerock.opendj.ldap.requests.Requests.newSimpleBindRequest;
@@ -91,7 +92,7 @@
}
final String localAddress = args[i++];
- final int localPort = Integer.parseInt(args[i++]);
+ final int localPort = parsePort(args[i++]);
final String proxyDN = args[i++];
final String proxyPassword = args[i++];
@@ -109,7 +110,7 @@
for (; i < args.length; i += 2) {
final String remoteAddress = args[i];
- final int remotePort = Integer.parseInt(args[i + 1]);
+ final int remotePort = parsePort(args[i + 1]);
factories.add(Connections.newCachedConnectionPool(new LDAPConnectionFactory(remoteAddress,
remotePort,
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ReadSchema.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ReadSchema.java
index 47a6129..a427f08 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ReadSchema.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ReadSchema.java
@@ -13,10 +13,13 @@
*
* Copyright 2009-2010 Sun Microsystems, Inc.
* Portions Copyright 2011-2015 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
+
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.opendj.ldap.Connection;
import org.forgerock.opendj.ldap.DN;
@@ -52,7 +55,7 @@
// Parse command line arguments.
final String hostName = args[0];
- final int port = Integer.parseInt(args[1]);
+ final int port = parsePort(args[1]);
final String userName = args[2];
final String password = args[3];
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/RewriterProxy.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/RewriterProxy.java
index 65ae330..9133786 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/RewriterProxy.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/RewriterProxy.java
@@ -13,10 +13,12 @@
*
* Copyright 2009-2010 Sun Microsystems, Inc.
* Portions Copyright 2011-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
import static org.forgerock.opendj.ldap.Connections.newCachedConnectionPool;
import static org.forgerock.opendj.ldap.LDAPListener.*;
import static org.forgerock.opendj.ldap.requests.Requests.newSimpleBindRequest;
@@ -384,11 +386,11 @@
}
final String localAddress = args[0];
- final int localPort = Integer.parseInt(args[1]);
+ final int localPort = parsePort(args[1]);
final String proxyDN = args[2];
final String proxyPassword = args[3];
final String remoteAddress = args[4];
- final int remotePort = Integer.parseInt(args[5]);
+ final int remotePort = parsePort(args[5]);
// Create connection factories.
final Options factoryOptions = Options.defaultOptions()
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SASLAuth.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SASLAuth.java
index ea4c563..dd748af 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SASLAuth.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SASLAuth.java
@@ -12,6 +12,7 @@
* information: "Portions Copyright [year] [name of copyright owner]".
*
* Copyright 2011-2015 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
/**
@@ -22,8 +23,9 @@
*/
package org.forgerock.opendj.examples;
-import static org.forgerock.opendj.ldap.LDAPConnectionFactory.SSL_USE_STARTTLS;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
import static org.forgerock.opendj.ldap.LDAPConnectionFactory.SSL_CONTEXT;
+import static org.forgerock.opendj.ldap.LDAPConnectionFactory.SSL_USE_STARTTLS;
import java.security.GeneralSecurityException;
@@ -141,7 +143,7 @@
}
host = args[0];
- port = Integer.parseInt(args[1]);
+ port = parsePort(args[1]);
if (args.length == 5) {
authzid = args[2];
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Search.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Search.java
index da511b4..a8e46df 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Search.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Search.java
@@ -13,10 +13,13 @@
*
* Copyright 2009-2010 Sun Microsystems, Inc.
* Portions Copyright 2011-2015 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
+
import java.io.IOException;
import java.util.Arrays;
@@ -57,7 +60,7 @@
// Parse command line arguments.
final String hostName = args[0];
- final int port = Integer.parseInt(args[1]);
+ final int port = parsePort(args[1]);
final String userName = args[2];
final String password = args[3];
final String baseDN = args[4];
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SearchAsync.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SearchAsync.java
index 9d52a64..6102af0 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SearchAsync.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SearchAsync.java
@@ -12,9 +12,12 @@
* information: "Portions Copyright [year] [name of copyright owner]".
*
* Copyright 2015-2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
+
import java.io.IOException;
import java.util.Arrays;
import java.util.concurrent.CountDownLatch;
@@ -141,7 +144,7 @@
// Parse command line arguments.
final String hostName = args[0];
- final int port = Integer.parseInt(args[1]);
+ final int port = parsePort(args[1]);
userName = args[2];
password = args[3];
baseDN = args[4];
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SearchBind.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SearchBind.java
index 75bfd78..32c14df 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SearchBind.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SearchBind.java
@@ -12,10 +12,13 @@
* information: "Portions Copyright [year] [name of copyright owner]".
*
* Copyright 2012-2015 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
+
import java.io.Console;
import org.forgerock.opendj.ldap.Connection;
@@ -53,7 +56,7 @@
System.exit(1);
}
String host = args[0];
- int port = Integer.parseInt(args[1]);
+ int port = parsePort(args[1]);
String baseDN = args[2];
// --- JCite ---
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SearchBindAsync.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SearchBindAsync.java
index 3d59c2c..12e5210 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SearchBindAsync.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SearchBindAsync.java
@@ -12,11 +12,14 @@
* information: "Portions Copyright [year] [name of copyright owner]".
*
* Copyright 2015 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
import static org.forgerock.util.Utils.closeSilently;
+
import org.forgerock.opendj.ldap.Connection;
import org.forgerock.opendj.ldap.Filter;
import org.forgerock.opendj.ldap.LDAPConnectionFactory;
@@ -80,7 +83,7 @@
System.exit(1);
}
final String host = args[0];
- final int port = Integer.parseInt(args[1]);
+ final int port = parsePort(args[1]);
final String baseDn = args[2];
// Prompt for email address and password.
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Server.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Server.java
index f48eda9..3ca33ee 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Server.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Server.java
@@ -18,6 +18,7 @@
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
import static org.forgerock.opendj.ldap.LDAPListener.*;
import java.io.FileInputStream;
@@ -73,7 +74,7 @@
// Parse command line arguments.
final String localAddress = args[0];
- final int localPort = Integer.parseInt(args[1]);
+ final int localPort = parsePort(args[1]);
final String ldifFileName = args[2];
final String keyStoreFileName = (args.length == 6) ? args[3] : null;
final String keyStorePassword = (args.length == 6) ? args[4] : null;
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ShortLife.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ShortLife.java
index 095fb71..99dcecf 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ShortLife.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ShortLife.java
@@ -12,10 +12,13 @@
* information: "Portions Copyright [year] [name of copyright owner]".
*
* Copyright 2012-2015 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
+
import java.io.IOException;
import org.forgerock.opendj.ldap.Connection;
@@ -59,7 +62,7 @@
System.exit(1);
}
String host = args[0];
- int port = Integer.parseInt(args[1]);
+ int port = parsePort(args[1]);
// User credentials of a "Directory Administrators" group member.
// Kirsten Vaughan is authorized to create, update, and delete
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ShortLifeAsync.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ShortLifeAsync.java
index 9a6f257..0ed5ef7 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ShortLifeAsync.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ShortLifeAsync.java
@@ -12,11 +12,14 @@
* information: "Portions Copyright [year] [name of copyright owner]".
*
* Copyright 2015 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
import static org.forgerock.util.Utils.closeSilently;
+
import org.forgerock.opendj.ldap.Connection;
import org.forgerock.opendj.ldap.Entries;
import org.forgerock.opendj.ldap.Entry;
@@ -79,7 +82,7 @@
System.exit(1);
}
final String host = args[0];
- final int port = Integer.parseInt(args[1]);
+ final int port = parsePort(args[1]);
// User credentials of a "Directory Administrators" group member.
// Kirsten Vaughan is authorized to create, update, and delete entries.
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SimpleAuth.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SimpleAuth.java
index df8eb2b..a7d0295 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SimpleAuth.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SimpleAuth.java
@@ -12,10 +12,12 @@
* information: "Portions Copyright [year] [name of copyright owner]".
*
* Copyright 2011-2015 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
import static org.forgerock.opendj.ldap.LDAPConnectionFactory.*;
import java.io.File;
@@ -269,7 +271,7 @@
}
host = args[0];
- port = Integer.parseInt(args[1]);
+ port = parsePort(args[1]);
bindDN = args[2];
bindPassword = args[3];
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SimpleAuthAsync.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SimpleAuthAsync.java
index c9e7963..7bf1d27 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SimpleAuthAsync.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SimpleAuthAsync.java
@@ -12,14 +12,16 @@
* information: "Portions Copyright [year] [name of copyright owner]".
*
* Copyright 2015 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
+import static org.forgerock.opendj.ldap.LDAPConnectionFactory.SSL_CONTEXT;
+import static org.forgerock.opendj.ldap.LDAPConnectionFactory.SSL_USE_STARTTLS;
import static org.forgerock.opendj.ldap.TrustManagers.checkHostName;
import static org.forgerock.util.Utils.closeSilently;
-import static org.forgerock.opendj.ldap.LDAPConnectionFactory.SSL_USE_STARTTLS;
-import static org.forgerock.opendj.ldap.LDAPConnectionFactory.SSL_CONTEXT;
import org.forgerock.opendj.ldap.Connection;
import org.forgerock.opendj.ldap.LDAPConnectionFactory;
@@ -218,7 +220,7 @@
}
host = args[0];
- port = Integer.parseInt(args[1]);
+ port = parsePort(args[1]);
bindDN = args[2];
bindPassword = args[3];
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UpdateGroup.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UpdateGroup.java
index 7ec596f..02c1674 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UpdateGroup.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UpdateGroup.java
@@ -12,10 +12,13 @@
* information: "Portions Copyright [year] [name of copyright owner]".
*
* Copyright 2012-2014 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
+
import java.util.Collection;
import org.forgerock.opendj.ldap.Connection;
@@ -72,7 +75,7 @@
printUsage();
}
final String host = args[0];
- final int port = Integer.parseInt(args[1]);
+ final int port = parsePort(args[1]);
final String groupDN = args[2];
final String memberDN = args[3];
final ModificationType modType = getModificationType(args[4]);
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UpdateGroupAsync.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UpdateGroupAsync.java
index d440d01..514d420 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UpdateGroupAsync.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UpdateGroupAsync.java
@@ -12,10 +12,13 @@
* information: "Portions Copyright [year] [name of copyright owner]".
*
* Copyright 2016 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
import static org.forgerock.util.Utils.closeSilently;
+
import org.forgerock.opendj.ldap.Connection;
import org.forgerock.opendj.ldap.LDAPConnectionFactory;
import org.forgerock.opendj.ldap.LdapException;
@@ -83,7 +86,7 @@
printUsage();
}
final String host = args[0];
- final int port = Integer.parseInt(args[1]);
+ final int port = parsePort(args[1]);
final String groupDn = args[2];
final String memberDn = args[3];
final ModificationType modType = getModificationType(args[4]);
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UseGenericControl.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UseGenericControl.java
index b1a26c2..5a1d110 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UseGenericControl.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UseGenericControl.java
@@ -13,10 +13,13 @@
*
* Copyright 2009-2010 Sun Microsystems, Inc.
* Portions Copyright 2011-2015 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
+
import org.forgerock.opendj.io.ASN1;
import org.forgerock.opendj.io.ASN1Writer;
import org.forgerock.opendj.ldap.ByteStringBuilder;
@@ -68,7 +71,7 @@
// Parse command line arguments.
final String hostName = args[0];
- final int port = Integer.parseInt(args[1]);
+ final int port = parsePort(args[1]);
final String userName = args[2];
final String password = args[3];
final String userDN = args[4];
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UseSchema.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UseSchema.java
index 40d4052..d3d9706 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UseSchema.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UseSchema.java
@@ -12,10 +12,13 @@
* information: "Portions Copyright [year] [name of copyright owner]".
*
* Copyright 2015 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
+
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.opendj.ldap.Connection;
import org.forgerock.opendj.ldap.DN;
@@ -65,7 +68,7 @@
// Parse command line arguments.
final String host = args[0];
- final int port = Integer.parseInt(args[1]);
+ final int port = parsePort(args[1]);
final String bindDn = args[2];
final String bindPassword = args[3];
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UseSchemaAsync.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UseSchemaAsync.java
index c175ba7..30f811d 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UseSchemaAsync.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/UseSchemaAsync.java
@@ -12,11 +12,14 @@
* information: "Portions Copyright [year] [name of copyright owner]".
*
* Copyright 2015 ForgeRock AS.
+ * Portions Copyright 2026 3A Systems, LLC.
*/
package org.forgerock.opendj.examples;
+import static org.forgerock.opendj.examples.ExampleUtils.parsePort;
import static org.forgerock.util.Utils.closeSilently;
+
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.opendj.ldap.Connection;
import org.forgerock.opendj.ldap.DN;
@@ -80,7 +83,7 @@
// Parse command line arguments.
final String host = args[0];
- final int port = Integer.parseInt(args[1]);
+ final int port = parsePort(args[1]);
final String bindDn = args[2];
final char[] bindPassword = args[3].toCharArray();
--
Gitblit v1.10.0