diff --git a/OpenICF-csvfile-connector/src/main/java/org/forgerock/openicf/csvfile/CSVFileConnector.java b/OpenICF-csvfile-connector/src/main/java/org/forgerock/openicf/csvfile/CSVFileConnector.java index f0a2b0a2..c8d7c24f 100644 --- a/OpenICF-csvfile-connector/src/main/java/org/forgerock/openicf/csvfile/CSVFileConnector.java +++ b/OpenICF-csvfile-connector/src/main/java/org/forgerock/openicf/csvfile/CSVFileConnector.java @@ -14,6 +14,7 @@ * Copyright 2015-2016 ForgeRock AS * Portions Copyright 2011 Viliam Repan * Portions Copyright 2011 Radovan Semancik + * Portions Copyright 2026 3A Systems, LLC. */ package org.forgerock.openicf.csvfile; @@ -1189,7 +1190,7 @@ private CellProcessor[] getProcessors(String[] header) { return processors; } - private class OptionalTrim extends CellProcessorAdaptor implements BoolCellProcessor, DateCellProcessor, DoubleCellProcessor, + private static class OptionalTrim extends CellProcessorAdaptor implements BoolCellProcessor, DateCellProcessor, DoubleCellProcessor, LongCellProcessor, StringCellProcessor { /** diff --git a/OpenICF-dbcommon/src/main/java/org/identityconnectors/dbcommon/SQLUtil.java b/OpenICF-dbcommon/src/main/java/org/identityconnectors/dbcommon/SQLUtil.java index 6aef2ed8..b3014a06 100644 --- a/OpenICF-dbcommon/src/main/java/org/identityconnectors/dbcommon/SQLUtil.java +++ b/OpenICF-dbcommon/src/main/java/org/identityconnectors/dbcommon/SQLUtil.java @@ -245,7 +245,6 @@ public void access(char[] clearChars) { public static Connection getDriverMangerConnection(final String driver, final String url, final Properties properties) { // create the connection base on the configuration.. - Connection[] ret = new Connection[1]; try { // load the driver class.. Class.forName(driver); diff --git a/OpenICF-groovy-connector/src/main/java/org/forgerock/openicf/misc/crest/AbstractRemoteConnection.java b/OpenICF-groovy-connector/src/main/java/org/forgerock/openicf/misc/crest/AbstractRemoteConnection.java index 2c4e38cf..370a2e08 100644 --- a/OpenICF-groovy-connector/src/main/java/org/forgerock/openicf/misc/crest/AbstractRemoteConnection.java +++ b/OpenICF-groovy-connector/src/main/java/org/forgerock/openicf/misc/crest/AbstractRemoteConnection.java @@ -533,7 +533,7 @@ private Promise handleRequestAsync(final Co } } - class InternalFutureCallback implements FutureCallback { + static class InternalFutureCallback implements FutureCallback { final PromiseImpl promise; public InternalFutureCallback(PromiseImpl promise) { diff --git a/OpenICF-java-framework/connector-framework-contract/src/main/java/org/identityconnectors/contract/test/UpdateApiOpTests.java b/OpenICF-java-framework/connector-framework-contract/src/main/java/org/identityconnectors/contract/test/UpdateApiOpTests.java index b2b13f71..8bbf54f7 100644 --- a/OpenICF-java-framework/connector-framework-contract/src/main/java/org/identityconnectors/contract/test/UpdateApiOpTests.java +++ b/OpenICF-java-framework/connector-framework-contract/src/main/java/org/identityconnectors/contract/test/UpdateApiOpTests.java @@ -230,9 +230,6 @@ public void testUpdateToNull(ObjectClass objectClass) { getObjectClassInfo(objectClass), getTestName(), 2, getOperationOptionsByOp(objectClass, CreateApiOp.class)); assertNotNull(uid,"Create returned null Uid."); - ConnectorObject originalObject = getConnectorFacade().getObject(objectClass, uid, - getOperationOptionsByOp(objectClass, GetApiOp.class)); - Collection skippedAttributesForUpdateToNullValue = getSkippedAttributesForUpdateToNullValue(); for (AttributeInfo attInfo : getObjectClassInfo(objectClass).getAttributeInfo()) { if (attInfo.isUpdateable() && !attInfo.isRequired() && !AttributeUtil.isSpecial(attInfo) && !attInfo.getType().isPrimitive()) { diff --git a/OpenICF-java-framework/connector-framework-server/src/main/java/org/forgerock/openicf/framework/async/impl/ConnectorEventSubscriptionApiOpImpl.java b/OpenICF-java-framework/connector-framework-server/src/main/java/org/forgerock/openicf/framework/async/impl/ConnectorEventSubscriptionApiOpImpl.java index 0b731297..d2600de4 100644 --- a/OpenICF-java-framework/connector-framework-server/src/main/java/org/forgerock/openicf/framework/async/impl/ConnectorEventSubscriptionApiOpImpl.java +++ b/OpenICF-java-framework/connector-framework-server/src/main/java/org/forgerock/openicf/framework/async/impl/ConnectorEventSubscriptionApiOpImpl.java @@ -128,7 +128,7 @@ public Promise trySubscribe(final ObjectClass objectClas .setConnectorEventSubscriptionOpRequest(requestBuilder), handler)); } - private class InternalRequestFactory extends + private static class InternalRequestFactory extends AbstractRemoteOperationRequestFactory { private final OperationRequest.Builder operationRequest; final Observer handler; diff --git a/OpenICF-java-framework/connector-framework-server/src/main/java/org/forgerock/openicf/framework/client/ClientRemoteConnectorInfoManager.java b/OpenICF-java-framework/connector-framework-server/src/main/java/org/forgerock/openicf/framework/client/ClientRemoteConnectorInfoManager.java index 286ab681..a4e75334 100644 --- a/OpenICF-java-framework/connector-framework-server/src/main/java/org/forgerock/openicf/framework/client/ClientRemoteConnectorInfoManager.java +++ b/OpenICF-java-framework/connector-framework-server/src/main/java/org/forgerock/openicf/framework/client/ClientRemoteConnectorInfoManager.java @@ -161,8 +161,8 @@ protected void preConfigure(final Connection conn) { final ICFWebSocket socket = new ICFWebSocket(protocolHandler, getOperationMessageListener()); final WebSocketHolder holder = WebSocketHolder.set(conn, protocolHandler, socket); - final RemoteConnectionContext context = - new RemoteConnectionContext(conn, connectionInfo); + // The constructor registers itself on the connection (RemoteConnectionContext.set()). + new RemoteConnectionContext(conn, connectionInfo); holder.handshake = protocolHandler.createClientHandShake(connectionInfo.getRemoteURI()); diff --git a/OpenICF-java-framework/connector-framework-server/src/main/java/org/forgerock/openicf/framework/client/ConnectionManager.java b/OpenICF-java-framework/connector-framework-server/src/main/java/org/forgerock/openicf/framework/client/ConnectionManager.java index 9737418a..311d1272 100644 --- a/OpenICF-java-framework/connector-framework-server/src/main/java/org/forgerock/openicf/framework/client/ConnectionManager.java +++ b/OpenICF-java-framework/connector-framework-server/src/main/java/org/forgerock/openicf/framework/client/ConnectionManager.java @@ -11,6 +11,7 @@ * See the Apache License Version 2.0 for the specific language governing permissions and limitations there under. * ==================== * Portions Copyrighted 2015 ForgeRock AS. + * Portions Copyrighted 2026 3A Systems LLC. */ /** @@ -167,9 +168,6 @@ protected void doClose() { } registry.clear(); - for (WebSocketConnectionGroup group : connectionGroups.values()) { - // group.close(); - } connectionGroups.clear(); clientTransport.shutdownNow(); diff --git a/OpenICF-java-framework/connector-framework-server/src/main/java/org/forgerock/openicf/framework/remote/OpenICFServerAdapter.java b/OpenICF-java-framework/connector-framework-server/src/main/java/org/forgerock/openicf/framework/remote/OpenICFServerAdapter.java index 3c3a5ea7..8a3db073 100644 --- a/OpenICF-java-framework/connector-framework-server/src/main/java/org/forgerock/openicf/framework/remote/OpenICFServerAdapter.java +++ b/OpenICF-java-framework/connector-framework-server/src/main/java/org/forgerock/openicf/framework/remote/OpenICFServerAdapter.java @@ -265,7 +265,7 @@ public void onPing(WebSocketConnectionHolder socket, byte[] bytes) { // Nothing to do, pong response has been sent logger.info("{0} onPing()", loggerName()); try { - RPCMessages.PingMessage message = RPCMessages.PingMessage.parseFrom(bytes); + RPCMessages.PingMessage.parseFrom(bytes); } catch (InvalidProtocolBufferException e) { logger.warn(e, "{0} failed parse message", loggerName()); } @@ -276,7 +276,7 @@ public void onPong(WebSocketConnectionHolder socket, byte[] bytes) { // Confirm ping response! logger.info("{0} onPong()", loggerName()); try { - RPCMessages.PingMessage message = RPCMessages.PingMessage.parseFrom(bytes); + RPCMessages.PingMessage.parseFrom(bytes); } catch (InvalidProtocolBufferException e) { logger.warn(e, "{0} failed parse message", loggerName()); } diff --git a/OpenICF-java-framework/connector-server-grizzly/src/main/java/org/forgerock/openicf/framework/server/Main.java b/OpenICF-java-framework/connector-server-grizzly/src/main/java/org/forgerock/openicf/framework/server/Main.java index c872cdcc..849f2a06 100644 --- a/OpenICF-java-framework/connector-server-grizzly/src/main/java/org/forgerock/openicf/framework/server/Main.java +++ b/OpenICF-java-framework/connector-server-grizzly/src/main/java/org/forgerock/openicf/framework/server/Main.java @@ -20,6 +20,7 @@ * "Portions Copyrighted [year] [name of copyright owner]" * ==================== * Portions Copyrighted 2015-2016 ForgeRock AS. + * Portions Copyrighted 2026 3A Systems LLC. */ package org.forgerock.openicf.framework.server; @@ -193,7 +194,6 @@ private static void loadProperties(Properties properties) throws Exception { String useSSLStr = properties.getProperty(PROP_SSL); String ifAddress = properties.getProperty(PROP_IFADDRESS); String keyHash = properties.getProperty(PROP_KEY); - String facadeLifeTime = properties.getProperty(PROP_FACADE_LIFETIME); String loggerClass = properties.getProperty(PROP_LOGGER_CLASS); String url = properties.getProperty(PROP_REMOTE_URL); diff --git a/OpenICF-java-framework/testbundlev1/src/main/java/org/identityconnectors/testconnector/TstAbstractConnector.java b/OpenICF-java-framework/testbundlev1/src/main/java/org/identityconnectors/testconnector/TstAbstractConnector.java index 5508b468..295d4ff7 100755 --- a/OpenICF-java-framework/testbundlev1/src/main/java/org/identityconnectors/testconnector/TstAbstractConnector.java +++ b/OpenICF-java-framework/testbundlev1/src/main/java/org/identityconnectors/testconnector/TstAbstractConnector.java @@ -20,6 +20,8 @@ * with the fields enclosed by brackets [] replaced by * your own identifying information: * "Portions Copyrighted [year] [name of copyright owner]" + * + * Portions Copyrighted 2026 3A Systems LLC. */ package org.identityconnectors.testconnector; @@ -803,7 +805,7 @@ public void run() { * Simulated Use Case 3: execute returns a batch token immediately and processes results in a separate thread. * No need to call queryBatch() unless the caller is interrupted and needs to reestablish the connection. */ - private class BatchUseCase3Processor extends Thread { + private static class BatchUseCase3Processor extends Thread { private OperationOptions options; private Observer observer; private BatchToken token; diff --git a/OpenICF-java-framework/testbundlev1/src/main/java/org/identityconnectors/testconnector/TstConnector.java b/OpenICF-java-framework/testbundlev1/src/main/java/org/identityconnectors/testconnector/TstConnector.java index c906d729..163328cc 100644 --- a/OpenICF-java-framework/testbundlev1/src/main/java/org/identityconnectors/testconnector/TstConnector.java +++ b/OpenICF-java-framework/testbundlev1/src/main/java/org/identityconnectors/testconnector/TstConnector.java @@ -20,6 +20,7 @@ * "Portions Copyrighted [year] [name of copyright owner]" * ==================== * Portions Copyrighted 2010-2013 ForgeRock AS. + * Portions Copyrighted 2026 3A Systems LLC. */ package org.identityconnectors.testconnector; @@ -366,7 +367,7 @@ public Object getReturnValue() { return ret; } - private class BatchUseCase2Processor extends Thread { + private static class BatchUseCase2Processor extends Thread { private OperationOptions options; private String token; diff --git a/OpenICF-ldap-connector/src/main/java/org/identityconnectors/ldap/AppendingAttributes.java b/OpenICF-ldap-connector/src/main/java/org/identityconnectors/ldap/AppendingAttributes.java index f78f8b2e..d673009e 100644 --- a/OpenICF-ldap-connector/src/main/java/org/identityconnectors/ldap/AppendingAttributes.java +++ b/OpenICF-ldap-connector/src/main/java/org/identityconnectors/ldap/AppendingAttributes.java @@ -19,6 +19,8 @@ * enclosed by brackets [] replaced by your own identifying information: * "Portions Copyrighted [year] [name of copyright owner]" * ==================== + * + * Portions Copyrighted 2026 3A Systems LLC. */ package org.identityconnectors.ldap; @@ -112,7 +114,7 @@ public final int size() { return size; } - private abstract class AppendingEnumeration implements NamingEnumeration { + private abstract static class AppendingEnumeration implements NamingEnumeration { private final NamingEnumeration delegate; private Enumeration remainingValues; diff --git a/OpenICF-ldap-connector/src/main/java/org/identityconnectors/ldap/LdapConnection.java b/OpenICF-ldap-connector/src/main/java/org/identityconnectors/ldap/LdapConnection.java index 17bb2181..86b6d186 100644 --- a/OpenICF-ldap-connector/src/main/java/org/identityconnectors/ldap/LdapConnection.java +++ b/OpenICF-ldap-connector/src/main/java/org/identityconnectors/ldap/LdapConnection.java @@ -21,6 +21,7 @@ * ==================== * * Portions Copyrighted 2013-2016 ForgeRock AS + * Portions Copyrighted 2026 3A Systems LLC */ package org.identityconnectors.ldap; @@ -159,7 +160,6 @@ private Hashtable getDefaultContextEnv(){ } private LdapContext getAnonymousContext() throws NamingException { - InitialLdapContext ctx = null; return new InitialLdapContext(getDefaultContextEnv(), null); } diff --git a/OpenICF-ldap-connector/src/main/java/org/identityconnectors/ldap/search/VlvIndexSearchStrategy.java b/OpenICF-ldap-connector/src/main/java/org/identityconnectors/ldap/search/VlvIndexSearchStrategy.java index fff1de0d..34112177 100644 --- a/OpenICF-ldap-connector/src/main/java/org/identityconnectors/ldap/search/VlvIndexSearchStrategy.java +++ b/OpenICF-ldap-connector/src/main/java/org/identityconnectors/ldap/search/VlvIndexSearchStrategy.java @@ -21,6 +21,7 @@ * ==================== * * "Portions Copyrighted 2013-2015 ForgeRock AS" + * "Portions Copyrighted 2026 3A Systems LLC" */ package org.identityconnectors.ldap.search; @@ -190,7 +191,7 @@ private void processResponseControls(Control[] controls) throws NamingException try { reader.readStartSequence(); - final int offset = (int) reader.readInteger(); + reader.readInteger(); // offset, not used by this strategy lastListSize = (int) reader.readInteger(); getLog().ok("Response control: lastListSize = {0}", lastListSize);