From 92f86826768d4df9eb14367ba07c66af8af9f6b6 Mon Sep 17 00:00:00 2001
From: Gaetan Boismal <gaetan.boismal@forgerock.com>
Date: Mon, 20 Jul 2015 09:18:09 +0000
Subject: [PATCH] OPENDJ-1666 CR-7647 forgerock-util 2.0.0 migration
---
opendj-core/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableModifyRequestImpl.java | 2
opendj-core/src/main/java/org/forgerock/opendj/ldap/Connection.java | 4
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/SearchAsync.java | 26
opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/SimplePagedResultsControl.java | 2
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/CursorTransformer.java | 2
opendj-core/clirr-ignored-api-changes.xml | 113 +++-
opendj-core/src/test/java/org/forgerock/opendj/ldap/AbstractLoadBalancingAlgorithmTestCase.java | 4
opendj-core/src/main/java/org/forgerock/opendj/ldap/AttributeParser.java | 2
opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/PerformanceRunner.java | 8
opendj-server/src/main/java/org/forgerock/opendj/server/core/ExportableDataProvider.java | 4
opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/GrizzlyLDAPConnectionFactory.java | 32
opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/GrizzlyLDAPConnectionFactoryTestCase.java | 24
opendj-core/src/main/java/org/forgerock/opendj/ldif/ConnectionEntryReader.java | 8
opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/ResultLdapPromiseImpl.java | 2
opendj-core/src/main/java/org/forgerock/opendj/ldap/AbstractSynchronousConnection.java | 36
opendj-core/src/main/java/org/forgerock/opendj/ldap/responses/AbstractExtendedResultDecoder.java | 14
opendj-core/src/main/java/org/forgerock/opendj/ldap/RootDSE.java | 4
opendj-core/src/main/java/org/forgerock/opendj/ldap/LdapResultHandler.java | 16
opendj-core/src/main/java/com/forgerock/opendj/util/Iterables.java | 2
opendj-core/src/main/java/org/forgerock/opendj/ldap/MemoryBackend.java | 42
opendj-core/src/main/java/org/forgerock/opendj/ldap/Entries.java | 2
opendj-core/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableAddRequestImpl.java | 2
opendj-server-legacy/src/main/java/org/forgerock/opendj/adapter/server3x/Adapters.java | 2
opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/GrizzlyLDAPListenerTestCase.java | 32
opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/ReferenceAttributeMapper.java | 84 +-
opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/LDAPServerFilter.java | 28
opendj-core/src/test/java/org/forgerock/opendj/ldap/ConnectionPoolTestCase.java | 2
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ID2Count.java | 2
opendj-core/src/main/java/org/forgerock/opendj/ldap/HeartBeatConnectionFactory.java | 52 +-
opendj-core/src/test/java/org/forgerock/opendj/ldap/LDAPServer.java | 34
opendj-core/src/main/java/org/forgerock/opendj/ldap/RequestHandlerFactoryAdapter.java | 66 +-
opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/AbstractLDAPAttributeMapper.java | 2
opendj-core/src/main/java/org/forgerock/opendj/ldap/AbstractLoadBalancingAlgorithm.java | 12
opendj-core/src/main/java/org/forgerock/opendj/ldap/InternalConnectionFactory.java | 2
opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewRequestControl.java | 2
opendj-core/src/main/java/org/forgerock/opendj/ldap/requests/AbstractUnmodifiableRequest.java | 2
opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Context.java | 22
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ProxyBackend.java | 49 +
opendj-server-legacy/src/main/java/org/opends/server/protocols/http/SdkConnectionAdapter.java | 2
opendj-core/src/main/java/com/forgerock/opendj/util/Iterators.java | 2
opendj-core/src/main/java/org/forgerock/opendj/ldap/LoadBalancer.java | 2
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/DN2ID.java | 2
opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/Schema.java | 2
opendj-core/src/main/java/org/forgerock/opendj/ldap/LdapPromise.java | 28
opendj-rest2ldap-servlet/src/main/java/org/forgerock/opendj/rest2ldap/servlet/Rest2LDAPAuthnFilter.java | 37
opendj-rest2ldap/src/test/java/org/forgerock/opendj/rest2ldap/BasicRequestsTest.java | 18
opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/AddRate.java | 19
opendj-core/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableSearchResultEntryImpl.java | 2
opendj-core/src/main/java/org/forgerock/opendj/ldap/AbstractConnection.java | 2
opendj-server/src/main/java/org/forgerock/opendj/server/core/ImportableDataProvider.java | 4
opendj-core/src/test/java/org/forgerock/opendj/ldap/AbstractAsynchronousConnectionTestCase.java | 29
pom.xml | 2
opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/SchemaBuilder.java | 4
opendj-core/src/test/java/org/forgerock/opendj/ldap/HeartBeatConnectionFactoryTestCase.java | 28
opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LdapPromiseImpl.java | 8
opendj-core/src/main/java/org/forgerock/opendj/ldap/CachedConnectionPool.java | 43
opendj-server-legacy/src/main/java/org/opends/server/protocols/http/HTTPClientConnection.java | 6
opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LdapPromiseWrapper.java | 78 +-
opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/ConnectionFactoryTestCase.java | 20
opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/ModRate.java | 6
opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewResponseControl.java | 2
opendj-server-legacy/src/main/java/org/opends/server/types/AttributeParser.java | 2
opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/AuthRate.java | 12
opendj-core/src/test/java/org/forgerock/opendj/ldap/spi/BasicLDAPConnectionFactory.java | 2
opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/RewriterProxy.java | 18
opendj-core/src/main/java/org/forgerock/opendj/ldap/AuthenticatedConnectionFactory.java | 6
opendj-core/src/main/java/org/forgerock/opendj/ldap/Functions.java | 2
opendj-core/src/main/java/org/forgerock/opendj/ldap/responses/ExtendedResultDecoder.java | 6
opendj-server/src/main/java/org/forgerock/opendj/server/core/ArchivableDataProvider.java | 6
opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Utils.java | 2
opendj-core/src/main/java/org/forgerock/opendj/ldap/RequestHandler.java | 18
opendj-core/src/main/java/org/forgerock/opendj/ldap/responses/AbstractUnmodifiableResponseImpl.java | 2
opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/ObjectAttributeMapper.java | 2
opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/SearchRate.java | 2
opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/SimpleAttributeMapper.java | 2
opendj-core/src/main/java/com/forgerock/opendj/util/Collections2.java | 2
opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/LDAPCollectionResourceProvider.java | 200 ++++----
opendj-cli/src/main/java/com/forgerock/opendj/cli/AuthenticatedConnectionFactory.java | 44
opendj-server-legacy/src/main/java/org/opends/server/core/ConfigurationHandler.java | 8
opendj-server-legacy/src/main/java/org/opends/server/protocols/http/CollectClientConnectionsFilter.java | 24
opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LdapPromises.java | 8
opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/GrizzlyLDAPConnectionTestCase.java | 8
82 files changed, 773 insertions(+), 693 deletions(-)
diff --git a/opendj-cli/src/main/java/com/forgerock/opendj/cli/AuthenticatedConnectionFactory.java b/opendj-cli/src/main/java/com/forgerock/opendj/cli/AuthenticatedConnectionFactory.java
index a3013e9..a761491 100644
--- a/opendj-cli/src/main/java/com/forgerock/opendj/cli/AuthenticatedConnectionFactory.java
+++ b/opendj-cli/src/main/java/com/forgerock/opendj/cli/AuthenticatedConnectionFactory.java
@@ -26,24 +26,24 @@
*/
package com.forgerock.opendj.cli;
+import static org.forgerock.util.Utils.*;
+
import java.util.concurrent.atomic.AtomicReference;
import org.forgerock.opendj.ldap.AbstractConnectionWrapper;
import org.forgerock.opendj.ldap.Connection;
import org.forgerock.opendj.ldap.ConnectionFactory;
+import org.forgerock.opendj.ldap.IntermediateResponseHandler;
import org.forgerock.opendj.ldap.LdapException;
import org.forgerock.opendj.ldap.LdapPromise;
-import org.forgerock.opendj.ldap.IntermediateResponseHandler;
import org.forgerock.opendj.ldap.requests.BindRequest;
import org.forgerock.opendj.ldap.responses.BindResult;
+import org.forgerock.util.AsyncFunction;
+import org.forgerock.util.Function;
import org.forgerock.util.Reject;
-import org.forgerock.util.promise.AsyncFunction;
-import org.forgerock.util.promise.FailureHandler;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.promise.ExceptionHandler;
import org.forgerock.util.promise.Promise;
-import org.forgerock.util.promise.SuccessHandler;
-
-import static org.forgerock.util.Utils.*;
+import org.forgerock.util.promise.ResultHandler;
/**
* An authenticated connection factory can be used to create pre-authenticated
* connections to a Directory Server.
@@ -133,21 +133,21 @@
}
return connection.bindAsync(request)
- .onSuccess(new SuccessHandler<BindResult>() {
- @Override
- public void handleResult(final BindResult result) {
- // Save the result.
- AuthenticatedConnection.this.result = result;
- }
- }).onFailure(new FailureHandler<LdapException>() {
- @Override
- public void handleError(final LdapException error) {
- /*
- * This connection is now unauthenticated so prevent further use.
- */
- connection.close();
- }
- });
+ .thenOnResult(new ResultHandler<BindResult>() {
+ @Override
+ public void handleResult(final BindResult result) {
+ // Save the result.
+ AuthenticatedConnection.this.result = result;
+ }
+ }).thenOnException(new ExceptionHandler<LdapException>() {
+ @Override
+ public void handleException(final LdapException exception) {
+ /*
+ * This connection is now unauthenticated so prevent further use.
+ */
+ connection.close();
+ }
+ });
}
/**
diff --git a/opendj-core/clirr-ignored-api-changes.xml b/opendj-core/clirr-ignored-api-changes.xml
index d9410d2..cf07495 100644
--- a/opendj-core/clirr-ignored-api-changes.xml
+++ b/opendj-core/clirr-ignored-api-changes.xml
@@ -43,28 +43,28 @@
Note: waiting on https://jira.codehaus.org/browse/MCLIRR-62 to be resolved to avoid the need to use \s* in the '<to>' tags.
-->
<difference>
- <className>org/forgerock/opendj/ldap/LDAPConnectionFactory</className>
- <differenceType>7002</differenceType>
- <method>LDAPConnectionFactory(java.net.SocketAddress)</method>
- <justification>Moving from inetSocketAddress to host+port constructors</justification>
+ <className>org/forgerock/opendj/ldap/LDAPConnectionFactory</className>
+ <differenceType>7002</differenceType>
+ <method>LDAPConnectionFactory(java.net.SocketAddress)</method>
+ <justification>Moving from inetSocketAddress to host+port constructors</justification>
</difference>
<difference>
- <className>org/forgerock/opendj/ldap/LDAPConnectionFactory</className>
- <differenceType>7002</differenceType>
- <method>LDAPConnectionFactory(java.net.SocketAddress, org.forgerock.opendj.ldap.LDAPOptions)</method>
- <justification>Moving from inetSocketAddress to host+port constructors</justification>
+ <className>org/forgerock/opendj/ldap/LDAPConnectionFactory</className>
+ <differenceType>7002</differenceType>
+ <method>LDAPConnectionFactory(java.net.SocketAddress, org.forgerock.opendj.ldap.LDAPOptions)</method>
+ <justification>Moving from inetSocketAddress to host+port constructors</justification>
</difference>
<difference>
- <className>org/forgerock/opendj/ldap/LDAPConnectionFactory</className>
- <differenceType>7002</differenceType>
- <method>java.net.InetAddress getAddress()</method>
- <justification>Moving from inetSocketAddress to host+port constructors</justification>
+ <className>org/forgerock/opendj/ldap/LDAPConnectionFactory</className>
+ <differenceType>7002</differenceType>
+ <method>java.net.InetAddress getAddress()</method>
+ <justification>Moving from inetSocketAddress to host+port constructors</justification>
</difference>
<difference>
- <className>org/forgerock/opendj/ldap/LDAPConnectionFactory</className>
- <differenceType>7002</differenceType>
- <method>java.net.SocketAddress getSocketAddress()</method>
- <justification>Moving from inetSocketAddress to host+port constructors</justification>
+ <className>org/forgerock/opendj/ldap/LDAPConnectionFactory</className>
+ <differenceType>7002</differenceType>
+ <method>java.net.SocketAddress getSocketAddress()</method>
+ <justification>Moving from inetSocketAddress to host+port constructors</justification>
</difference>
<difference>
@@ -366,15 +366,21 @@
<className>org/forgerock/opendj/ldap/AttributeParser</className>
<differenceType>7005</differenceType>
<method>*as*(org.forgerock.opendj.ldap.Function*)</method>
- <to>*as*(org.forgerock.util.promise.Function*)</to>
- <justification>OPENDJ-1550 Replace SDK Function with Function from forgerock-util</justification>
+ <to>*as*(org.forgerock.util.Function*)</to>
+ <justification>
+ OPENDJ-1550 Replace SDK Function with Function from forgerock-util
+ OPENDJ-1666 Update sdk to forgerock-util 2.0.0
+ </justification>
</difference>
<difference>
<className>org/forgerock/opendj/ldap/Functions</className>
<differenceType>7005</differenceType>
<method>*compose(org.forgerock.opendj.ldap.Function, org.forgerock.opendj.ldap.Function)</method>
- <to>*compose(org.forgerock.util.promise.Function, org.forgerock.util.promise.Function)</to>
- <justification>OPENDJ-1550 Replace SDK Function with Function from forgerock-util</justification>
+ <to>*compose(org.forgerock.util.Function, org.forgerock.util.Function)</to>
+ <justification>
+ OPENDJ-1550 Replace SDK Function with Function from forgerock-util
+ OPENDJ-1666 Update sdk to forgerock-util 2.0.0
+ </justification>
</difference>
<difference>
<className>org/forgerock/opendj/ldap/Functions</className>
@@ -433,11 +439,66 @@
<justification>Lack of startsWith() forced to re-implement it multiple times at different location</justification>
</difference>
<difference>
- <className>org/forgerock/opendj/ldap/ByteString</className>
- <differenceType>7005</differenceType>
- <method>org.forgerock.opendj.ldap.ByteString valueOf(java.lang.String)</method>
- <from>org.forgerock.opendj.ldap.ByteString valueOf(java.lang.String)</from>
- <to>org.forgerock.opendj.ldap.ByteString valueOf(java.lang.CharSequence)</to>
- <justification>Using CharSequence instead of String allows to reduce memory copy.</justification>
+ <className>org/forgerock/opendj/ldap/ByteString</className>
+ <differenceType>7005</differenceType>
+ <method>org.forgerock.opendj.ldap.ByteString valueOf(java.lang.String)</method>
+ <from>org.forgerock.opendj.ldap.ByteString valueOf(java.lang.String)</from>
+ <to>org.forgerock.opendj.ldap.ByteString valueOf(java.lang.CharSequence)</to>
+ <justification>Using CharSequence instead of String allows to reduce memory copy.</justification>
</difference>
+
+ <!-- OPENDJ-1666 Migration to forgerock-util 2.0.0 -->
+ <difference>
+ <className>org/forgerock/opendj/ldap/Functions</className>
+ <differenceType>7006</differenceType>
+ <method>*</method>
+ <to>org.forgerock.util.Function</to>
+ <justification>OPENDJ-1666 Update sdk to forgerock-util 2.0.0</justification>
+ </difference>
+ <difference>
+ <className>org/forgerock/opendj/ldap/LdapResultHandler</className>
+ <differenceType>8000</differenceType>
+ <justification>OPENDJ-1666 Update sdk to forgerock-util 2.0.0</justification>
+ </difference>
+ <difference>
+ <className>%regex[org/forgerock/opendj/ldap/(RequestHandler|MemoryBackend)]</className>
+ <differenceType>7005</differenceType>
+ <method>%regex[(.)* handle*(.)*org\.forgerock\.opendj\.ldap\.ResultHandler(.)*]</method>
+ <to>%regex[(.)* handle*(.)*org\.forgerock\.opendj\.ldap\.LdapResultHandler(.)*]</to>
+ <justification>OPENDJ-1666 Update sdk to forgerock-util 2.0.0</justification>
+ </difference>
+ <difference>
+ <className>%regex[org/forgerock/opendj/ldap/responses/(Abstract)?ExtendedResultDecoder]</className>
+ <differenceType>7006</differenceType>
+ <method>org.forgerock.opendj.ldap.ResultHandler adaptExtendedResultHandler(org.forgerock.opendj.ldap.requests.ExtendedRequest, org.forgerock.opendj.ldap.ResultHandler, org.forgerock.opendj.ldap.DecodeOptions)</method>
+ <to>org.forgerock.opendj.ldap.LdapResultHandler</to>
+ <justification>OPENDJ-1666 Update sdk to forgerock-util 2.0.0</justification>
+ </difference>
+ <difference>
+ <className>%regex[org/forgerock/opendj/ldap/responses/(Abstract)?ExtendedResultDecoder]</className>
+ <differenceType>7005</differenceType>
+ <method>org.forgerock.opendj.ldap.ResultHandler adaptExtendedResultHandler(org.forgerock.opendj.ldap.requests.ExtendedRequest, org.forgerock.opendj.ldap.ResultHandler, org.forgerock.opendj.ldap.DecodeOptions)</method>
+ <to>org.forgerock.opendj.ldap.ResultHandler adaptExtendedResultHandler(org.forgerock.opendj.ldap.requests.ExtendedRequest, org.forgerock.opendj.ldap.LdapResultHandler, org.forgerock.opendj.ldap.DecodeOptions)</to>
+ <justification>OPENDJ-1666 Update sdk to forgerock-util 2.0.0</justification>
+ </difference>
+ <difference>
+ <className>org/forgerock/opendj/ldap/RootDSE</className>
+ <differenceType>7005</differenceType>
+ <method>*readRootDSEAsync(org.forgerock.opendj.ldap.Connection, org.forgerock.opendj.ldap.ResultHandler)</method>
+ <to>*readRootDSEAsync(org.forgerock.opendj.ldap.Connection, org.forgerock.opendj.ldap.LdapResultHandler)</to>
+ <justification>OPENDJ-1666 Update sdk to forgerock-util 2.0.0</justification>
+ </difference>
+ <difference>
+ <className>org/forgerock/opendj/ldap/AuthenticatedConnectionFactory$AuthenticatedConnection</className>
+ <differenceType>7005</differenceType>
+ <method>*bindAsync(org.forgerock.opendj.ldap.requests.BindRequest, org.forgerock.opendj.ldap.IntermediateResponseHandler, org.forgerock.opendj.ldap.ResultHandler)</method>
+ <to>*bindAsync(org.forgerock.opendj.ldap.requests.BindRequest*org.forgerock.opendj.ldap.IntermediateResponseHandler*org.forgerock.opendj.ldap.LdapResultHandler)</to>
+ <justification>OPENDJ-1666 Update sdk to forgerock-util 2.0.0</justification>
+ </difference>
+ <difference>
+ <className>org/forgerock/opendj/ldap/ResultHandler</className>
+ <differenceType>8001</differenceType>
+ <justification>OPENDJ-1666 Update sdk to forgerock-util 2.0.0</justification>
+ </difference>
+
</differences>
diff --git a/opendj-core/src/main/java/com/forgerock/opendj/util/Collections2.java b/opendj-core/src/main/java/com/forgerock/opendj/util/Collections2.java
index d89d95c..ee9b6c6 100644
--- a/opendj-core/src/main/java/com/forgerock/opendj/util/Collections2.java
+++ b/opendj-core/src/main/java/com/forgerock/opendj/util/Collections2.java
@@ -32,7 +32,7 @@
import java.util.List;
import java.util.ListIterator;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.NeverThrowsException;
/**
diff --git a/opendj-core/src/main/java/com/forgerock/opendj/util/Iterables.java b/opendj-core/src/main/java/com/forgerock/opendj/util/Iterables.java
index d92b941..1e90e8c 100644
--- a/opendj-core/src/main/java/com/forgerock/opendj/util/Iterables.java
+++ b/opendj-core/src/main/java/com/forgerock/opendj/util/Iterables.java
@@ -29,7 +29,7 @@
import java.util.Collection;
import java.util.Iterator;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.NeverThrowsException;
/**
diff --git a/opendj-core/src/main/java/com/forgerock/opendj/util/Iterators.java b/opendj-core/src/main/java/com/forgerock/opendj/util/Iterators.java
index 24a3011..a3fd595 100644
--- a/opendj-core/src/main/java/com/forgerock/opendj/util/Iterators.java
+++ b/opendj-core/src/main/java/com/forgerock/opendj/util/Iterators.java
@@ -30,7 +30,7 @@
import java.util.Iterator;
import java.util.NoSuchElementException;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.NeverThrowsException;
/**
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/AbstractConnection.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/AbstractConnection.java
index 9f56c8c..f21e5ac 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/AbstractConnection.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/AbstractConnection.java
@@ -50,7 +50,7 @@
import org.forgerock.opendj.ldif.ChangeRecordVisitor;
import org.forgerock.opendj.ldif.ConnectionEntryReader;
import org.forgerock.util.Reject;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.Function;
import static org.forgerock.opendj.ldap.LdapException.*;
import static org.forgerock.opendj.ldap.requests.Requests.*;
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/AbstractLoadBalancingAlgorithm.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/AbstractLoadBalancingAlgorithm.java
index 2e04549..1e939f4 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/AbstractLoadBalancingAlgorithm.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/AbstractLoadBalancingAlgorithm.java
@@ -37,7 +37,7 @@
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.forgerock.util.Reject;
-import org.forgerock.util.promise.AsyncFunction;
+import org.forgerock.util.AsyncFunction;
import org.forgerock.util.promise.Promise;
import com.forgerock.opendj.util.ReferenceCountedObject;
@@ -57,7 +57,7 @@
*/
abstract class AbstractLoadBalancingAlgorithm implements LoadBalancingAlgorithm {
private final class MonitoredConnectionFactory implements ConnectionFactory,
- ResultHandler<Connection> {
+ LdapResultHandler<Connection> {
private final ConnectionFactory factory;
private final AtomicBoolean isOperational = new AtomicBoolean(true);
@@ -99,7 +99,7 @@
@Override
public Promise<Connection, LdapException> apply(Connection value) throws LdapException {
notifyOnline();
- return newSuccessfulPromise(value);
+ return newResultPromise(value);
}
},
new AsyncFunction<LdapException, Connection, LdapException>() {
@@ -119,8 +119,8 @@
* Handle monitoring connection request failure.
*/
@Override
- public void handleError(final LdapException error) {
- notifyOffline(error);
+ public void handleException(final LdapException exception) {
+ notifyOffline(exception);
}
/**
@@ -145,7 +145,7 @@
private synchronized void checkIfAvailable() {
if (!isOperational.get() && (pendingConnectPromise == null || pendingConnectPromise.isDone())) {
logger.debug(LocalizableMessage.raw("Attempting reconnect to offline factory '%s'", this));
- pendingConnectPromise = factory.getConnectionAsync().onSuccess(this).onFailure(this);
+ pendingConnectPromise = factory.getConnectionAsync().thenOnResult(this).thenOnException(this);
}
}
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/AbstractSynchronousConnection.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/AbstractSynchronousConnection.java
index d8e45a3..6e8f2c4 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/AbstractSynchronousConnection.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/AbstractSynchronousConnection.java
@@ -81,9 +81,9 @@
public LdapPromise<Result> addAsync(final AddRequest request,
final IntermediateResponseHandler intermediateResponseHandler) {
try {
- return onSuccess(add(request));
+ return thenOnResult(add(request));
} catch (final LdapException e) {
- return onFailure(e);
+ return onException(e);
}
}
@@ -91,9 +91,9 @@
public LdapPromise<BindResult> bindAsync(final BindRequest request,
final IntermediateResponseHandler intermediateResponseHandler) {
try {
- return onSuccess(bind(request));
+ return thenOnResult(bind(request));
} catch (final LdapException e) {
- return onFailure(e);
+ return onException(e);
}
}
@@ -101,9 +101,9 @@
public LdapPromise<CompareResult> compareAsync(final CompareRequest request,
final IntermediateResponseHandler intermediateResponseHandler) {
try {
- return onSuccess(compare(request));
+ return thenOnResult(compare(request));
} catch (final LdapException e) {
- return onFailure(e);
+ return onException(e);
}
}
@@ -111,9 +111,9 @@
public LdapPromise<Result> deleteAsync(final DeleteRequest request,
final IntermediateResponseHandler intermediateResponseHandler) {
try {
- return onSuccess(delete(request));
+ return thenOnResult(delete(request));
} catch (final LdapException e) {
- return onFailure(e);
+ return onException(e);
}
}
@@ -121,9 +121,9 @@
public <R extends ExtendedResult> LdapPromise<R> extendedRequestAsync(final ExtendedRequest<R> request,
final IntermediateResponseHandler intermediateResponseHandler) {
try {
- return onSuccess(extendedRequest(request, intermediateResponseHandler));
+ return thenOnResult(extendedRequest(request, intermediateResponseHandler));
} catch (final LdapException e) {
- return onFailure(e);
+ return onException(e);
}
}
@@ -131,9 +131,9 @@
public LdapPromise<Result> modifyAsync(final ModifyRequest request,
final IntermediateResponseHandler intermediateResponseHandler) {
try {
- return onSuccess(modify(request));
+ return thenOnResult(modify(request));
} catch (final LdapException e) {
- return onFailure(e);
+ return onException(e);
}
}
@@ -141,9 +141,9 @@
public LdapPromise<Result> modifyDNAsync(final ModifyDNRequest request,
final IntermediateResponseHandler intermediateResponseHandler) {
try {
- return onSuccess(modifyDN(request));
+ return thenOnResult(modifyDN(request));
} catch (final LdapException e) {
- return onFailure(e);
+ return onException(e);
}
}
@@ -151,17 +151,17 @@
public LdapPromise<Result> searchAsync(final SearchRequest request,
final IntermediateResponseHandler intermediateResponseHandler, final SearchResultHandler entryHandler) {
try {
- return onSuccess(search(request, entryHandler));
+ return thenOnResult(search(request, entryHandler));
} catch (final LdapException e) {
- return onFailure(e);
+ return onException(e);
}
}
- private <R extends Result> LdapPromise<R> onFailure(final LdapException e) {
+ private <R extends Result> LdapPromise<R> onException(final LdapException e) {
return newFailedLdapPromise(e);
}
- private <R extends Result> LdapPromise<R> onSuccess(final R result) {
+ private <R extends Result> LdapPromise<R> thenOnResult(final R result) {
return newSuccessfulLdapPromise(result);
}
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/AttributeParser.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/AttributeParser.java
index 919978f..24aa3a3 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/AttributeParser.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/AttributeParser.java
@@ -33,7 +33,7 @@
import java.util.Set;
import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.NeverThrowsException;
import static com.forgerock.opendj.util.Collections2.*;
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/AuthenticatedConnectionFactory.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/AuthenticatedConnectionFactory.java
index c931d48..bf15cd2 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/AuthenticatedConnectionFactory.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/AuthenticatedConnectionFactory.java
@@ -31,8 +31,8 @@
import org.forgerock.opendj.ldap.requests.BindRequest;
import org.forgerock.opendj.ldap.responses.BindResult;
-import org.forgerock.util.promise.AsyncFunction;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.AsyncFunction;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.Promise;
import static org.forgerock.util.Utils.*;
@@ -66,7 +66,7 @@
*/
public LdapPromise<BindResult> bindAsync(final BindRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<? super BindResult> resultHandler) {
+ final LdapResultHandler<? super BindResult> resultHandler) {
throw new UnsupportedOperationException();
}
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/CachedConnectionPool.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/CachedConnectionPool.java
index d1dc638..a08b7f8 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/CachedConnectionPool.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/CachedConnectionPool.java
@@ -26,6 +26,12 @@
*/
package org.forgerock.opendj.ldap;
+import static org.forgerock.opendj.ldap.LdapException.*;
+import static org.forgerock.util.promise.Promises.*;
+
+import static com.forgerock.opendj.ldap.CoreMessages.*;
+import static com.forgerock.opendj.util.StaticUtils.*;
+
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
@@ -59,19 +65,13 @@
import org.forgerock.opendj.ldif.ChangeRecord;
import org.forgerock.opendj.ldif.ConnectionEntryReader;
import org.forgerock.util.Reject;
-import org.forgerock.util.promise.FailureHandler;
+import org.forgerock.util.promise.ExceptionHandler;
import org.forgerock.util.promise.Promise;
import org.forgerock.util.promise.PromiseImpl;
-import org.forgerock.util.promise.SuccessHandler;
-
-import com.forgerock.opendj.util.ReferenceCountedObject;
+import org.forgerock.util.promise.ResultHandler;
import org.forgerock.util.time.TimeService;
-import static org.forgerock.opendj.ldap.LdapException.*;
-import static org.forgerock.util.promise.Promises.*;
-
-import static com.forgerock.opendj.ldap.CoreMessages.*;
-import static com.forgerock.opendj.util.StaticUtils.*;
+import com.forgerock.opendj.util.ReferenceCountedObject;
/**
* A connection pool implementation which maintains a cache of pooled
@@ -84,7 +84,7 @@
* This success handler is invoked when an attempt to add a new connection
* to the pool completes.
*/
- private final class ConnectionSuccessHandler implements SuccessHandler<Connection> {
+ private final class ConnectionResultHandler implements ResultHandler<Connection> {
@Override
public void handleResult(final Connection connection) {
logger.debug(LocalizableMessage.raw(
@@ -99,16 +99,16 @@
* This failure handler is invoked when an attempt to add a new connection
* to the pool ended in error.
*/
- private final class ConnectionFailureHandler implements FailureHandler<LdapException> {
+ private final class ConnectionFailureHandler implements ExceptionHandler<LdapException> {
@Override
- public void handleError(final LdapException error) {
+ public void handleException(final LdapException exception) {
// Connection attempt failed, so decrease the pool size.
pendingConnectionAttempts.decrementAndGet();
availableConnections.release();
logger.debug(LocalizableMessage.raw(
"Connection attempt failed: availableConnections=%d, maxPoolSize=%d",
- currentPoolSize(), maxPoolSize, error));
+ currentPoolSize(), maxPoolSize, exception));
/*
* There may be many pending promises waiting for a connection
@@ -128,7 +128,7 @@
}
}
for (QueueElement waitingPromise : waitingPromises) {
- waitingPromise.getWaitingPromise().handleError(error);
+ waitingPromise.getWaitingPromise().handleException(exception);
}
}
}
@@ -283,7 +283,8 @@
*/
connection.close();
pendingConnectionAttempts.incrementAndGet();
- factory.getConnectionAsync().onSuccess(connectionSuccessHandler).onFailure(connectionFailureHandler);
+ factory.getConnectionAsync().thenOnResult(connectionResultHandler)
+ .thenOnException(connectionFailureHandler);
logger.debug(LocalizableMessage.raw(
"Connection no longer valid: availableConnections=%d, maxPoolSize=%d",
@@ -696,8 +697,8 @@
TimeService timeService = TimeService.SYSTEM;
private final Semaphore availableConnections;
- private final SuccessHandler<Connection> connectionSuccessHandler = new ConnectionSuccessHandler();
- private final FailureHandler<LdapException> connectionFailureHandler = new ConnectionFailureHandler();
+ private final ResultHandler<Connection> connectionResultHandler = new ConnectionResultHandler();
+ private final ExceptionHandler<LdapException> connectionFailureHandler = new ConnectionFailureHandler();
private final int corePoolSize;
private final ConnectionFactory factory;
private boolean isClosed;
@@ -812,8 +813,8 @@
final Promise<Connection, LdapException> promise = holder.getWaitingPromise();
if (!promise.isDone() && availableConnections.tryAcquire()) {
pendingConnectionAttempts.incrementAndGet();
- factory.getConnectionAsync().onSuccess(connectionSuccessHandler)
- .onFailure(connectionFailureHandler);
+ factory.getConnectionAsync().thenOnResult(connectionResultHandler)
+ .thenOnException(connectionFailureHandler);
}
return promise;
}
@@ -822,7 +823,7 @@
final Connection connection = holder.getWaitingConnection();
if (connection.isValid()) {
final Connection pooledConnection = newPooledConnection(connection, getStackTraceIfDebugEnabled());
- return newSuccessfulPromise(pooledConnection);
+ return newResultPromise(pooledConnection);
} else {
// Close the stale connection and try again.
connection.close();
@@ -910,7 +911,7 @@
final LdapException e =
newLdapException(ResultCode.CLIENT_SIDE_USER_CANCELLED,
ERR_CONNECTION_POOL_CLOSING.get(toString()).toString());
- holder.getWaitingPromise().handleError(e);
+ holder.getWaitingPromise().handleException(e);
logger.debug(LocalizableMessage.raw(
"Connection attempt failed: availableConnections=%d, maxPoolSize=%d",
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/Connection.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/Connection.java
index 1271689..c47fb61 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/Connection.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/Connection.java
@@ -84,7 +84,7 @@
* {@link LdapPromise#get()} method throwing an {@link LdapException}.
* <p>
* In addition to returning a {@link LdapPromise}, all asynchronous methods
- * accept a {@link ResultHandler} which will be notified upon completion of the
+ * accept a {@link LdapResultHandler} which will be notified upon completion of the
* operation.
* <p>
* Synchronous operations are easily simulated by immediately getting the
@@ -115,7 +115,7 @@
* </pre>
*
* More complex client applications can take advantage of a fully asynchronous
- * event driven design using {@link ResultHandler}s:
+ * event driven design using {@link LdapResultHandler}s:
*
* <pre>
* Connection connection = ...;
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/Entries.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/Entries.java
index b471b33..38ef111 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/Entries.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/Entries.java
@@ -48,7 +48,7 @@
import org.forgerock.opendj.ldap.schema.UnknownSchemaElementException;
import org.forgerock.opendj.ldif.LDIF;
import org.forgerock.util.Reject;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.NeverThrowsException;
import com.forgerock.opendj.util.Iterables;
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/Functions.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/Functions.java
index 525006c..a6ff269 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/Functions.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/Functions.java
@@ -29,7 +29,7 @@
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.i18n.LocalizedIllegalArgumentException;
import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.NeverThrowsException;
import com.forgerock.opendj.util.StaticUtils;
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/HeartBeatConnectionFactory.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/HeartBeatConnectionFactory.java
index 2e90f0a..61fc7a2 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/HeartBeatConnectionFactory.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/HeartBeatConnectionFactory.java
@@ -64,11 +64,11 @@
import org.forgerock.opendj.ldap.spi.ConnectionState;
import org.forgerock.opendj.ldap.spi.LdapPromiseImpl;
import org.forgerock.util.Reject;
-import org.forgerock.util.promise.AsyncFunction;
-import org.forgerock.util.promise.FailureHandler;
+import org.forgerock.util.AsyncFunction;
+import org.forgerock.util.promise.ExceptionHandler;
import org.forgerock.util.promise.Promise;
import org.forgerock.util.promise.PromiseImpl;
-import org.forgerock.util.promise.SuccessHandler;
+import org.forgerock.util.promise.ResultHandler;
import com.forgerock.opendj.util.ReferenceCountedObject;
import org.forgerock.util.time.TimeService;
@@ -146,7 +146,7 @@
* List of pending responses for all active operations. These will be
* signaled if no heart beat is detected within the permitted timeout period.
*/
- private final Queue<ResultHandler<?>> pendingResults = new ConcurrentLinkedQueue<>();
+ private final Queue<LdapResultHandler<?>> pendingResults = new ConcurrentLinkedQueue<>();
/** Internal connection state. */
private final ConnectionState state = new ConnectionState();
@@ -360,7 +360,7 @@
};
return timestampPromise(connection.searchAsync(request,
- intermediateResponseHandler, entryHandler).onSuccessOrFailure(new Runnable() {
+ intermediateResponseHandler, entryHandler).thenOnResultOrException(new Runnable() {
@Override
public void run() {
searchDone.getAndSet(true);
@@ -407,9 +407,9 @@
* Peek instead of pool because notification is responsible for
* removing the element from the queue.
*/
- ResultHandler<?> pendingResult;
+ LdapResultHandler<?> pendingResult;
while ((pendingResult = pendingResults.peek()) != null) {
- pendingResult.handleError(error);
+ pendingResult.handleException(error);
}
}
@@ -492,30 +492,30 @@
timestamp(reference);
return true;
}
- }).onSuccess(new SuccessHandler<Result>() {
+ }).thenOnResult(new org.forgerock.util.promise.ResultHandler<Result>() {
@Override
public void handleResult(Result result) {
timestamp(result);
releaseHeartBeatLock();
}
- }).onFailure(new FailureHandler<LdapException>() {
+ }).thenOnException(new ExceptionHandler<LdapException>() {
@Override
- public void handleError(LdapException error) {
+ public void handleException(LdapException exception) {
/*
* Connection failure will be handled by connection
* event listener. Ignore cancellation errors since
* these indicate that the heart beat was aborted by
* a client-side close.
*/
- if (!(error instanceof CancelledResultException)) {
+ if (!(exception instanceof CancelledResultException)) {
/*
* Log at debug level to avoid polluting the
* logs with benign password policy related
* errors. See OPENDJ-1168 and OPENDJ-1167.
*/
logger.debug(LocalizableMessage.raw("Heartbeat failed for connection factory '%s'",
- factory, error));
- timestamp(error);
+ factory, exception));
+ timestamp(exception);
}
releaseHeartBeatLock();
}
@@ -577,33 +577,33 @@
private <R extends Result> LdapPromise<R> timestampPromise(LdapPromise<R> wrappedPromise) {
final LdapPromiseImpl<R> outerPromise = new LdapPromiseImplWrapper<>(wrappedPromise);
pendingResults.add(outerPromise);
- wrappedPromise.onSuccess(new SuccessHandler<R>() {
+ wrappedPromise.thenOnResult(new ResultHandler<R>() {
@Override
public void handleResult(R result) {
outerPromise.handleResult(result);
timestamp(result);
}
- }).onFailure(new FailureHandler<LdapException>() {
+ }).thenOnException(new ExceptionHandler<LdapException>() {
@Override
- public void handleError(LdapException error) {
- outerPromise.handleError(error);
- timestamp(error);
+ public void handleException(LdapException exception) {
+ outerPromise.handleException(exception);
+ timestamp(exception);
}
});
- outerPromise.onSuccessOrFailure(new Runnable() {
+ outerPromise.thenOnResultOrException(new Runnable() {
@Override
public void run() {
pendingResults.remove(outerPromise);
}
});
if (!checkState()) {
- outerPromise.handleError(state.getConnectionError());
+ outerPromise.handleException(state.getConnectionError());
}
return outerPromise;
}
private <R extends Result> LdapPromise<R> timestampBindOrStartTLSPromise(LdapPromise<R> wrappedPromise) {
- return timestampPromise(wrappedPromise).onSuccessOrFailure(new Runnable() {
+ return timestampPromise(wrappedPromise).thenOnResultOrException(new Runnable() {
@Override
public void run() {
releaseBindOrStartTLSLock();
@@ -916,7 +916,7 @@
scheduler.get().schedule(new Runnable() {
@Override
public void run() {
- if (promise.tryHandleError(newHeartBeatTimeoutError())) {
+ if (promise.tryHandleException(newHeartBeatTimeoutError())) {
closeSilently(connectionHolder.get());
releaseScheduler();
}
@@ -924,7 +924,7 @@
}, timeoutMS, TimeUnit.MILLISECONDS);
return connection.searchAsync(heartBeatRequest, null);
}
- }).onSuccess(new SuccessHandler<Result>() {
+ }).thenOnResult(new ResultHandler<Result>() {
@Override
public void handleResult(Result result) {
final Connection connection = connectionHolder.get();
@@ -933,10 +933,10 @@
connectionImpl.close();
}
}
- }).onFailure(new FailureHandler<LdapException>() {
+ }).thenOnException(new ExceptionHandler<LdapException>() {
@Override
- public void handleError(LdapException error) {
- if (promise.tryHandleError(adaptHeartBeatError(error))) {
+ public void handleException(LdapException exception) {
+ if (promise.tryHandleException(adaptHeartBeatError(exception))) {
closeSilently(connectionHolder.get());
releaseScheduler();
}
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/InternalConnectionFactory.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/InternalConnectionFactory.java
index 41f0159..685f211 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/InternalConnectionFactory.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/InternalConnectionFactory.java
@@ -82,7 +82,7 @@
return newFailedLdapPromise(e);
}
- return newSuccessfulPromise((Connection) new InternalConnection(serverConnection));
+ return newResultPromise((Connection) new InternalConnection(serverConnection));
}
@Override
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/LdapPromise.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/LdapPromise.java
index 7d6c59d..dab2969 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/LdapPromise.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/LdapPromise.java
@@ -22,16 +22,16 @@
*
*
* Copyright 2009 Sun Microsystems, Inc.
- * Portions copyright 2014 ForgeRock AS
+ * Portions copyright 2014-2015 ForgeRock AS
*/
package org.forgerock.opendj.ldap;
-import org.forgerock.util.promise.AsyncFunction;
-import org.forgerock.util.promise.FailureHandler;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.AsyncFunction;
+import org.forgerock.util.promise.ExceptionHandler;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.Promise;
-import org.forgerock.util.promise.SuccessHandler;
+import org.forgerock.util.promise.ResultHandler;
/**
* A handle which can be used to retrieve the Result of an asynchronous Request.
@@ -48,28 +48,26 @@
int getRequestID();
@Override
- LdapPromise<S> onSuccess(SuccessHandler<? super S> onSuccess);
+ LdapPromise<S> thenOnResult(ResultHandler<? super S> onResult);
@Override
- LdapPromise<S> onFailure(FailureHandler<? super LdapException> onFailure);
+ LdapPromise<S> thenOnException(ExceptionHandler<? super LdapException> onException);
@Override
- LdapPromise<S> onSuccessOrFailure(Runnable onSuccessOrFailure);
+ LdapPromise<S> thenOnResultOrException(Runnable onResultOrException);
@Override
// @Checkstyle:ignore
- <VOUT> LdapPromise<VOUT> then(Function<? super S, VOUT, LdapException> onSuccess);
+ <VOUT> LdapPromise<VOUT> then(Function<? super S, VOUT, LdapException> onResult);
@Override
- LdapPromise<S> then(SuccessHandler<? super S> onSuccess);
+ LdapPromise<S> thenOnResultOrException(ResultHandler<? super S> onResult,
+ ExceptionHandler<? super LdapException> onException);
@Override
- LdapPromise<S> then(SuccessHandler<? super S> onSuccess, FailureHandler<? super LdapException> onFailure);
-
- @Override
- LdapPromise<S> thenAlways(Runnable onSuccessOrFailure);
+ LdapPromise<S> thenAlways(Runnable onResultOrException);
@Override
// @Checkstyle:ignore
- <VOUT> LdapPromise<VOUT> thenAsync(AsyncFunction<? super S, VOUT, LdapException> onSuccess);
+ <VOUT> LdapPromise<VOUT> thenAsync(AsyncFunction<? super S, VOUT, LdapException> onResult);
}
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/ResultHandler.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/LdapResultHandler.java
similarity index 82%
rename from opendj-core/src/main/java/org/forgerock/opendj/ldap/ResultHandler.java
rename to opendj-core/src/main/java/org/forgerock/opendj/ldap/LdapResultHandler.java
index a5f9f81..7d701de 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/ResultHandler.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/LdapResultHandler.java
@@ -22,13 +22,13 @@
*
*
* Copyright 2009 Sun Microsystems, Inc.
- * Portions Copyright 2011-2014 ForgeRock AS.
+ * Portions Copyright 2011-2015 ForgeRock AS.
*/
package org.forgerock.opendj.ldap;
-import org.forgerock.util.promise.FailureHandler;
-import org.forgerock.util.promise.SuccessHandler;
+import org.forgerock.util.promise.ExceptionHandler;
+import org.forgerock.util.promise.ResultHandler;
/**
* A completion handler for consuming the result of an asynchronous operation or
@@ -39,7 +39,7 @@
* asynchronously to a remote Directory Server using an
* {@link ConnectionFactory}. The {@link #handleResult} method is invoked when
* the operation or connection attempt completes successfully. The
- * {@link #handleError(LdapException)} method is invoked if the operation or connection
+ * {@link #handleException(LdapException)} method is invoked if the operation or connection
* attempt fails.
* <p>
* Implementations of these methods should complete in a timely manner so as to
@@ -49,15 +49,16 @@
* @param <S>
* The type of result handled by this result handler.
*/
-public interface ResultHandler<S> extends SuccessHandler<S>, FailureHandler<LdapException> {
+public interface LdapResultHandler<S> extends ResultHandler<S>, ExceptionHandler<LdapException> {
/**
* Invoked when the asynchronous operation has failed.
*
- * @param error
+ * @param exception
* The error result exception indicating why the asynchronous
* operation has failed.
*/
- void handleError(LdapException error);
+ @Override
+ void handleException(LdapException exception);
/**
* Invoked when the asynchronous operation has completed successfully.
@@ -65,5 +66,6 @@
* @param result
* The result of the asynchronous operation.
*/
+ @Override
void handleResult(S result);
}
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/LoadBalancer.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/LoadBalancer.java
index 1e39893..90e89c2 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/LoadBalancer.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/LoadBalancer.java
@@ -62,7 +62,7 @@
try {
factory = algorithm.getConnectionFactory();
} catch (final LdapException e) {
- return newFailedPromise(e);
+ return newExceptionPromise(e);
}
return factory.getConnectionAsync();
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/MemoryBackend.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/MemoryBackend.java
index 880c7cc..735cd54 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/MemoryBackend.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/MemoryBackend.java
@@ -232,7 +232,7 @@
@Override
public void handleAdd(final RequestContext requestContext, final AddRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<Result> resultHandler) {
+ final LdapResultHandler<Result> resultHandler) {
try {
synchronized (writeLock) {
final DN dn = request.getName();
@@ -247,7 +247,7 @@
}
resultHandler.handleResult(getResult(request, null, request));
} catch (final LdapException e) {
- resultHandler.handleError(e);
+ resultHandler.handleException(e);
}
}
@@ -255,7 +255,7 @@
public void handleBind(final RequestContext requestContext, final int version,
final BindRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<BindResult> resultHandler) {
+ final LdapResultHandler<BindResult> resultHandler) {
try {
final Entry entry;
synchronized (writeLock) {
@@ -277,23 +277,23 @@
}
resultHandler.handleResult(getBindResult(request, entry, entry));
} catch (final LocalizedIllegalArgumentException e) {
- resultHandler.handleError(newLdapException(ResultCode.PROTOCOL_ERROR, e));
+ resultHandler.handleException(newLdapException(ResultCode.PROTOCOL_ERROR, e));
} catch (final EntryNotFoundException e) {
/*
* Usually you would not include a diagnostic message, but we'll add
* one here because the memory back-end is not intended for
* production use.
*/
- resultHandler.handleError(newLdapException(ResultCode.INVALID_CREDENTIALS, "Unknown user"));
+ resultHandler.handleException(newLdapException(ResultCode.INVALID_CREDENTIALS, "Unknown user"));
} catch (final LdapException e) {
- resultHandler.handleError(e);
+ resultHandler.handleException(e);
}
}
@Override
public void handleCompare(final RequestContext requestContext, final CompareRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<CompareResult> resultHandler) {
+ final LdapResultHandler<CompareResult> resultHandler) {
try {
final Entry entry;
final Attribute assertion;
@@ -307,14 +307,14 @@
resultHandler.handleResult(getCompareResult(request, entry, entry.containsAttribute(
assertion, null)));
} catch (final LdapException e) {
- resultHandler.handleError(e);
+ resultHandler.handleException(e);
}
}
@Override
public void handleDelete(final RequestContext requestContext, final DeleteRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<Result> resultHandler) {
+ final LdapResultHandler<Result> resultHandler) {
try {
final Entry entry;
synchronized (writeLock) {
@@ -335,9 +335,9 @@
}
resultHandler.handleResult(getResult(request, entry, null));
} catch (final DecodeException e) {
- resultHandler.handleError(newLdapException(ResultCode.PROTOCOL_ERROR, e));
+ resultHandler.handleException(newLdapException(ResultCode.PROTOCOL_ERROR, e));
} catch (final LdapException e) {
- resultHandler.handleError(e);
+ resultHandler.handleException(e);
}
}
@@ -345,15 +345,15 @@
public <R extends ExtendedResult> void handleExtendedRequest(
final RequestContext requestContext, final ExtendedRequest<R> request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<R> resultHandler) {
- resultHandler.handleError(newLdapException(ResultCode.UNWILLING_TO_PERFORM,
+ final LdapResultHandler<R> resultHandler) {
+ resultHandler.handleException(newLdapException(ResultCode.UNWILLING_TO_PERFORM,
"Extended request operation not supported"));
}
@Override
public void handleModify(final RequestContext requestContext, final ModifyRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<Result> resultHandler) {
+ final LdapResultHandler<Result> resultHandler) {
try {
final Entry entry;
final Entry newEntry;
@@ -365,22 +365,22 @@
}
resultHandler.handleResult(getResult(request, entry, newEntry));
} catch (final LdapException e) {
- resultHandler.handleError(e);
+ resultHandler.handleException(e);
}
}
@Override
public void handleModifyDN(final RequestContext requestContext, final ModifyDNRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<Result> resultHandler) {
- resultHandler.handleError(newLdapException(ResultCode.UNWILLING_TO_PERFORM,
+ final LdapResultHandler<Result> resultHandler) {
+ resultHandler.handleException(newLdapException(ResultCode.UNWILLING_TO_PERFORM,
"ModifyDN request operation not supported"));
}
@Override
public void handleSearch(final RequestContext requestContext, final SearchRequest request,
final IntermediateResponseHandler intermediateResponseHandler, final SearchResultHandler entryHandler,
- ResultHandler<Result> resultHandler) {
+ LdapResultHandler<Result> resultHandler) {
try {
final DN dn = request.getName();
final SearchScope scope = request.getScope();
@@ -404,9 +404,9 @@
"Search request contains an unsupported search scope");
}
} catch (DecodeException e) {
- resultHandler.handleError(newLdapException(ResultCode.PROTOCOL_ERROR, e.getMessage(), e));
+ resultHandler.handleException(newLdapException(ResultCode.PROTOCOL_ERROR, e.getMessage(), e));
} catch (final LdapException e) {
- resultHandler.handleError(e);
+ resultHandler.handleException(e);
}
}
@@ -485,7 +485,7 @@
* If the request is unsuccessful.
*/
private void searchWithSubordinates(final RequestContext requestContext, final SearchResultHandler entryHandler,
- final ResultHandler<Result> resultHandler, final DN dn, final Matcher matcher,
+ final LdapResultHandler<Result> resultHandler, final DN dn, final Matcher matcher,
final AttributeFilter attributeFilter, final int sizeLimit, SearchScope scope,
SimplePagedResultsControl pagedResults) throws CancelledResultException, LdapException {
final int pageSize = pagedResults != null ? pagedResults.getSize() : 0;
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/RequestHandler.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/RequestHandler.java
index 94d5a4c..ff04de7 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/RequestHandler.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/RequestHandler.java
@@ -44,7 +44,7 @@
* A handler interface for processing client requests.
* <p>
* Implementations must always return results using the provided
- * {@link ResultHandler} unless explicitly permitted.
+ * {@link LdapResultHandler} unless explicitly permitted.
* <p>
* For example, an {@link LDAPListener} does not require {@code RequestHandler}
* implementations to return results, which may be useful when implementing
@@ -77,7 +77,7 @@
*/
void handleAdd(C requestContext, AddRequest request,
IntermediateResponseHandler intermediateResponseHandler,
- ResultHandler<Result> resultHandler);
+ LdapResultHandler<Result> resultHandler);
/**
* Invoked when a bind request is received from a client.
@@ -99,7 +99,7 @@
*/
void handleBind(C requestContext, int version, BindRequest request,
IntermediateResponseHandler intermediateResponseHandler,
- ResultHandler<BindResult> resultHandler);
+ LdapResultHandler<BindResult> resultHandler);
/**
* Invoked when a compare request is received from a client.
@@ -119,7 +119,7 @@
*/
void handleCompare(C requestContext, CompareRequest request,
IntermediateResponseHandler intermediateResponseHandler,
- ResultHandler<CompareResult> resultHandler);
+ LdapResultHandler<CompareResult> resultHandler);
/**
* Invoked when a delete request is received from a client.
@@ -139,7 +139,7 @@
*/
void handleDelete(C requestContext, DeleteRequest request,
IntermediateResponseHandler intermediateResponseHandler,
- ResultHandler<Result> resultHandler);
+ LdapResultHandler<Result> resultHandler);
/**
* Invoked when an extended request is received from a client.
@@ -161,7 +161,7 @@
*/
<R extends ExtendedResult> void handleExtendedRequest(C requestContext,
ExtendedRequest<R> request, IntermediateResponseHandler intermediateResponseHandler,
- ResultHandler<R> resultHandler);
+ LdapResultHandler<R> resultHandler);
/**
* Invoked when a modify request is received from a client.
@@ -181,7 +181,7 @@
*/
void handleModify(C requestContext, ModifyRequest request,
IntermediateResponseHandler intermediateResponseHandler,
- ResultHandler<Result> resultHandler);
+ LdapResultHandler<Result> resultHandler);
/**
* Invoked when a modify DN request is received from a client.
@@ -201,7 +201,7 @@
*/
void handleModifyDN(C requestContext, ModifyDNRequest request,
IntermediateResponseHandler intermediateResponseHandler,
- ResultHandler<Result> resultHandler);
+ LdapResultHandler<Result> resultHandler);
/**
* Invoked when a search request is received from a client.
@@ -224,5 +224,5 @@
*/
void handleSearch(C requestContext, SearchRequest request,
IntermediateResponseHandler intermediateResponseHandler, SearchResultHandler entryHandler,
- ResultHandler<Result> resultHandler);
+ LdapResultHandler<Result> resultHandler);
}
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/RequestHandlerFactoryAdapter.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/RequestHandlerFactoryAdapter.java
index bf9ce11..4893796 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/RequestHandlerFactoryAdapter.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/RequestHandlerFactoryAdapter.java
@@ -75,8 +75,8 @@
/**
* Request context implementation.
*/
- private static class RequestContextImpl<S extends Result, H extends ResultHandler<S>>
- implements RequestContext, ResultHandler<S> {
+ private static class RequestContextImpl<S extends Result, H extends LdapResultHandler<S>>
+ implements RequestContext, LdapResultHandler<S> {
/**
* Adapter class which invokes cancel result handlers with correct
@@ -84,10 +84,10 @@
*/
private static final class ExtendedResultHandlerHolder<R extends ExtendedResult> {
private final ExtendedRequest<R> request;
- private final ResultHandler<R> resultHandler;
+ private final LdapResultHandler<R> resultHandler;
private ExtendedResultHandlerHolder(final ExtendedRequest<R> request,
- final ResultHandler<R> resultHandler) {
+ final LdapResultHandler<R> resultHandler) {
this.request = request;
this.resultHandler = resultHandler;
}
@@ -103,7 +103,7 @@
final R cancelResult =
request.getResultDecoder().newExtendedErrorResult(ResultCode.TOO_LATE, "",
"");
- resultHandler.handleError(newLdapException(cancelResult));
+ resultHandler.handleException(newLdapException(cancelResult));
}
}
@@ -221,7 +221,7 @@
/** {@inheritDoc} */
@Override
- public void handleError(final LdapException error) {
+ public void handleException(final LdapException error) {
if (clientConnection.removePendingRequest(this)) {
if (setResult(error.getResult())) {
/*
@@ -231,7 +231,7 @@
* not be sent to the client.
*/
}
- resultHandler.handleError(error);
+ resultHandler.handleException(error);
}
}
@@ -264,7 +264,7 @@
}
private <R extends ExtendedResult> void cancel(final LocalizableMessage reason,
- final ExtendedRequest<R> cancelRequest, final ResultHandler<R> cancelResultHandler,
+ final ExtendedRequest<R> cancelRequest, final LdapResultHandler<R> cancelResultHandler,
final boolean sendResult) {
Reject.ifNull(reason);
@@ -272,7 +272,7 @@
if (cancelResultHandler != null) {
final Result result =
Responses.newGenericExtendedResult(ResultCode.CANNOT_CANCEL);
- cancelResultHandler.handleError(newLdapException(result));
+ cancelResultHandler.handleException(newLdapException(result));
}
return;
}
@@ -349,7 +349,7 @@
cancelResultHandler.handleResult(result);
} else {
final Result result = Responses.newGenericExtendedResult(ResultCode.TOO_LATE);
- cancelResultHandler.handleError(newLdapException(result));
+ cancelResultHandler.handleException(newLdapException(result));
}
}
}
@@ -423,13 +423,13 @@
/**
* Search request context implementation.
*/
- private static final class SearchRequestContextImpl extends RequestContextImpl<Result, ResultHandler<Result>>
+ private static final class SearchRequestContextImpl extends RequestContextImpl<Result, LdapResultHandler<Result>>
implements SearchResultHandler {
private final SearchResultHandler entryHandler;
private SearchRequestContextImpl(final ServerConnectionImpl clientConnection,
- final SearchResultHandler entryHandler, final ResultHandler<Result> resultHandler, final int messageID,
+ final SearchResultHandler entryHandler, final LdapResultHandler<Result> resultHandler, final int messageID,
final boolean isCancelSupported) {
super(clientConnection, resultHandler, messageID, isCancelSupported);
this.entryHandler = entryHandler;
@@ -473,8 +473,8 @@
@Override
public void handleAdd(final Integer messageID, final AddRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<Result> resultHandler) {
- final RequestContextImpl<Result, ResultHandler<Result>> requestContext =
+ final LdapResultHandler<Result> resultHandler) {
+ final RequestContextImpl<Result, LdapResultHandler<Result>> requestContext =
new RequestContextImpl<>(this, resultHandler, messageID, true);
if (addPendingRequest(requestContext)) {
requestHandler.handleAdd(requestContext, request, intermediateResponseHandler,
@@ -487,8 +487,8 @@
public void handleBind(final Integer messageID, final int version,
final BindRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<BindResult> resultHandler) {
- final RequestContextImpl<BindResult, ResultHandler<BindResult>> requestContext =
+ final LdapResultHandler<BindResult> resultHandler) {
+ final RequestContextImpl<BindResult, LdapResultHandler<BindResult>> requestContext =
new RequestContextImpl<>(this, resultHandler, messageID, false);
if (addPendingRequest(requestContext)) {
requestHandler.handleBind(requestContext, version, request,
@@ -500,8 +500,8 @@
@Override
public void handleCompare(final Integer messageID, final CompareRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<CompareResult> resultHandler) {
- final RequestContextImpl<CompareResult, ResultHandler<CompareResult>> requestContext =
+ final LdapResultHandler<CompareResult> resultHandler) {
+ final RequestContextImpl<CompareResult, LdapResultHandler<CompareResult>> requestContext =
new RequestContextImpl<>(this, resultHandler, messageID, true);
if (addPendingRequest(requestContext)) {
requestHandler.handleCompare(requestContext, request, intermediateResponseHandler,
@@ -534,8 +534,8 @@
@Override
public void handleDelete(final Integer messageID, final DeleteRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<Result> resultHandler) {
- final RequestContextImpl<Result, ResultHandler<Result>> requestContext =
+ final LdapResultHandler<Result> resultHandler) {
+ final RequestContextImpl<Result, LdapResultHandler<Result>> requestContext =
new RequestContextImpl<>(this, resultHandler, messageID, true);
if (addPendingRequest(requestContext)) {
requestHandler.handleDelete(requestContext, request, intermediateResponseHandler,
@@ -548,7 +548,7 @@
public <R extends ExtendedResult> void handleExtendedRequest(final Integer messageID,
final ExtendedRequest<R> request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<R> resultHandler) {
+ final LdapResultHandler<R> resultHandler) {
if (request.getOID().equals(CancelExtendedRequest.OID)) {
// Decode the request as a cancel request.
CancelExtendedRequest cancelRequest;
@@ -558,7 +558,7 @@
new DecodeOptions());
} catch (final DecodeException e) {
// Couldn't decode a cancel request.
- resultHandler.handleError(newLdapException(ResultCode.PROTOCOL_ERROR, e
+ resultHandler.handleException(newLdapException(ResultCode.PROTOCOL_ERROR, e
.getLocalizedMessage()));
return;
}
@@ -568,7 +568,7 @@
* though this request cannot be cancelled, it is important to
* do this in order to monitor the number of pending operations.
*/
- final RequestContextImpl<R, ResultHandler<R>> requestContext =
+ final RequestContextImpl<R, LdapResultHandler<R>> requestContext =
new RequestContextImpl<>(this, resultHandler, messageID, false);
if (addPendingRequest(requestContext)) {
// Find and cancel the request.
@@ -583,13 +583,13 @@
* Couldn't find the request. Invoke on context in order
* to remove pending request.
*/
- requestContext.handleError(newLdapException(ResultCode.NO_SUCH_OPERATION));
+ requestContext.handleException(newLdapException(ResultCode.NO_SUCH_OPERATION));
}
}
} else {
// StartTLS requests cannot be cancelled.
boolean isCancelSupported = !request.getOID().equals(StartTLSExtendedRequest.OID);
- final RequestContextImpl<R, ResultHandler<R>> requestContext =
+ final RequestContextImpl<R, LdapResultHandler<R>> requestContext =
new RequestContextImpl<>(this, resultHandler, messageID, isCancelSupported);
if (addPendingRequest(requestContext)) {
@@ -603,8 +603,8 @@
@Override
public void handleModify(final Integer messageID, final ModifyRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<Result> resultHandler) {
- final RequestContextImpl<Result, ResultHandler<Result>> requestContext =
+ final LdapResultHandler<Result> resultHandler) {
+ final RequestContextImpl<Result, LdapResultHandler<Result>> requestContext =
new RequestContextImpl<>(this, resultHandler, messageID, true);
if (addPendingRequest(requestContext)) {
requestHandler.handleModify(requestContext, request, intermediateResponseHandler,
@@ -616,8 +616,8 @@
@Override
public void handleModifyDN(final Integer messageID, final ModifyDNRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<Result> resultHandler) {
- final RequestContextImpl<Result, ResultHandler<Result>> requestContext =
+ final LdapResultHandler<Result> resultHandler) {
+ final RequestContextImpl<Result, LdapResultHandler<Result>> requestContext =
new RequestContextImpl<>(this, resultHandler, messageID, true);
if (addPendingRequest(requestContext)) {
requestHandler.handleModifyDN(requestContext, request, intermediateResponseHandler,
@@ -629,7 +629,7 @@
@Override
public void handleSearch(final Integer messageID, final SearchRequest request,
final IntermediateResponseHandler intermediateResponseHandler, final SearchResultHandler entryHandler,
- final ResultHandler<Result> resultHandler) {
+ final LdapResultHandler<Result> resultHandler) {
final SearchRequestContextImpl requestContext =
new SearchRequestContextImpl(this, entryHandler, resultHandler, messageID, true);
if (addPendingRequest(requestContext)) {
@@ -643,13 +643,13 @@
if (isClosed.get()) {
final LocalizableMessage message = INFO_CLIENT_CONNECTION_CLOSING.get();
- requestContext.handleError(newLdapException(ResultCode.UNWILLING_TO_PERFORM,
+ requestContext.handleException(newLdapException(ResultCode.UNWILLING_TO_PERFORM,
message.toString()));
return false;
} else if (pendingRequests.putIfAbsent(messageID, requestContext) != null) {
final LocalizableMessage message =
WARN_CLIENT_DUPLICATE_MESSAGE_ID.get(requestContext.getMessageID());
- requestContext.handleError(newLdapException(ResultCode.PROTOCOL_ERROR, message.toString()));
+ requestContext.handleException(newLdapException(ResultCode.PROTOCOL_ERROR, message.toString()));
return false;
} else if (isClosed.get()) {
/*
@@ -659,7 +659,7 @@
pendingRequests.remove(messageID);
final LocalizableMessage message = INFO_CLIENT_CONNECTION_CLOSING.get();
- requestContext.handleError(newLdapException(ResultCode.UNWILLING_TO_PERFORM, message.toString()));
+ requestContext.handleException(newLdapException(ResultCode.UNWILLING_TO_PERFORM, message.toString()));
return false;
} else {
/*
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/RootDSE.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/RootDSE.java
index 4975ada..ac2f5ac 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/RootDSE.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/RootDSE.java
@@ -34,7 +34,7 @@
import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.forgerock.opendj.ldap.schema.CoreSchema;
import org.forgerock.util.Reject;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.NeverThrowsException;
import com.forgerock.opendj.util.Collections2;
@@ -150,7 +150,7 @@
* If the {@code connection} was {@code null}.
*/
public static LdapPromise<RootDSE> readRootDSEAsync(final Connection connection,
- final ResultHandler<? super RootDSE> handler) {
+ final LdapResultHandler<? super RootDSE> handler) {
return connection.searchSingleEntryAsync(SEARCH_REQUEST).then(
new Function<SearchResultEntry, RootDSE, LdapException>() {
@Override
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/SimplePagedResultsControl.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/SimplePagedResultsControl.java
index e3d7a47..4a105ce 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/SimplePagedResultsControl.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/SimplePagedResultsControl.java
@@ -99,7 +99,7 @@
* private static class MySearchResultHandler implements SearchResultHandler {
*
* {@literal @}Override
- * public void handleErrorResult(LdapException error) {
+ * public void handleExceptionResult(LdapException error) {
* // Ignore.
* }
*
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewRequestControl.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewRequestControl.java
index 484b68c..fd9993d 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewRequestControl.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewRequestControl.java
@@ -94,7 +94,7 @@
* private static class MySearchResultHandler implements SearchResultHandler {
*
* {@literal @}Override
- * public void handleErrorResult(LdapException error) {
+ * public void handleExceptionResult(LdapException error) {
* // Ignore.
* }
*
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewResponseControl.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewResponseControl.java
index 8cc26d4..418dc39 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewResponseControl.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewResponseControl.java
@@ -92,7 +92,7 @@
* private static class MySearchResultHandler implements SearchResultHandler {
*
* {@literal @}Override
- * public void handleErrorResult(LdapException error) {
+ * public void handleExceptionResult(LdapException error) {
* // Ignore.
* }
*
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/requests/AbstractUnmodifiableRequest.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/requests/AbstractUnmodifiableRequest.java
index 701c0eb..0e1196a 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/requests/AbstractUnmodifiableRequest.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/requests/AbstractUnmodifiableRequest.java
@@ -36,7 +36,7 @@
import org.forgerock.opendj.ldap.controls.ControlDecoder;
import org.forgerock.opendj.ldap.controls.GenericControl;
import org.forgerock.util.Reject;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.NeverThrowsException;
import com.forgerock.opendj.util.Collections2;
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableAddRequestImpl.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableAddRequestImpl.java
index e72f264..a38d544 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableAddRequestImpl.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableAddRequestImpl.java
@@ -36,7 +36,7 @@
import org.forgerock.opendj.ldap.DN;
import org.forgerock.opendj.ldif.ChangeRecordVisitor;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.NeverThrowsException;
import com.forgerock.opendj.util.Iterables;
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableModifyRequestImpl.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableModifyRequestImpl.java
index 06c730e..4fe1888 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableModifyRequestImpl.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableModifyRequestImpl.java
@@ -36,7 +36,7 @@
import org.forgerock.opendj.ldap.Modification;
import org.forgerock.opendj.ldap.ModificationType;
import org.forgerock.opendj.ldif.ChangeRecordVisitor;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.NeverThrowsException;
import com.forgerock.opendj.util.Collections2;
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/responses/AbstractExtendedResultDecoder.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/responses/AbstractExtendedResultDecoder.java
index 12016bb..958fb43 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/responses/AbstractExtendedResultDecoder.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/responses/AbstractExtendedResultDecoder.java
@@ -33,7 +33,7 @@
import org.forgerock.opendj.ldap.DecodeOptions;
import org.forgerock.opendj.ldap.LdapException;
import org.forgerock.opendj.ldap.ResultCode;
-import org.forgerock.opendj.ldap.ResultHandler;
+import org.forgerock.opendj.ldap.LdapResultHandler;
import org.forgerock.opendj.ldap.requests.ExtendedRequest;
/**
@@ -62,19 +62,19 @@
}
@Override
- public <R extends ExtendedResult> ResultHandler<S> adaptExtendedResultHandler(
- final ExtendedRequest<R> request, final ResultHandler<? super R> resultHandler,
+ public <R extends ExtendedResult> LdapResultHandler<S> adaptExtendedResultHandler(
+ final ExtendedRequest<R> request, final LdapResultHandler<? super R> resultHandler,
final DecodeOptions options) {
- return new ResultHandler<S>() {
+ return new LdapResultHandler<S>() {
@Override
- public void handleError(final LdapException error) {
+ public void handleException(final LdapException error) {
final Result result = error.getResult();
final R adaptedResult =
request.getResultDecoder().newExtendedErrorResult(result.getResultCode(),
result.getMatchedDN(), result.getDiagnosticMessage());
adaptedResult.setCause(result.getCause());
- resultHandler.handleError(newLdapException(adaptedResult));
+ resultHandler.handleException(newLdapException(adaptedResult));
}
@Override
@@ -85,7 +85,7 @@
resultHandler.handleResult(adaptedResult);
} catch (final DecodeException e) {
final R adaptedResult = request.getResultDecoder().adaptDecodeException(e);
- resultHandler.handleError(newLdapException(adaptedResult));
+ resultHandler.handleException(newLdapException(adaptedResult));
}
}
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/responses/AbstractUnmodifiableResponseImpl.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/responses/AbstractUnmodifiableResponseImpl.java
index ba729c2..1b6df59 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/responses/AbstractUnmodifiableResponseImpl.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/responses/AbstractUnmodifiableResponseImpl.java
@@ -36,7 +36,7 @@
import org.forgerock.opendj.ldap.controls.ControlDecoder;
import org.forgerock.opendj.ldap.controls.GenericControl;
import org.forgerock.util.Reject;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.NeverThrowsException;
import com.forgerock.opendj.util.Collections2;
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/responses/ExtendedResultDecoder.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/responses/ExtendedResultDecoder.java
index c2dfcb0..92b18c7 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/responses/ExtendedResultDecoder.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/responses/ExtendedResultDecoder.java
@@ -30,7 +30,7 @@
import org.forgerock.opendj.ldap.DecodeException;
import org.forgerock.opendj.ldap.DecodeOptions;
import org.forgerock.opendj.ldap.ResultCode;
-import org.forgerock.opendj.ldap.ResultHandler;
+import org.forgerock.opendj.ldap.LdapResultHandler;
import org.forgerock.opendj.ldap.requests.ExtendedRequest;
/**
@@ -76,8 +76,8 @@
* @return A result handler which is compatible with this extended result
* decoder.
*/
- <R extends ExtendedResult> ResultHandler<S> adaptExtendedResultHandler(
- ExtendedRequest<R> request, ResultHandler<? super R> resultHandler, DecodeOptions options);
+ <R extends ExtendedResult> LdapResultHandler<S> adaptExtendedResultHandler(
+ ExtendedRequest<R> request, LdapResultHandler<? super R> resultHandler, DecodeOptions options);
/**
* Decodes the provided extended operation result as a {@code Result} of
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableSearchResultEntryImpl.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableSearchResultEntryImpl.java
index 20dbe8d..6d9c15a 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableSearchResultEntryImpl.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableSearchResultEntryImpl.java
@@ -35,7 +35,7 @@
import org.forgerock.opendj.ldap.Attributes;
import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.DN;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.NeverThrowsException;
import com.forgerock.opendj.util.Iterables;
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/Schema.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/Schema.java
index b290b91..5e9d74c 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/Schema.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/Schema.java
@@ -50,7 +50,7 @@
import org.forgerock.opendj.ldap.Option;
import org.forgerock.opendj.ldap.RDN;
import org.forgerock.util.Reject;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.Function;
import com.forgerock.opendj.util.StaticUtils;
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/SchemaBuilder.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/SchemaBuilder.java
index 2d5ff11..95a7510 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/SchemaBuilder.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/SchemaBuilder.java
@@ -73,8 +73,8 @@
import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.forgerock.opendj.ldap.schema.DITContentRule.Builder;
import org.forgerock.util.Reject;
-import org.forgerock.util.promise.AsyncFunction;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.AsyncFunction;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.Promise;
import com.forgerock.opendj.util.StaticUtils;
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LdapPromiseImpl.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LdapPromiseImpl.java
index 846b8e8..d515bb1 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LdapPromiseImpl.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LdapPromiseImpl.java
@@ -27,7 +27,7 @@
import org.forgerock.opendj.ldap.LdapException;
import org.forgerock.opendj.ldap.LdapPromise;
-import org.forgerock.opendj.ldap.ResultHandler;
+import org.forgerock.opendj.ldap.LdapResultHandler;
import org.forgerock.util.promise.Promise;
import org.forgerock.util.promise.PromiseImpl;
import org.forgerock.util.promise.Promises;
@@ -42,7 +42,7 @@
* @see LdapPromise
*/
public class LdapPromiseImpl<S> extends LdapPromiseWrapper<S, PromiseImpl<S, LdapException>> implements
- LdapPromise<S>, ResultHandler<S> {
+ LdapPromise<S>, LdapResultHandler<S> {
/**
* Creates a new {@link LdapPromiseImpl} from a wrapped existing {@link PromiseImpl}.
@@ -81,8 +81,8 @@
}
@Override
- public void handleError(LdapException error) {
- getWrappedPromise().handleError(error);
+ public void handleException(LdapException exception) {
+ getWrappedPromise().handleException(exception);
}
@Override
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LdapPromiseWrapper.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LdapPromiseWrapper.java
index 229513d..4c3c3da 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LdapPromiseWrapper.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LdapPromiseWrapper.java
@@ -32,11 +32,11 @@
import org.forgerock.opendj.ldap.LdapException;
import org.forgerock.opendj.ldap.LdapPromise;
-import org.forgerock.util.promise.AsyncFunction;
-import org.forgerock.util.promise.FailureHandler;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.AsyncFunction;
+import org.forgerock.util.promise.ExceptionHandler;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.Promise;
-import org.forgerock.util.promise.SuccessHandler;
+import org.forgerock.util.promise.ResultHandler;
import static org.forgerock.opendj.ldap.spi.LdapPromises.*;
@@ -45,7 +45,7 @@
*
*
* This wrapper allows client code to return {@link LdapPromise} instance when
- * using {@link Promise} chaining methods (e.g onSuccess(), then(), thenAsync()).
+ * using {@link Promise} chaining methods (e.g thenOnResult(), then(), thenAsync()).
* Wrapping is specially needed with {@link Promise} method which are not returning the original promise.
*
* @param <R>
@@ -114,67 +114,81 @@
}
@Override
- public LdapPromise<R> onFailure(FailureHandler<? super LdapException> onFailure) {
- wrappedPromise.onFailure(onFailure);
+ public LdapPromise<R> thenOnException(ExceptionHandler<? super LdapException> onException) {
+ wrappedPromise.thenOnException(onException);
return this;
}
@Override
- public LdapPromise<R> onSuccess(SuccessHandler<? super R> onSuccess) {
- wrappedPromise.onSuccess(onSuccess);
+ public LdapPromise<R> thenOnResult(ResultHandler<? super R> onResult) {
+ wrappedPromise.thenOnResult(onResult);
return this;
}
@Override
- public LdapPromise<R> onSuccessOrFailure(Runnable onSuccessOrFailure) {
- wrappedPromise.onSuccessOrFailure(onSuccessOrFailure);
+ public LdapPromise<R> thenOnResultOrException(Runnable onResultOrException) {
+ wrappedPromise.thenOnResultOrException(onResultOrException);
return this;
}
@Override
// @Checkstyle:ignore
- public <VOUT> LdapPromise<VOUT> then(Function<? super R, VOUT, LdapException> onSuccess) {
- return wrap(wrappedPromise.then(onSuccess), getRequestID());
+ public <VOUT> LdapPromise<VOUT> then(Function<? super R, VOUT, LdapException> onResult) {
+ return wrap(wrappedPromise.then(onResult), getRequestID());
}
@Override
// @Checkstyle:ignore
- public <VOUT, EOUT extends Exception> Promise<VOUT, EOUT> then(Function<? super R, VOUT, EOUT> onSuccess,
- Function<? super LdapException, VOUT, EOUT> onFailure) {
- return wrappedPromise.then(onSuccess, onFailure);
+ public <VOUT, EOUT extends Exception> Promise<VOUT, EOUT> then(Function<? super R, VOUT, EOUT> onResult,
+ Function<? super LdapException, VOUT, EOUT> onException) {
+ return wrappedPromise.then(onResult, onException);
}
@Override
- public LdapPromise<R> then(SuccessHandler<? super R> onSuccess) {
- wrappedPromise.then(onSuccess);
+ public LdapPromise<R> thenOnResultOrException(ResultHandler<? super R> onResult,
+ ExceptionHandler<? super LdapException> onException) {
+ wrappedPromise.thenOnResultOrException(onResult, onException);
return this;
}
@Override
- public LdapPromise<R> then(SuccessHandler<? super R> onSuccess,
- FailureHandler<? super LdapException> onFailure) {
- wrappedPromise.then(onSuccess, onFailure);
- return this;
- }
-
- @Override
- public LdapPromise<R> thenAlways(Runnable onSuccessOrFailure) {
- wrappedPromise.thenAlways(onSuccessOrFailure);
+ public LdapPromise<R> thenAlways(Runnable onResultOrException) {
+ wrappedPromise.thenAlways(onResultOrException);
return this;
}
@Override
// @Checkstyle:ignore
- public <VOUT> LdapPromise<VOUT> thenAsync(AsyncFunction<? super R, VOUT, LdapException> onSuccess) {
- return wrap(wrappedPromise.thenAsync(onSuccess), getRequestID());
+ public <VOUT> LdapPromise<VOUT> thenAsync(AsyncFunction<? super R, VOUT, LdapException> onResult) {
+ return wrap(wrappedPromise.thenAsync(onResult), getRequestID());
}
@Override
// @Checkstyle:ignore
public <VOUT, EOUT extends Exception> Promise<VOUT, EOUT> thenAsync(
- AsyncFunction<? super R, VOUT, EOUT> onSuccess,
- AsyncFunction<? super LdapException, VOUT, EOUT> onFailure) {
- return wrappedPromise.thenAsync(onSuccess, onFailure);
+ AsyncFunction<? super R, VOUT, EOUT> onResult,
+ AsyncFunction<? super LdapException, VOUT, EOUT> onException) {
+ return wrappedPromise.thenAsync(onResult, onException);
+ }
+
+ @Override
+ // @Checkstyle:ignore
+ public <EOUT extends Exception> Promise<R, EOUT> thenCatch(Function<? super LdapException, R, EOUT> onException) {
+ return wrappedPromise.thenCatch(onException);
+ }
+
+ @Override
+ // @Checkstyle:ignore
+ public LdapPromise<R> thenFinally(Runnable onResultOrException) {
+ wrappedPromise.thenFinally(onResultOrException);
+ return this;
+ }
+
+ @Override
+ // @Checkstyle:ignore
+ public <EOUT extends Exception> Promise<R, EOUT> thenCatchAsync(
+ AsyncFunction<? super LdapException, R, EOUT> onException) {
+ return null;
}
public P getWrappedPromise() {
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LdapPromises.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LdapPromises.java
index c0d6847..a7ce25d 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LdapPromises.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LdapPromises.java
@@ -63,7 +63,7 @@
* already succeeded with the provided result.
*/
public static <R> LdapPromise<R> newSuccessfulLdapPromise(final R result) {
- return wrap(Promises.<R, LdapException> newSuccessfulPromise(result), -1);
+ return wrap(Promises.<R, LdapException> newResultPromise(result), -1);
}
/**
@@ -83,7 +83,7 @@
* already succeeded with the provided result.
*/
public static <R> LdapPromise<R> newSuccessfulLdapPromise(final R result, int requestID) {
- return wrap(Promises.<R, LdapException> newSuccessfulPromise(result), requestID);
+ return wrap(Promises.<R, LdapException> newResultPromise(result), requestID);
}
/**
@@ -101,7 +101,7 @@
* already failed with the provided error.
*/
public static <R, E extends LdapException> LdapPromise<R> newFailedLdapPromise(final E error) {
- return wrap(Promises.<R, LdapException> newFailedPromise(error), -1);
+ return wrap(Promises.<R, LdapException> newExceptionPromise(error), -1);
}
/**
@@ -122,7 +122,7 @@
* already failed with the provided error.
*/
public static <R, E extends LdapException> LdapPromise<R> newFailedLdapPromise(final E error, int requestID) {
- return wrap(Promises.<R, LdapException> newFailedPromise(error), requestID);
+ return wrap(Promises.<R, LdapException> newExceptionPromise(error), requestID);
}
/**
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/ResultLdapPromiseImpl.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/ResultLdapPromiseImpl.java
index 8a738d8..0a7422d 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/ResultLdapPromiseImpl.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/ResultLdapPromiseImpl.java
@@ -157,7 +157,7 @@
*/
public final void setResultOrError(final S result) {
if (result.getResultCode().isExceptional()) {
- getWrappedPromise().handleError(newLdapException(result));
+ getWrappedPromise().handleException(newLdapException(result));
} else {
getWrappedPromise().handleResult(result);
}
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldif/ConnectionEntryReader.java b/opendj-core/src/main/java/org/forgerock/opendj/ldif/ConnectionEntryReader.java
index fe589c9..742f248 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldif/ConnectionEntryReader.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldif/ConnectionEntryReader.java
@@ -36,7 +36,7 @@
import org.forgerock.opendj.ldap.LdapException;
import org.forgerock.opendj.ldap.LdapPromise;
import org.forgerock.opendj.ldap.ResultCode;
-import org.forgerock.opendj.ldap.ResultHandler;
+import org.forgerock.opendj.ldap.LdapResultHandler;
import org.forgerock.opendj.ldap.SearchResultHandler;
import org.forgerock.opendj.ldap.SearchResultReferenceIOException;
import org.forgerock.opendj.ldap.requests.SearchRequest;
@@ -113,7 +113,7 @@
/**
* Result handler that places all responses in a queue.
*/
- private static final class BufferHandler implements SearchResultHandler, ResultHandler<Result> {
+ private static final class BufferHandler implements SearchResultHandler, LdapResultHandler<Result> {
private final BlockingQueue<Response> responses;
private volatile boolean isInterrupted;
@@ -136,7 +136,7 @@
}
@Override
- public void handleError(final LdapException error) {
+ public void handleException(final LdapException error) {
try {
responses.put(error.getResult());
} catch (final InterruptedException e) {
@@ -211,7 +211,7 @@
final BlockingQueue<Response> entries) {
Reject.ifNull(connection);
buffer = new BufferHandler(entries);
- promise = connection.searchAsync(searchRequest, buffer).onSuccess(buffer).onFailure(buffer);
+ promise = connection.searchAsync(searchRequest, buffer).thenOnResult(buffer).thenOnException(buffer);
}
/**
diff --git a/opendj-core/src/test/java/org/forgerock/opendj/ldap/AbstractAsynchronousConnectionTestCase.java b/opendj-core/src/test/java/org/forgerock/opendj/ldap/AbstractAsynchronousConnectionTestCase.java
index e6949f0..1363c4a 100644
--- a/opendj-core/src/test/java/org/forgerock/opendj/ldap/AbstractAsynchronousConnectionTestCase.java
+++ b/opendj-core/src/test/java/org/forgerock/opendj/ldap/AbstractAsynchronousConnectionTestCase.java
@@ -46,8 +46,8 @@
import org.forgerock.opendj.ldap.responses.ExtendedResult;
import org.forgerock.opendj.ldap.responses.Result;
import org.forgerock.opendj.ldap.responses.SearchResultEntry;
-import org.forgerock.util.promise.FailureHandler;
-import org.forgerock.util.promise.SuccessHandler;
+import org.forgerock.util.promise.ExceptionHandler;
+import org.forgerock.util.promise.ResultHandler;
import org.testng.annotations.Test;
import static org.fest.assertions.Assertions.*;
@@ -374,10 +374,11 @@
final Connection mockConnection = new MockConnection(ResultCode.SUCCESS, entry);
final SearchRequest request =
newSingleEntrySearchRequest("cn=test", SearchScope.BASE_OBJECT, "(objectClass=*)");
- SuccessHandler<SearchResultEntry> successHandler = mock(SuccessHandler.class);
- SearchResultEntry resultEntry = mockConnection.searchSingleEntryAsync(request).onSuccess(successHandler).get();
+ ResultHandler<SearchResultEntry> resultHandler = mock(ResultHandler.class);
+ SearchResultEntry resultEntry = mockConnection.searchSingleEntryAsync(request)
+ .thenOnResult(resultHandler).get();
assertThat(resultEntry).isEqualTo(entry);
- verify(successHandler).handleResult(any(SearchResultEntry.class));
+ verify(resultHandler).handleResult(any(SearchResultEntry.class));
}
@Test
@@ -429,14 +430,14 @@
newSearchResultEntry("cn=test"));
final SearchRequest request =
newSingleEntrySearchRequest("cn=test", SearchScope.BASE_OBJECT, "(objectClass=*)");
- FailureHandler<LdapException> failureHandler = mock(FailureHandler.class);
+ ExceptionHandler<LdapException> exceptionHandler = mock(ExceptionHandler.class);
try {
- mockConnection.searchSingleEntryAsync(request).onFailure(failureHandler).getOrThrow();
+ mockConnection.searchSingleEntryAsync(request).thenOnException(exceptionHandler).getOrThrow();
failWasExpected(MultipleEntriesFoundException.class);
} catch (MultipleEntriesFoundException e) {
assertThat(e.getResult().getResultCode()).isEqualTo(ResultCode.CLIENT_SIDE_UNEXPECTED_RESULTS_RETURNED);
- verify(failureHandler).handleError(any(LdapException.class));
+ verify(exceptionHandler).handleException(any(LdapException.class));
}
}
@@ -448,13 +449,13 @@
final SearchRequest request = newSingleEntrySearchRequest("cn=test", SearchScope.BASE_OBJECT,
"(objectClass=*)");
@SuppressWarnings("unchecked")
- FailureHandler<LdapException> failureHandler = mock(FailureHandler.class);
+ ExceptionHandler<LdapException> exceptionHandler = mock(ExceptionHandler.class);
try {
- mockConnection.searchSingleEntryAsync(request).onFailure(failureHandler).getOrThrow();
+ mockConnection.searchSingleEntryAsync(request).thenOnException(exceptionHandler).getOrThrow();
failWasExpected(MultipleEntriesFoundException.class);
} catch (MultipleEntriesFoundException e) {
assertThat(e.getResult().getResultCode()).isEqualTo(ResultCode.CLIENT_SIDE_UNEXPECTED_RESULTS_RETURNED);
- verify(failureHandler).handleError(any(LdapException.class));
+ verify(exceptionHandler).handleException(any(LdapException.class));
}
}
@@ -477,13 +478,13 @@
final SearchRequest request =
newSingleEntrySearchRequest("cn=test", SearchScope.BASE_OBJECT, "(objectClass=*)");
@SuppressWarnings("unchecked")
- FailureHandler<LdapException> failureHandler = mock(FailureHandler.class);
+ ExceptionHandler<LdapException> exceptionHandler = mock(ExceptionHandler.class);
try {
- mockConnection.searchSingleEntryAsync(request).onFailure(failureHandler).getOrThrow();
+ mockConnection.searchSingleEntryAsync(request).thenOnException(exceptionHandler).getOrThrow();
failWasExpected(LdapException.class);
} catch (LdapException e) {
assertThat(e.getResult().getResultCode()).isEqualTo(ResultCode.UNWILLING_TO_PERFORM);
- verify(failureHandler).handleError(any(LdapException.class));
+ verify(exceptionHandler).handleException(any(LdapException.class));
}
}
diff --git a/opendj-core/src/test/java/org/forgerock/opendj/ldap/AbstractLoadBalancingAlgorithmTestCase.java b/opendj-core/src/test/java/org/forgerock/opendj/ldap/AbstractLoadBalancingAlgorithmTestCase.java
index 4573939..405d87a 100644
--- a/opendj-core/src/test/java/org/forgerock/opendj/ldap/AbstractLoadBalancingAlgorithmTestCase.java
+++ b/opendj-core/src/test/java/org/forgerock/opendj/ldap/AbstractLoadBalancingAlgorithmTestCase.java
@@ -59,9 +59,9 @@
@Override
public Promise<Connection, LdapException> getConnectionAsync() {
try {
- return newSuccessfulPromise(mock.getConnection());
+ return newResultPromise(mock.getConnection());
} catch (final LdapException e) {
- return newFailedPromise(e);
+ return newExceptionPromise(e);
}
}
diff --git a/opendj-core/src/test/java/org/forgerock/opendj/ldap/ConnectionPoolTestCase.java b/opendj-core/src/test/java/org/forgerock/opendj/ldap/ConnectionPoolTestCase.java
index 2934683..c1512ad 100644
--- a/opendj-core/src/test/java/org/forgerock/opendj/ldap/ConnectionPoolTestCase.java
+++ b/opendj-core/src/test/java/org/forgerock/opendj/ldap/ConnectionPoolTestCase.java
@@ -534,7 +534,7 @@
final LdapException connectError = newLdapException(ResultCode.CLIENT_SIDE_CONNECT_ERROR);
for (Promise<? extends Connection, LdapException> promise : promises) {
// Simulate that an error happened with the created connections
- ((PromiseImpl) promise).handleError(connectError);
+ ((PromiseImpl) promise).handleException(connectError);
try {
// Before the fix for OPENDJ-1348 the third promise.get() would hang.
diff --git a/opendj-core/src/test/java/org/forgerock/opendj/ldap/HeartBeatConnectionFactoryTestCase.java b/opendj-core/src/test/java/org/forgerock/opendj/ldap/HeartBeatConnectionFactoryTestCase.java
index beb7396..a6143bc 100644
--- a/opendj-core/src/test/java/org/forgerock/opendj/ldap/HeartBeatConnectionFactoryTestCase.java
+++ b/opendj-core/src/test/java/org/forgerock/opendj/ldap/HeartBeatConnectionFactoryTestCase.java
@@ -36,11 +36,11 @@
import org.forgerock.opendj.ldap.responses.BindResult;
import org.forgerock.opendj.ldap.responses.Result;
import org.forgerock.opendj.ldap.spi.BindResultLdapPromiseImpl;
-import org.forgerock.util.promise.FailureHandler;
+import org.forgerock.util.promise.ExceptionHandler;
import org.forgerock.util.promise.NeverThrowsException;
import org.forgerock.util.promise.Promise;
import org.forgerock.util.promise.PromiseImpl;
-import org.forgerock.util.promise.SuccessHandler;
+import org.forgerock.util.promise.ResultHandler;
import org.mockito.ArgumentCaptor;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
@@ -174,29 +174,29 @@
@Test
public void testGetConnectionAsync() throws Exception {
@SuppressWarnings("unchecked")
- final SuccessHandler<Connection> mockSuccessHandler = mock(SuccessHandler.class);
+ final ResultHandler<Connection> mockResultHandler = mock(ResultHandler.class);
mockConnectionWithInitialHeartbeatResult(ResultCode.SUCCESS);
- hbc = hbcf.getConnectionAsync().onSuccess(mockSuccessHandler).getOrThrow();
+ hbc = hbcf.getConnectionAsync().thenOnResult(mockResultHandler).getOrThrow();
assertThat(hbc).isNotNull();
assertThat(hbc.isValid()).isTrue();
- verify(mockSuccessHandler).handleResult(any(Connection.class));
- verifyNoMoreInteractions(mockSuccessHandler);
+ verify(mockResultHandler).handleResult(any(Connection.class));
+ verifyNoMoreInteractions(mockResultHandler);
}
@Test
public void testGetConnectionAsyncWithInitialHeartBeatError() throws Exception {
@SuppressWarnings("unchecked")
- final SuccessHandler<Connection> mockSuccessHandler = mock(SuccessHandler.class);
+ final ResultHandler<Connection> mockResultHandler = mock(ResultHandler.class);
final PromiseImpl<LdapException, NeverThrowsException> promisedError = PromiseImpl.create();
mockConnectionWithInitialHeartbeatResult(ResultCode.BUSY);
Promise<? extends Connection, LdapException> promise = hbcf.getConnectionAsync();
- promise.onSuccess(mockSuccessHandler).onFailure(new FailureHandler<LdapException>() {
+ promise.thenOnResult(mockResultHandler).thenOnException(new ExceptionHandler<LdapException>() {
@Override
- public void handleError(LdapException error) {
- promisedError.handleResult(error);
+ public void handleException(LdapException exception) {
+ promisedError.handleResult(exception);
}
});
@@ -209,7 +209,7 @@
checkInitialHeartBeatFailure(e);
}
- verifyNoMoreInteractions(mockSuccessHandler);
+ verifyNoMoreInteractions(mockResultHandler);
}
@Test
@@ -258,10 +258,10 @@
// Attempt to send a new request: it should fail immediately.
@SuppressWarnings("unchecked")
- final FailureHandler<LdapException> mockHandler = mock(FailureHandler.class);
- hbc.modifyAsync(newModifyRequest(DN.rootDN())).onFailure(mockHandler);
+ final ExceptionHandler<LdapException> mockHandler = mock(ExceptionHandler.class);
+ hbc.modifyAsync(newModifyRequest(DN.rootDN())).thenOnException(mockHandler);
final ArgumentCaptor<LdapException> arg = ArgumentCaptor.forClass(LdapException.class);
- verify(mockHandler).handleError(arg.capture());
+ verify(mockHandler).handleException(arg.capture());
assertThat(arg.getValue().getResult().getResultCode()).isEqualTo(
ResultCode.CLIENT_SIDE_SERVER_DOWN);
diff --git a/opendj-core/src/test/java/org/forgerock/opendj/ldap/LDAPServer.java b/opendj-core/src/test/java/org/forgerock/opendj/ldap/LDAPServer.java
index 5f15d68..adbbb0e 100644
--- a/opendj-core/src/test/java/org/forgerock/opendj/ldap/LDAPServer.java
+++ b/opendj-core/src/test/java/org/forgerock/opendj/ldap/LDAPServer.java
@@ -169,7 +169,7 @@
@Override
public void handleAdd(final Integer context, final AddRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<Result> handler) throws UnsupportedOperationException {
+ final LdapResultHandler<Result> handler) throws UnsupportedOperationException {
Result result = null;
final AbandonableRequest abReq = new AbandonableRequest(request);
requestsInProgress.put(context, abReq);
@@ -178,7 +178,7 @@
if (entryMap.containsKey(dn)) {
// duplicate entry.
result = Responses.newResult(ResultCode.ENTRY_ALREADY_EXISTS);
- handler.handleError(newLdapException(result));
+ handler.handleException(newLdapException(result));
// doesn't matter if it was canceled.
requestsInProgress.remove(context);
return;
@@ -196,7 +196,7 @@
if (abReq.isCanceled()) {
result = Responses.newResult(ResultCode.CANCELLED);
- handler.handleError(newLdapException(result));
+ handler.handleException(newLdapException(result));
requestsInProgress.remove(context);
return;
}
@@ -210,7 +210,7 @@
@Override
public void handleBind(final Integer context, final int version, final BindRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<BindResult> resultHandler) throws UnsupportedOperationException {
+ final LdapResultHandler<BindResult> resultHandler) throws UnsupportedOperationException {
// TODO: all bind types.
final AbandonableRequest abReq = new AbandonableRequest(request);
requestsInProgress.put(context, abReq);
@@ -308,7 +308,7 @@
ByteString.wrap(challenge)));
}
} catch (Exception e) {
- resultHandler.handleError(newLdapException(Responses
+ resultHandler.handleException(newLdapException(Responses
.newBindResult(ResultCode.OPERATIONS_ERROR).setCause(e)
.setDiagnosticMessage(e.toString())));
}
@@ -346,7 +346,7 @@
@Override
public void handleCompare(final Integer context, final CompareRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<CompareResult> resultHandler)
+ final LdapResultHandler<CompareResult> resultHandler)
throws UnsupportedOperationException {
CompareResult result = null;
final AbandonableRequest abReq = new AbandonableRequest(request);
@@ -356,7 +356,7 @@
if (!entryMap.containsKey(dn)) {
// entry not found.
result = Responses.newCompareResult(ResultCode.NO_SUCH_ATTRIBUTE);
- resultHandler.handleError(newLdapException(result));
+ resultHandler.handleException(newLdapException(result));
// doesn't matter if it was canceled.
requestsInProgress.remove(context);
return;
@@ -371,7 +371,7 @@
final ByteString s = it.next();
if (abReq.isCanceled()) {
final Result r = Responses.newResult(ResultCode.CANCELLED);
- resultHandler.handleError(newLdapException(r));
+ resultHandler.handleException(newLdapException(r));
requestsInProgress.remove(context);
return;
}
@@ -391,7 +391,7 @@
@Override
public void handleDelete(final Integer context, final DeleteRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<Result> handler) throws UnsupportedOperationException {
+ final LdapResultHandler<Result> handler) throws UnsupportedOperationException {
Result result = null;
final AbandonableRequest abReq = new AbandonableRequest(request);
requestsInProgress.put(context, abReq);
@@ -400,7 +400,7 @@
if (!entryMap.containsKey(dn)) {
// entry is not found.
result = Responses.newResult(ResultCode.NO_SUCH_OBJECT);
- handler.handleError(newLdapException(result));
+ handler.handleException(newLdapException(result));
// doesn't matter if it was canceled.
requestsInProgress.remove(context);
return;
@@ -408,7 +408,7 @@
if (abReq.isCanceled()) {
result = Responses.newResult(ResultCode.CANCELLED);
- handler.handleError(newLdapException(result));
+ handler.handleException(newLdapException(result));
requestsInProgress.remove(context);
return;
}
@@ -423,7 +423,7 @@
public <R extends ExtendedResult> void handleExtendedRequest(final Integer context,
final ExtendedRequest<R> request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<R> resultHandler) throws UnsupportedOperationException {
+ final LdapResultHandler<R> resultHandler) throws UnsupportedOperationException {
if (request.getOID().equals(StartTLSExtendedRequest.OID)) {
final R result = request.getResultDecoder().newExtendedErrorResult(ResultCode.SUCCESS, "", "");
resultHandler.handleResult(result);
@@ -435,21 +435,21 @@
@Override
public void handleModify(final Integer context, final ModifyRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<Result> resultHandler) throws UnsupportedOperationException {
+ final LdapResultHandler<Result> resultHandler) throws UnsupportedOperationException {
// TODO:
}
@Override
public void handleModifyDN(final Integer context, final ModifyDNRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<Result> resultHandler) throws UnsupportedOperationException {
+ final LdapResultHandler<Result> resultHandler) throws UnsupportedOperationException {
// TODO
}
@Override
public void handleSearch(final Integer context, final SearchRequest request,
final IntermediateResponseHandler intermediateResponseHandler, final SearchResultHandler entryHandler,
- final ResultHandler<Result> resultHandler) throws UnsupportedOperationException {
+ final LdapResultHandler<Result> resultHandler) throws UnsupportedOperationException {
Result result = null;
final AbandonableRequest abReq = new AbandonableRequest(request);
requestsInProgress.put(context, abReq);
@@ -458,7 +458,7 @@
if (!entryMap.containsKey(dn)) {
// Entry not found.
result = Responses.newResult(ResultCode.NO_SUCH_OBJECT);
- resultHandler.handleError(newLdapException(result));
+ resultHandler.handleException(newLdapException(result));
// Should searchResultHandler handle anything?
// doesn't matter if it was canceled.
@@ -468,7 +468,7 @@
if (abReq.isCanceled()) {
result = Responses.newResult(ResultCode.CANCELLED);
- resultHandler.handleError(newLdapException(result));
+ resultHandler.handleException(newLdapException(result));
requestsInProgress.remove(context);
return;
}
diff --git a/opendj-core/src/test/java/org/forgerock/opendj/ldap/spi/BasicLDAPConnectionFactory.java b/opendj-core/src/test/java/org/forgerock/opendj/ldap/spi/BasicLDAPConnectionFactory.java
index e091808..aa60a59 100644
--- a/opendj-core/src/test/java/org/forgerock/opendj/ldap/spi/BasicLDAPConnectionFactory.java
+++ b/opendj-core/src/test/java/org/forgerock/opendj/ldap/spi/BasicLDAPConnectionFactory.java
@@ -79,7 +79,7 @@
@Override
public Promise<Connection, LdapException> getConnectionAsync() {
- return newSuccessfulPromise(mock(Connection.class));
+ return newResultPromise(mock(Connection.class));
}
/**
diff --git a/opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/GrizzlyLDAPConnectionFactory.java b/opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/GrizzlyLDAPConnectionFactory.java
index 8df6801..21d89e0 100644
--- a/opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/GrizzlyLDAPConnectionFactory.java
+++ b/opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/GrizzlyLDAPConnectionFactory.java
@@ -47,10 +47,10 @@
import org.forgerock.opendj.ldap.requests.StartTLSExtendedRequest;
import org.forgerock.opendj.ldap.responses.ExtendedResult;
import org.forgerock.opendj.ldap.spi.LDAPConnectionFactoryImpl;
-import org.forgerock.util.promise.FailureHandler;
+import org.forgerock.util.promise.ExceptionHandler;
import org.forgerock.util.promise.Promise;
import org.forgerock.util.promise.PromiseImpl;
-import org.forgerock.util.promise.SuccessHandler;
+import org.forgerock.util.promise.ResultHandler;
import org.glassfish.grizzly.CompletionHandler;
import org.glassfish.grizzly.EmptyCompletionHandler;
import org.glassfish.grizzly.SocketConnectorHandler;
@@ -101,7 +101,7 @@
// Plain connection.
if (options.getSSLContext() == null) {
- onSuccess(connection);
+ thenOnResult(connection);
return;
}
@@ -123,15 +123,15 @@
startTLS.addEnabledProtocol(options.getEnabledProtocols().toArray(
new String[options.getEnabledProtocols().size()]));
- connection.extendedRequestAsync(startTLS).onSuccess(new SuccessHandler<ExtendedResult>() {
+ connection.extendedRequestAsync(startTLS).thenOnResult(new ResultHandler<ExtendedResult>() {
@Override
public void handleResult(final ExtendedResult result) {
- onSuccess(connection);
+ thenOnResult(connection);
}
- }).onFailure(new FailureHandler<LdapException>() {
+ }).thenOnException(new ExceptionHandler<LdapException>() {
@Override
- public void handleError(final LdapException error) {
- onFailure(connection, error);
+ public void handleException(final LdapException error) {
+ onException(connection, error);
}
});
} else {
@@ -141,16 +141,16 @@
options.getEnabledCipherSuites(), new EmptyCompletionHandler<SSLEngine>() {
@Override
public void completed(final SSLEngine result) {
- onSuccess(connection);
+ thenOnResult(connection);
}
@Override
public void failed(final Throwable throwable) {
- onFailure(connection, throwable);
+ onException(connection, throwable);
}
});
} catch (final IOException e) {
- onFailure(connection, e);
+ onException(connection, e);
}
}
}
@@ -159,7 +159,7 @@
public void failed(final Throwable throwable) {
// Adapt and forward.
timeoutChecker.get().removeListener(this);
- promise.handleError(adaptConnectionException(throwable));
+ promise.handleException(adaptConnectionException(throwable));
releaseTransportAndTimeoutChecker();
}
@@ -192,14 +192,14 @@
}
}
- private void onFailure(final GrizzlyLDAPConnection connection, final Throwable t) {
+ private void onException(final GrizzlyLDAPConnection connection, final Throwable t) {
// Abort connection attempt due to error.
timeoutChecker.get().removeListener(this);
- promise.handleError(adaptConnectionException(t));
+ promise.handleException(adaptConnectionException(t));
connection.close();
}
- private void onSuccess(final GrizzlyLDAPConnection connection) {
+ private void thenOnResult(final GrizzlyLDAPConnection connection) {
timeoutChecker.get().removeListener(this);
if (!promise.tryHandleResult(connection)) {
// The connection has been either cancelled or it has timed out.
@@ -214,7 +214,7 @@
} else if (timeoutEndTime > currentTime) {
return timeoutEndTime - currentTime;
} else {
- promise.handleError(newLdapException(ResultCode.CLIENT_SIDE_CONNECT_ERROR,
+ promise.handleException(newLdapException(ResultCode.CLIENT_SIDE_CONNECT_ERROR,
LDAP_CONNECTION_CONNECT_TIMEOUT.get(getSocketAddress(), getTimeout()).toString()));
return 0;
}
diff --git a/opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/LDAPServerFilter.java b/opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/LDAPServerFilter.java
index 35755a5..c0147de 100644
--- a/opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/LDAPServerFilter.java
+++ b/opendj-grizzly/src/main/java/org/forgerock/opendj/grizzly/LDAPServerFilter.java
@@ -49,7 +49,7 @@
import org.forgerock.opendj.ldap.LDAPListenerOptions;
import org.forgerock.opendj.ldap.LdapException;
import org.forgerock.opendj.ldap.ResultCode;
-import org.forgerock.opendj.ldap.ResultHandler;
+import org.forgerock.opendj.ldap.LdapResultHandler;
import org.forgerock.opendj.ldap.SSLContextBuilder;
import org.forgerock.opendj.ldap.SearchResultHandler;
import org.forgerock.opendj.ldap.ServerConnection;
@@ -115,7 +115,7 @@
};
private static abstract class AbstractHandler<R extends Result> implements
- IntermediateResponseHandler, ResultHandler<R> {
+ IntermediateResponseHandler, LdapResultHandler<R> {
protected final ClientContextImpl context;
protected final int messageID;
@@ -178,7 +178,7 @@
ldapWrite.perform(writer, messageID, message);
context.write(writer);
} catch (final IOException ioe) {
- context.handleError(ioe);
+ context.handleException(ioe);
} finally {
GrizzlyUtils.recycleWriter(writer);
}
@@ -209,7 +209,7 @@
}
@Override
- public void handleError(final LdapException error) {
+ public void handleException(final LdapException error) {
handleResult(error.getResult());
}
@@ -226,7 +226,7 @@
}
@Override
- public void handleError(final LdapException error) {
+ public void handleException(final LdapException error) {
final Result result = error.getResult();
if (result instanceof BindResult) {
handleResult((BindResult) result);
@@ -337,7 +337,7 @@
writer.writeExtendedResult(0, notification);
connection.write(writer.getASN1Writer().getBuffer(), null);
} catch (final IOException ioe) {
- handleError(ioe);
+ handleException(ioe);
} finally {
GrizzlyUtils.recycleWriter(writer);
}
@@ -402,7 +402,7 @@
}
}
- private void handleError(final Throwable error) {
+ private void handleException(final Throwable error) {
// Close this connection context.
if (isClosed.compareAndSet(false, true)) {
try {
@@ -458,7 +458,7 @@
}
@Override
- public void handleError(final LdapException error) {
+ public void handleException(final LdapException error) {
final Result result = error.getResult();
if (result instanceof CompareResult) {
handleResult((CompareResult) result);
@@ -483,7 +483,7 @@
}
@Override
- public void handleError(final LdapException error) {
+ public void handleException(final LdapException error) {
handleResult(error.getResult());
}
@@ -500,7 +500,7 @@
}
@Override
- public void handleError(final LdapException error) {
+ public void handleException(final LdapException error) {
final Result result = error.getResult();
if (result instanceof ExtendedResult) {
handleResult((ExtendedResult) result);
@@ -541,7 +541,7 @@
}
@Override
- public void handleError(final LdapException error) {
+ public void handleException(final LdapException error) {
handleResult(error.getResult());
}
@@ -558,7 +558,7 @@
}
@Override
- public void handleError(final LdapException error) {
+ public void handleException(final LdapException error) {
handleResult(error.getResult());
}
@@ -588,7 +588,7 @@
}
@Override
- public void handleError(final LdapException error) {
+ public void handleException(final LdapException error) {
handleResult(error.getResult());
}
@@ -835,7 +835,7 @@
private static void exceptionOccurred(final Connection<?> connection, final Throwable error) {
final ClientContextImpl clientContext = LDAP_CONNECTION_ATTR.remove(connection);
if (clientContext != null) {
- clientContext.handleError(error);
+ clientContext.handleException(error);
}
}
diff --git a/opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/ConnectionFactoryTestCase.java b/opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/ConnectionFactoryTestCase.java
index 730f82a..eeecf33 100644
--- a/opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/ConnectionFactoryTestCase.java
+++ b/opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/ConnectionFactoryTestCase.java
@@ -56,7 +56,7 @@
import org.forgerock.opendj.ldap.LDAPServer;
import org.forgerock.opendj.ldap.MockConnectionEventListener;
import org.forgerock.opendj.ldap.ResultCode;
-import org.forgerock.opendj.ldap.ResultHandler;
+import org.forgerock.opendj.ldap.LdapResultHandler;
import org.forgerock.opendj.ldap.RoundRobinLoadBalancingAlgorithm;
import org.forgerock.opendj.ldap.SSLContextBuilder;
import org.forgerock.opendj.ldap.SdkTestCase;
@@ -74,10 +74,10 @@
import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.forgerock.opendj.ldap.schema.Schema;
import org.forgerock.opendj.ldap.schema.SchemaBuilder;
-import org.forgerock.util.promise.FailureHandler;
+import org.forgerock.util.promise.ExceptionHandler;
import org.forgerock.util.promise.Promise;
import org.forgerock.util.promise.PromiseImpl;
-import org.forgerock.util.promise.SuccessHandler;
+import org.forgerock.util.promise.ResultHandler;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
import org.testng.annotations.AfterClass;
@@ -278,16 +278,16 @@
// Use the promise to get the result asynchronously.
final PromiseImpl<Connection, LdapException> promise = PromiseImpl.create();
- factory.getConnectionAsync().onSuccess(new SuccessHandler<Connection>() {
+ factory.getConnectionAsync().thenOnResult(new ResultHandler<Connection>() {
@Override
public void handleResult(Connection con) {
con.close();
promise.handleResult(con);
}
- }).onFailure(new FailureHandler<LdapException>() {
+ }).thenOnException(new ExceptionHandler<LdapException>() {
@Override
- public void handleError(LdapException error) {
- promise.handleError(error);
+ public void handleException(LdapException exception) {
+ promise.handleException(exception);
}
});
@@ -541,8 +541,8 @@
doAnswer(new Answer<Void>() {
@Override
public Void answer(InvocationOnMock invocation) throws Throwable {
- ResultHandler<? super BindResult> resultHandler =
- (ResultHandler<? super BindResult>) invocation
+ LdapResultHandler<? super BindResult> resultHandler =
+ (LdapResultHandler<? super BindResult>) invocation
.getArguments()[4];
resultHandler.handleResult(Responses
.newBindResult(ResultCode.SUCCESS));
@@ -550,7 +550,7 @@
}
}).when(mockConnection).handleBind(anyInt(), anyInt(),
any(BindRequest.class), any(IntermediateResponseHandler.class),
- any(ResultHandler.class));
+ any(LdapResultHandler.class));
return mockConnection;
}
}
diff --git a/opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/GrizzlyLDAPConnectionFactoryTestCase.java b/opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/GrizzlyLDAPConnectionFactoryTestCase.java
index 70ede6b..1ac8717 100644
--- a/opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/GrizzlyLDAPConnectionFactoryTestCase.java
+++ b/opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/GrizzlyLDAPConnectionFactoryTestCase.java
@@ -47,7 +47,7 @@
import org.forgerock.opendj.ldap.MockConnectionEventListener;
import org.forgerock.opendj.ldap.ProviderNotFoundException;
import org.forgerock.opendj.ldap.ResultCode;
-import org.forgerock.opendj.ldap.ResultHandler;
+import org.forgerock.opendj.ldap.LdapResultHandler;
import org.forgerock.opendj.ldap.SdkTestCase;
import org.forgerock.opendj.ldap.SearchResultHandler;
import org.forgerock.opendj.ldap.ServerConnection;
@@ -59,7 +59,7 @@
import org.forgerock.opendj.ldap.requests.UnbindRequest;
import org.forgerock.opendj.ldap.responses.BindResult;
import org.forgerock.opendj.ldap.responses.SearchResultEntry;
-import org.forgerock.util.promise.FailureHandler;
+import org.forgerock.util.promise.ExceptionHandler;
import org.forgerock.util.promise.NeverThrowsException;
import org.forgerock.util.promise.Promise;
import org.forgerock.util.promise.PromiseImpl;
@@ -127,7 +127,7 @@
for (int i = 0; i < ITERATIONS; i++) {
final PromiseImpl<LdapException, NeverThrowsException> promise = PromiseImpl.create();
final Promise<? extends Connection, LdapException> connectionPromise = factory.getConnectionAsync();
- connectionPromise.onFailure(getFailureHandler(promise));
+ connectionPromise.thenOnException(getExceptionHandler(promise));
ConnectionException e = (ConnectionException) promise.getOrThrow(TEST_TIMEOUT, TimeUnit.SECONDS);
assertThat(e.getResult().getResultCode()).isEqualTo(ResultCode.CLIENT_SIDE_CONNECT_ERROR);
@@ -164,7 +164,7 @@
connection.addConnectionEventListener(listener);
final PromiseImpl<LdapException, NeverThrowsException> promise = PromiseImpl.create();
final LdapPromise<BindResult> bindPromise = connection.bindAsync(newSimpleBindRequest());
- bindPromise.onFailure(getFailureHandler(promise));
+ bindPromise.thenOnException(getExceptionHandler(promise));
waitForBind();
TimeoutResultException e = (TimeoutResultException) promise.getOrThrow(TEST_TIMEOUT, TimeUnit.SECONDS);
@@ -214,7 +214,7 @@
// Now bind with timeout.
final PromiseImpl<LdapException, NeverThrowsException> promise = PromiseImpl.create();
final LdapPromise<BindResult> bindPromise = connection.bindAsync(newSimpleBindRequest());
- bindPromise.onFailure(getFailureHandler(promise));
+ bindPromise.thenOnException(getExceptionHandler(promise));
waitForBind();
// Wait for the request to timeout and check the handler was invoked.
@@ -268,7 +268,7 @@
final PromiseImpl<LdapException, NeverThrowsException> promise = PromiseImpl.create();
final LdapPromise<SearchResultEntry> connectionPromise =
connection.readEntryAsync(DN.valueOf("cn=test"), null);
- connectionPromise.onFailure(getFailureHandler(promise));
+ connectionPromise.thenOnException(getExceptionHandler(promise));
waitForSearch();
LdapException e = promise.getOrThrow(TEST_TIMEOUT, TimeUnit.SECONDS);
@@ -367,12 +367,12 @@
}
}
- private FailureHandler<LdapException> getFailureHandler(
+ private ExceptionHandler<LdapException> getExceptionHandler(
final PromiseImpl<LdapException, NeverThrowsException> promise) {
- return new FailureHandler<LdapException>() {
+ return new ExceptionHandler<LdapException>() {
@Override
- public void handleError(LdapException error) {
- promise.handleResult(error);
+ public void handleException(LdapException exception) {
+ promise.handleResult(exception);
}
};
}
@@ -395,7 +395,7 @@
private void registerBindEvent() {
notifyEvent(bindLatch).when(serverConnection).handleBind(any(Integer.class), anyInt(),
any(BindRequest.class), any(IntermediateResponseHandler.class),
- any(ResultHandler.class));
+ any(LdapResultHandler.class));
}
private void registerCloseEvent() {
@@ -405,7 +405,7 @@
private void registerSearchEvent() {
notifyEvent(searchLatch).when(serverConnection).handleSearch(any(Integer.class), any(SearchRequest.class),
- any(IntermediateResponseHandler.class), any(SearchResultHandler.class), any(ResultHandler.class));
+ any(IntermediateResponseHandler.class), any(SearchResultHandler.class), any(LdapResultHandler.class));
}
private void resetState() {
diff --git a/opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/GrizzlyLDAPConnectionTestCase.java b/opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/GrizzlyLDAPConnectionTestCase.java
index 9dab53b..8c8471a 100644
--- a/opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/GrizzlyLDAPConnectionTestCase.java
+++ b/opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/GrizzlyLDAPConnectionTestCase.java
@@ -49,7 +49,7 @@
import org.forgerock.opendj.ldap.controls.PersistentSearchRequestControl;
import org.forgerock.opendj.ldap.requests.Requests;
import org.forgerock.opendj.ldap.requests.SearchRequest;
-import org.forgerock.util.promise.FailureHandler;
+import org.forgerock.util.promise.ExceptionHandler;
import org.mockito.ArgumentCaptor;
import org.testng.annotations.Test;
@@ -103,8 +103,8 @@
}
SearchResultHandler searchHandler = mock(SearchResultHandler.class);
@SuppressWarnings("unchecked")
- FailureHandler<LdapException> failureHandler = mock(FailureHandler.class);
- connection.searchAsync(request, searchHandler).onFailure(failureHandler);
+ ExceptionHandler<LdapException> exceptionHandler = mock(ExceptionHandler.class);
+ connection.searchAsync(request, searchHandler).thenOnException(exceptionHandler);
// Pass in a time which is guaranteed to trigger expiration.
connection.handleTimeout(System.currentTimeMillis() + 1000000);
@@ -112,7 +112,7 @@
verifyZeroInteractions(searchHandler);
} else {
ArgumentCaptor<LdapException> arg = ArgumentCaptor.forClass(LdapException.class);
- verify(failureHandler).handleError(arg.capture());
+ verify(exceptionHandler).handleException(arg.capture());
assertThat(arg.getValue()).isInstanceOf(TimeoutResultException.class);
assertThat(arg.getValue().getResult().getResultCode()).isEqualTo(
ResultCode.CLIENT_SIDE_TIMEOUT);
diff --git a/opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/GrizzlyLDAPListenerTestCase.java b/opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/GrizzlyLDAPListenerTestCase.java
index 4bc9740..918c0d7 100644
--- a/opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/GrizzlyLDAPListenerTestCase.java
+++ b/opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/GrizzlyLDAPListenerTestCase.java
@@ -45,7 +45,7 @@
import org.forgerock.opendj.ldap.LdapException;
import org.forgerock.opendj.ldap.ProviderNotFoundException;
import org.forgerock.opendj.ldap.ResultCode;
-import org.forgerock.opendj.ldap.ResultHandler;
+import org.forgerock.opendj.ldap.LdapResultHandler;
import org.forgerock.opendj.ldap.RoundRobinLoadBalancingAlgorithm;
import org.forgerock.opendj.ldap.SdkTestCase;
import org.forgerock.opendj.ldap.SearchResultHandler;
@@ -104,7 +104,7 @@
@Override
public void handleAdd(final Integer requestContext, final AddRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<Result> resultHandler) throws UnsupportedOperationException {
+ final LdapResultHandler<Result> resultHandler) throws UnsupportedOperationException {
resultHandler.handleResult(Responses.newResult(ResultCode.SUCCESS));
}
@@ -113,7 +113,7 @@
public void handleBind(final Integer requestContext, final int version,
final BindRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<BindResult> resultHandler) throws UnsupportedOperationException {
+ final LdapResultHandler<BindResult> resultHandler) throws UnsupportedOperationException {
resultHandler.handleResult(Responses.newBindResult(ResultCode.SUCCESS));
}
@@ -121,7 +121,7 @@
@Override
public void handleCompare(final Integer requestContext, final CompareRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<CompareResult> resultHandler)
+ final LdapResultHandler<CompareResult> resultHandler)
throws UnsupportedOperationException {
resultHandler.handleResult(Responses.newCompareResult(ResultCode.SUCCESS));
}
@@ -148,7 +148,7 @@
@Override
public void handleDelete(final Integer requestContext, final DeleteRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<Result> resultHandler) throws UnsupportedOperationException {
+ final LdapResultHandler<Result> resultHandler) throws UnsupportedOperationException {
resultHandler.handleResult(Responses.newResult(ResultCode.SUCCESS));
}
@@ -157,8 +157,8 @@
public <R extends ExtendedResult> void handleExtendedRequest(final Integer requestContext,
final ExtendedRequest<R> request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<R> resultHandler) throws UnsupportedOperationException {
- resultHandler.handleError(newLdapException(request
+ final LdapResultHandler<R> resultHandler) throws UnsupportedOperationException {
+ resultHandler.handleException(newLdapException(request
.getResultDecoder().newExtendedErrorResult(ResultCode.PROTOCOL_ERROR, "",
"Extended operation " + request.getOID() + " not supported")));
}
@@ -167,7 +167,7 @@
@Override
public void handleModify(final Integer requestContext, final ModifyRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<Result> resultHandler) throws UnsupportedOperationException {
+ final LdapResultHandler<Result> resultHandler) throws UnsupportedOperationException {
resultHandler.handleResult(Responses.newResult(ResultCode.SUCCESS));
}
@@ -175,7 +175,7 @@
@Override
public void handleModifyDN(final Integer requestContext, final ModifyDNRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<Result> resultHandler) throws UnsupportedOperationException {
+ final LdapResultHandler<Result> resultHandler) throws UnsupportedOperationException {
resultHandler.handleResult(Responses.newResult(ResultCode.SUCCESS));
}
@@ -183,7 +183,7 @@
@Override
public void handleSearch(final Integer requestContext, final SearchRequest request,
final IntermediateResponseHandler intermediateResponseHandler, final SearchResultHandler entryHandler,
- final ResultHandler<Result> resultHandler) throws UnsupportedOperationException {
+ final LdapResultHandler<Result> resultHandler) throws UnsupportedOperationException {
resultHandler.handleResult(Responses.newResult(ResultCode.SUCCESS));
}
@@ -417,7 +417,7 @@
public void handleBind(final Integer requestContext, final int version,
final BindRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<BindResult> resultHandler)
+ final LdapResultHandler<BindResult> resultHandler)
throws UnsupportedOperationException {
// Get connection from load balancer, this should fail over
// twice before getting connection to online server.
@@ -426,7 +426,7 @@
resultHandler.handleResult(Responses.newBindResult(ResultCode.SUCCESS));
} catch (final Exception e) {
// Unexpected.
- resultHandler.handleError(newLdapException(ResultCode.OTHER,
+ resultHandler.handleException(newLdapException(ResultCode.OTHER,
"Unexpected exception when connecting to load balancer", e));
}
}
@@ -569,7 +569,7 @@
public void handleBind(final Integer requestContext, final int version,
final BindRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<BindResult> resultHandler)
+ final LdapResultHandler<BindResult> resultHandler)
throws UnsupportedOperationException {
// First attempt offline server.
InetSocketAddress offlineAddress = findFreeSocketAddress();
@@ -578,7 +578,7 @@
try {
// This is expected to fail.
lcf.getConnection().close();
- resultHandler.handleError(newLdapException(
+ resultHandler.handleException(newLdapException(
ResultCode.OTHER,
"Connection to offline server succeeded unexpectedly"));
} catch (final ConnectionException ce) {
@@ -590,13 +590,13 @@
resultHandler.handleResult(Responses.newBindResult(ResultCode.SUCCESS));
} catch (final Exception e) {
// Unexpected.
- resultHandler.handleError(newLdapException(
+ resultHandler.handleException(newLdapException(
ResultCode.OTHER,
"Unexpected exception when connecting to online server", e));
}
} catch (final Exception e) {
// Unexpected.
- resultHandler.handleError(newLdapException(
+ resultHandler.handleException(newLdapException(
ResultCode.OTHER,
"Unexpected exception when connecting to offline server", e));
}
diff --git a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ProxyBackend.java b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ProxyBackend.java
index 6896013..56ad3af 100644
--- a/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ProxyBackend.java
+++ b/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/ProxyBackend.java
@@ -36,7 +36,7 @@
import org.forgerock.opendj.ldap.RequestContext;
import org.forgerock.opendj.ldap.RequestHandler;
import org.forgerock.opendj.ldap.ResultCode;
-import org.forgerock.opendj.ldap.ResultHandler;
+import org.forgerock.opendj.ldap.LdapResultHandler;
import org.forgerock.opendj.ldap.SearchResultHandler;
import org.forgerock.opendj.ldap.controls.ProxiedAuthV2RequestControl;
import org.forgerock.opendj.ldap.requests.AddRequest;
@@ -54,9 +54,9 @@
import org.forgerock.opendj.ldap.responses.CompareResult;
import org.forgerock.opendj.ldap.responses.ExtendedResult;
import org.forgerock.opendj.ldap.responses.Result;
-import org.forgerock.util.promise.AsyncFunction;
+import org.forgerock.util.AsyncFunction;
import org.forgerock.util.promise.Promise;
-import org.forgerock.util.promise.SuccessHandler;
+import org.forgerock.util.promise.ResultHandler;
import static org.forgerock.opendj.ldap.LdapException.*;
import static org.forgerock.util.Utils.*;
@@ -103,7 +103,7 @@
/** {@inheritDoc} */
@Override
public void handleAdd(final RequestContext requestContext, final AddRequest request,
- final IntermediateResponseHandler intermediateResponseHandler, final ResultHandler<Result> resultHandler) {
+ final IntermediateResponseHandler intermediateResponseHandler, final LdapResultHandler<Result> resultHandler) {
final AtomicReference<Connection> connectionHolder = new AtomicReference<>();
addProxiedAuthControl(request);
@@ -113,17 +113,18 @@
connectionHolder.set(connection);
return connection.addAsync(request, intermediateResponseHandler);
}
- }).onSuccess(resultHandler).onFailure(resultHandler).thenAlways(close(connectionHolder));
+ }).thenOnResult(resultHandler).thenOnException(resultHandler).thenAlways(close(connectionHolder));
}
/** {@inheritDoc} */
@Override
public void handleBind(final RequestContext requestContext, final int version, final BindRequest request,
- final IntermediateResponseHandler intermediateResponseHandler, final ResultHandler<BindResult> resultHandler) {
+ final IntermediateResponseHandler intermediateResponseHandler,
+ final LdapResultHandler<BindResult> resultHandler) {
if (request.getAuthenticationType() != BindRequest.AUTHENTICATION_TYPE_SIMPLE) {
// TODO: SASL authentication not implemented.
- resultHandler.handleError(newLdapException(ResultCode.PROTOCOL_ERROR,
+ resultHandler.handleException(newLdapException(ResultCode.PROTOCOL_ERROR,
"non-SIMPLE authentication not supported: " + request.getAuthenticationType()));
} else {
// Authenticate using a separate bind connection pool, because
@@ -137,13 +138,13 @@
connectionHolder.set(connection);
return connection.bindAsync(request, intermediateResponseHandler);
}
- }).onSuccess(new SuccessHandler<BindResult>() {
+ }).thenOnResult(new ResultHandler<BindResult>() {
@Override
public final void handleResult(final BindResult result) {
proxiedAuthControl = ProxiedAuthV2RequestControl.newControl("dn:" + request.getName());
resultHandler.handleResult(result);
}
- }).onFailure(resultHandler).thenAlways(close(connectionHolder));
+ }).thenOnException(resultHandler).thenAlways(close(connectionHolder));
}
}
@@ -152,7 +153,7 @@
@Override
public void handleCompare(final RequestContext requestContext, final CompareRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<CompareResult> resultHandler) {
+ final LdapResultHandler<CompareResult> resultHandler) {
addProxiedAuthControl(request);
final AtomicReference<Connection> connectionHolder = new AtomicReference<>();
@@ -162,13 +163,14 @@
connectionHolder.set(connection);
return connection.compareAsync(request, intermediateResponseHandler);
}
- }).onSuccess(resultHandler).onFailure(resultHandler).thenAlways(close(connectionHolder));
+ }).thenOnResult(resultHandler).thenOnException(resultHandler).thenAlways(close(connectionHolder));
}
/** {@inheritDoc} */
@Override
public void handleDelete(final RequestContext requestContext, final DeleteRequest request,
- final IntermediateResponseHandler intermediateResponseHandler, final ResultHandler<Result> resultHandler) {
+ final IntermediateResponseHandler intermediateResponseHandler,
+ final LdapResultHandler<Result> resultHandler) {
addProxiedAuthControl(request);
final AtomicReference<Connection> connectionHolder = new AtomicReference<>();
@@ -178,21 +180,21 @@
connectionHolder.set(connection);
return connection.deleteAsync(request, intermediateResponseHandler);
}
- }).onSuccess(resultHandler).onFailure(resultHandler).thenAlways(close(connectionHolder));
+ }).thenOnResult(resultHandler).thenOnException(resultHandler).thenAlways(close(connectionHolder));
}
/** {@inheritDoc} */
@Override
public <R extends ExtendedResult> void handleExtendedRequest(final RequestContext requestContext,
final ExtendedRequest<R> request, final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<R> resultHandler) {
+ final LdapResultHandler<R> resultHandler) {
if (CancelExtendedRequest.OID.equals(request.getOID())) {
// TODO: not implemented.
- resultHandler.handleError(newLdapException(ResultCode.PROTOCOL_ERROR,
+ resultHandler.handleException(newLdapException(ResultCode.PROTOCOL_ERROR,
"Cancel extended request operation not supported"));
} else if (StartTLSExtendedRequest.OID.equals(request.getOID())) {
// TODO: not implemented.
- resultHandler.handleError(newLdapException(ResultCode.PROTOCOL_ERROR,
+ resultHandler.handleException(newLdapException(ResultCode.PROTOCOL_ERROR,
"StartTLS extended request operation not supported"));
} else {
// Forward all other extended operations.
@@ -205,7 +207,7 @@
connectionHolder.set(connection);
return connection.extendedRequestAsync(request, intermediateResponseHandler);
}
- }).onSuccess(resultHandler).onFailure(resultHandler)
+ }).thenOnResult(resultHandler).thenOnException(resultHandler)
.thenAlways(close(connectionHolder));
}
}
@@ -213,7 +215,8 @@
/** {@inheritDoc} */
@Override
public void handleModify(final RequestContext requestContext, final ModifyRequest request,
- final IntermediateResponseHandler intermediateResponseHandler, final ResultHandler<Result> resultHandler) {
+ final IntermediateResponseHandler intermediateResponseHandler,
+ final LdapResultHandler<Result> resultHandler) {
addProxiedAuthControl(request);
final AtomicReference<Connection> connectionHolder = new AtomicReference<>();
@@ -223,13 +226,13 @@
connectionHolder.set(connection);
return connection.modifyAsync(request, intermediateResponseHandler);
}
- }).onSuccess(resultHandler).onFailure(resultHandler).thenAlways(close(connectionHolder));
+ }).thenOnResult(resultHandler).thenOnException(resultHandler).thenAlways(close(connectionHolder));
}
/** {@inheritDoc} */
@Override
public void handleModifyDN(final RequestContext requestContext, final ModifyDNRequest request,
- final IntermediateResponseHandler intermediateResponseHandler, final ResultHandler<Result> resultHandler) {
+ final IntermediateResponseHandler intermediateResponseHandler, final LdapResultHandler<Result> resultHandler) {
addProxiedAuthControl(request);
final AtomicReference<Connection> connectionHolder = new AtomicReference<>();
@@ -239,14 +242,14 @@
connectionHolder.set(connection);
return connection.modifyDNAsync(request, intermediateResponseHandler);
}
- }).onSuccess(resultHandler).onFailure(resultHandler).thenAlways(close(connectionHolder));
+ }).thenOnResult(resultHandler).thenOnException(resultHandler).thenAlways(close(connectionHolder));
}
/** {@inheritDoc} */
@Override
public void handleSearch(final RequestContext requestContext, final SearchRequest request,
final IntermediateResponseHandler intermediateResponseHandler, final SearchResultHandler entryHandler,
- final ResultHandler<Result> resultHandler) {
+ final LdapResultHandler<Result> resultHandler) {
addProxiedAuthControl(request);
final AtomicReference<Connection> connectionHolder = new AtomicReference<>();
@@ -256,7 +259,7 @@
connectionHolder.set(connection);
return connection.searchAsync(request, intermediateResponseHandler, entryHandler);
}
- }).onSuccess(resultHandler).onFailure(resultHandler).thenAlways(close(connectionHolder));
+ }).thenOnResult(resultHandler).thenOnException(resultHandler).thenAlways(close(connectionHolder));
}
private void addProxiedAuthControl(final Request request) {
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 bf7cfa9..0f5a780 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
@@ -49,7 +49,7 @@
import org.forgerock.opendj.ldap.RequestContext;
import org.forgerock.opendj.ldap.RequestHandler;
import org.forgerock.opendj.ldap.RequestHandlerFactory;
-import org.forgerock.opendj.ldap.ResultHandler;
+import org.forgerock.opendj.ldap.LdapResultHandler;
import org.forgerock.opendj.ldap.SearchResultHandler;
import org.forgerock.opendj.ldap.ServerConnectionFactory;
import org.forgerock.opendj.ldap.controls.Control;
@@ -132,7 +132,7 @@
@Override
public void handleAdd(final RequestContext requestContext, final AddRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<Result> resultHandler) {
+ final LdapResultHandler<Result> resultHandler) {
nextHandler.handleAdd(requestContext, rewrite(request), intermediateResponseHandler,
resultHandler);
}
@@ -141,7 +141,7 @@
public void handleBind(final RequestContext requestContext, final int version,
final BindRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<BindResult> resultHandler) {
+ final LdapResultHandler<BindResult> resultHandler) {
nextHandler.handleBind(requestContext, version, rewrite(request),
intermediateResponseHandler, resultHandler);
}
@@ -150,7 +150,7 @@
public void handleCompare(final RequestContext requestContext,
final CompareRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<CompareResult> resultHandler) {
+ final LdapResultHandler<CompareResult> resultHandler) {
nextHandler.handleCompare(requestContext, rewrite(request),
intermediateResponseHandler, resultHandler);
}
@@ -158,7 +158,7 @@
@Override
public void handleDelete(final RequestContext requestContext, final DeleteRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<Result> resultHandler) {
+ final LdapResultHandler<Result> resultHandler) {
nextHandler.handleDelete(requestContext, rewrite(request), intermediateResponseHandler,
resultHandler);
}
@@ -167,7 +167,7 @@
public <R extends ExtendedResult> void handleExtendedRequest(
final RequestContext requestContext, final ExtendedRequest<R> request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<R> resultHandler) {
+ final LdapResultHandler<R> resultHandler) {
nextHandler.handleExtendedRequest(requestContext, rewrite(request),
intermediateResponseHandler, resultHandler);
}
@@ -175,7 +175,7 @@
@Override
public void handleModify(final RequestContext requestContext, final ModifyRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<Result> resultHandler) {
+ final LdapResultHandler<Result> resultHandler) {
nextHandler.handleModify(requestContext, rewrite(request), intermediateResponseHandler,
resultHandler);
}
@@ -184,7 +184,7 @@
public void handleModifyDN(final RequestContext requestContext,
final ModifyDNRequest request,
final IntermediateResponseHandler intermediateResponseHandler,
- final ResultHandler<Result> resultHandler) {
+ final LdapResultHandler<Result> resultHandler) {
nextHandler.handleModifyDN(requestContext, rewrite(request),
intermediateResponseHandler, resultHandler);
}
@@ -192,7 +192,7 @@
@Override
public void handleSearch(final RequestContext requestContext, final SearchRequest request,
final IntermediateResponseHandler intermediateResponseHandler, final SearchResultHandler entryHandler,
- final ResultHandler<Result> resultHandler) {
+ final LdapResultHandler<Result> resultHandler) {
nextHandler.handleSearch(requestContext, rewrite(request), intermediateResponseHandler,
new SearchResultHandler() {
@Override
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 d4007ef..9825710 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
@@ -45,10 +45,10 @@
import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.forgerock.opendj.ldap.responses.SearchResultReference;
import org.forgerock.opendj.ldif.LDIFEntryWriter;
-import org.forgerock.util.promise.AsyncFunction;
-import org.forgerock.util.promise.FailureHandler;
+import org.forgerock.util.AsyncFunction;
+import org.forgerock.util.promise.ExceptionHandler;
import org.forgerock.util.promise.Promise;
-import org.forgerock.util.promise.SuccessHandler;
+import org.forgerock.util.promise.ResultHandler;
/**
* An example client application which searches a Directory Server using the
@@ -74,20 +74,20 @@
CancelExtendedRequest request =
Requests.newCancelExtendedRequest(requestID);
connection.extendedRequestAsync(request)
- .onSuccess(new SuccessHandler<ExtendedResult>() {
+ .thenOnResult(new ResultHandler<ExtendedResult>() {
@Override
public void handleResult(ExtendedResult result) {
System.err.println("Cancel request succeeded");
CANCEL_LATCH.countDown();
}
})
- .onFailure(new FailureHandler<LdapException>() {
+ .thenOnException(new ExceptionHandler<LdapException>() {
@Override
- public void handleError(LdapException error) {
+ public void handleException(LdapException exception) {
System.err.println("Cancel request failed: "
- + error.getResult().getResultCode().intValue()
+ + exception.getResult().getResultCode().intValue()
+ " "
- + error.getResult().getDiagnosticMessage());
+ + exception.getResult().getDiagnosticMessage());
CANCEL_LATCH.countDown();
}
});
@@ -198,18 +198,18 @@
return promise;
}
})
- .onSuccess(new SuccessHandler<Result>() {
+ .thenOnResult(new ResultHandler<Result>() {
@Override
public void handleResult(Result result) {
resultCode = result.getResultCode().intValue();
COMPLETION_LATCH.countDown();
}
})
- .onFailure(new FailureHandler<LdapException>() {
+ .thenOnException(new ExceptionHandler<LdapException>() {
@Override
- public void handleError(LdapException error) {
- System.err.println(error.getMessage());
- resultCode = error.getResult().getResultCode().intValue();
+ public void handleException(LdapException exception) {
+ System.err.println(exception.getMessage());
+ resultCode = exception.getResult().getResultCode().intValue();
COMPLETION_LATCH.countDown();
}
});
diff --git a/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/AddRate.java b/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/AddRate.java
index d3cc943..944980c 100644
--- a/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/AddRate.java
+++ b/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/AddRate.java
@@ -53,7 +53,7 @@
import org.forgerock.opendj.ldap.Entry;
import org.forgerock.opendj.ldap.LdapException;
import org.forgerock.opendj.ldap.ResultCode;
-import org.forgerock.opendj.ldap.ResultHandler;
+import org.forgerock.opendj.ldap.LdapResultHandler;
import org.forgerock.opendj.ldap.responses.Responses;
import org.forgerock.opendj.ldap.responses.Result;
import org.forgerock.opendj.ldif.EntryGenerator;
@@ -176,9 +176,9 @@
return doAdd(connection, currentTime);
} catch (final AddRateExecutionEndedException a) {
- return newSuccessfulPromise(OTHER);
+ return newResultPromise(OTHER);
} catch (final IOException e) {
- return newFailedPromise(newLdapException(OTHER, e));
+ return newExceptionPromise(newLdapException(OTHER, e));
}
}
@@ -236,18 +236,19 @@
entry = generator.readEntry();
}
- final ResultHandler<Result> addHandler = new AddStatsHandler(currentTime, entry.getName().toString());
+ final LdapResultHandler<Result> addHandler = new AddStatsHandler(
+ currentTime, entry.getName().toString());
return connection.addAsync(newAddRequest(entry))
- .onSuccess(addHandler)
- .onFailure(addHandler);
+ .thenOnResult(addHandler)
+ .thenOnException(addHandler);
}
private Promise<?, LdapException> doDelete(
final Connection connection, final long currentTime, final String entryToRemove) {
- final ResultHandler<Result> deleteHandler = new DeleteStatsHandler(currentTime);
+ final LdapResultHandler<Result> deleteHandler = new DeleteStatsHandler(currentTime);
return connection.deleteAsync(newDeleteRequest(entryToRemove))
- .onSuccess(deleteHandler)
- .onFailure(deleteHandler);
+ .thenOnResult(deleteHandler)
+ .thenOnException(deleteHandler);
}
}
diff --git a/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/AuthRate.java b/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/AuthRate.java
index 48ea19c..a93926b 100644
--- a/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/AuthRate.java
+++ b/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/AuthRate.java
@@ -59,7 +59,7 @@
import org.forgerock.opendj.ldap.requests.SimpleBindRequest;
import org.forgerock.opendj.ldap.responses.BindResult;
import org.forgerock.opendj.ldap.responses.SearchResultEntry;
-import org.forgerock.util.promise.AsyncFunction;
+import org.forgerock.util.AsyncFunction;
import org.forgerock.util.promise.Promise;
import com.forgerock.opendj.cli.ArgumentException;
@@ -105,10 +105,10 @@
}
@Override
- public void handleError(final LdapException error) {
- super.handleError(error);
+ public void handleException(final LdapException exception) {
+ super.handleException(exception);
- if (error.getResult().getResultCode() == ResultCode.INVALID_CREDENTIALS) {
+ if (exception.getResult().getResultCode() == ResultCode.INVALID_CREDENTIALS) {
invalidCredRecentCount.getAndIncrement();
}
}
@@ -181,8 +181,8 @@
}
incrementIterationCount();
- return returnedPromise.onSuccess(new UpdateStatsResultHandler<BindResult>(startTime)).onFailure(
- new BindUpdateStatsResultHandler(startTime));
+ return returnedPromise.thenOnResult(new UpdateStatsResultHandler<BindResult>(startTime))
+ .thenOnException(new BindUpdateStatsResultHandler(startTime));
}
private Promise<BindResult, LdapException> performBind(final Connection connection,
diff --git a/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/ModRate.java b/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/ModRate.java
index 1910710..d7754b2 100644
--- a/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/ModRate.java
+++ b/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/ModRate.java
@@ -32,7 +32,7 @@
import org.forgerock.opendj.ldap.LdapException;
import org.forgerock.opendj.ldap.ModificationType;
import org.forgerock.opendj.ldap.ResultCode;
-import org.forgerock.opendj.ldap.ResultHandler;
+import org.forgerock.opendj.ldap.LdapResultHandler;
import org.forgerock.opendj.ldap.requests.ModifyRequest;
import org.forgerock.opendj.ldap.requests.Requests;
import org.forgerock.opendj.ldap.responses.Result;
@@ -72,10 +72,10 @@
data = DataSource.generateData(dataSources, data);
}
mr = newModifyRequest(data);
- ResultHandler<Result> modRes = new UpdateStatsResultHandler<>(startTime);
+ LdapResultHandler<Result> modRes = new UpdateStatsResultHandler<>(startTime);
incrementIterationCount();
- return connection.modifyAsync(mr).onSuccess(modRes).onFailure(modRes);
+ return connection.modifyAsync(mr).thenOnResult(modRes).thenOnException(modRes);
}
private ModifyRequest newModifyRequest(final Object[] data) {
diff --git a/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/PerformanceRunner.java b/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/PerformanceRunner.java
index f5e5c5c..85e83ef 100644
--- a/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/PerformanceRunner.java
+++ b/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/PerformanceRunner.java
@@ -53,7 +53,7 @@
import org.forgerock.opendj.ldap.ConnectionEventListener;
import org.forgerock.opendj.ldap.ConnectionFactory;
import org.forgerock.opendj.ldap.LdapException;
-import org.forgerock.opendj.ldap.ResultHandler;
+import org.forgerock.opendj.ldap.LdapResultHandler;
import org.forgerock.opendj.ldap.responses.ExtendedResult;
import org.forgerock.opendj.ldap.responses.Result;
import org.forgerock.util.promise.Promise;
@@ -483,7 +483,7 @@
* @param <S>
* The type of expected result.
*/
- class UpdateStatsResultHandler<S extends Result> implements ResultHandler<S> {
+ class UpdateStatsResultHandler<S extends Result> implements LdapResultHandler<S> {
protected final long currentTime;
UpdateStatsResultHandler(final long currentTime) {
@@ -491,10 +491,10 @@
}
@Override
- public void handleError(final LdapException error) {
+ public void handleException(final LdapException exception) {
failedRecentCount.getAndIncrement();
updateStats();
- app.errPrintVerboseMessage(LocalizableMessage.raw(error.getResult().toString()));
+ app.errPrintVerboseMessage(LocalizableMessage.raw(exception.getResult().toString()));
}
@Override
diff --git a/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/SearchRate.java b/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/SearchRate.java
index 71468f4..459adc4 100644
--- a/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/SearchRate.java
+++ b/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/SearchRate.java
@@ -140,7 +140,7 @@
final SearchStatsHandler handler = new SearchStatsHandler(startTime);
incrementIterationCount();
- return connection.searchAsync(sr, handler).onSuccess(handler).onFailure(handler);
+ return connection.searchAsync(sr, handler).thenOnResult(handler).thenOnException(handler);
}
}
diff --git a/opendj-rest2ldap-servlet/src/main/java/org/forgerock/opendj/rest2ldap/servlet/Rest2LDAPAuthnFilter.java b/opendj-rest2ldap-servlet/src/main/java/org/forgerock/opendj/rest2ldap/servlet/Rest2LDAPAuthnFilter.java
index 6f21f66..70ed0f6 100644
--- a/opendj-rest2ldap-servlet/src/main/java/org/forgerock/opendj/rest2ldap/servlet/Rest2LDAPAuthnFilter.java
+++ b/opendj-rest2ldap-servlet/src/main/java/org/forgerock/opendj/rest2ldap/servlet/Rest2LDAPAuthnFilter.java
@@ -57,10 +57,10 @@
import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.forgerock.opendj.ldap.schema.Schema;
import org.forgerock.opendj.rest2ldap.Rest2LDAP;
-import org.forgerock.util.promise.AsyncFunction;
-import org.forgerock.util.promise.FailureHandler;
+import org.forgerock.util.AsyncFunction;
+import org.forgerock.util.promise.ExceptionHandler;
import org.forgerock.util.promise.Promise;
-import org.forgerock.util.promise.SuccessHandler;
+import org.forgerock.util.promise.ResultHandler;
import static org.forgerock.json.resource.SecurityContext.*;
import static org.forgerock.json.resource.servlet.SecurityContextFactory.*;
@@ -228,7 +228,7 @@
// Do the search.
return connection.searchSingleEntryAsync(searchRequest);
}
- }).onSuccess(new SuccessHandler<SearchResultEntry>() {
+ }).thenOnResult(new ResultHandler<SearchResultEntry>() {
@Override
public void handleResult(final SearchResultEntry result) {
savedConnection.get().close();
@@ -239,24 +239,25 @@
doBind(req, res, newSimpleBindRequest(bindDN, password), chain, savedConnection, sync,
username, authzid);
}
- }).onFailure(new FailureHandler<LdapException>() {
+ }).thenOnException(new ExceptionHandler<LdapException>() {
@Override
- public void handleError(final LdapException error) {
- LdapException normalizedError = error;
+ public void handleException(final LdapException exception) {
+ LdapException normalizedError = exception;
if (savedConnection.get() != null) {
savedConnection.get().close();
/*
* The search error should not be passed
* as-is back to the user.
*/
- if (error instanceof EntryNotFoundException
- || error instanceof MultipleEntriesFoundException) {
- normalizedError = newLdapException(ResultCode.INVALID_CREDENTIALS, error);
- } else if (error instanceof AuthenticationException
- || error instanceof AuthorizationException) {
- normalizedError = newLdapException(ResultCode.CLIENT_SIDE_LOCAL_ERROR, error);
+ if (exception instanceof EntryNotFoundException
+ || exception instanceof MultipleEntriesFoundException) {
+ normalizedError = newLdapException(ResultCode.INVALID_CREDENTIALS, exception);
+ } else if (exception instanceof AuthenticationException
+ || exception instanceof AuthorizationException) {
+ normalizedError =
+ newLdapException(ResultCode.CLIENT_SIDE_LOCAL_ERROR, exception);
} else {
- normalizedError = error;
+ normalizedError = exception;
}
}
sync.signalAndComplete(asResourceException(normalizedError));
@@ -400,7 +401,7 @@
savedConnection.set(connection);
return connection.bindAsync(bindRequest);
}
- }).onSuccess(new SuccessHandler<BindResult>() {
+ }).thenOnResult(new ResultHandler<BindResult>() {
@Override
public void handleResult(final BindResult result) {
/*
@@ -438,10 +439,10 @@
}
}
}
- }).onFailure(new FailureHandler<LdapException>() {
+ }).thenOnException(new ExceptionHandler<LdapException>() {
@Override
- public void handleError(final LdapException error) {
- sync.signalAndComplete(asResourceException(error));
+ public void handleException(final LdapException exception) {
+ sync.signalAndComplete(asResourceException(exception));
}
});
}
diff --git a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/AbstractLDAPAttributeMapper.java b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/AbstractLDAPAttributeMapper.java
index 5d3d8e8..3e7803e 100644
--- a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/AbstractLDAPAttributeMapper.java
+++ b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/AbstractLDAPAttributeMapper.java
@@ -42,7 +42,7 @@
import org.forgerock.opendj.ldap.LinkedAttribute;
import org.forgerock.opendj.ldap.Modification;
import org.forgerock.opendj.ldap.ModificationType;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.NeverThrowsException;
/**
diff --git a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Context.java b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Context.java
index 1fddfc4..a27e3e0 100644
--- a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Context.java
+++ b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Context.java
@@ -32,7 +32,7 @@
import org.forgerock.opendj.ldap.LdapException;
import org.forgerock.opendj.ldap.LdapPromise;
import org.forgerock.opendj.ldap.IntermediateResponseHandler;
-import org.forgerock.opendj.ldap.ResultHandler;
+import org.forgerock.opendj.ldap.LdapResultHandler;
import org.forgerock.opendj.ldap.SearchResultHandler;
import org.forgerock.opendj.ldap.SearchScope;
import org.forgerock.opendj.ldap.controls.Control;
@@ -54,8 +54,8 @@
import org.forgerock.opendj.ldap.responses.Result;
import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.forgerock.opendj.ldap.responses.SearchResultReference;
-import org.forgerock.util.promise.FailureHandler;
-import org.forgerock.util.promise.SuccessHandler;
+import org.forgerock.util.promise.ExceptionHandler;
+import org.forgerock.util.promise.ResultHandler;
import static org.forgerock.opendj.rest2ldap.Rest2LDAP.*;
import static org.forgerock.opendj.rest2ldap.Utils.*;
@@ -69,7 +69,7 @@
/**
* A cached read request - see cachedReads for more information.
*/
- private static final class CachedRead implements SearchResultHandler, ResultHandler<Result> {
+ private static final class CachedRead implements SearchResultHandler, LdapResultHandler<Result> {
private SearchResultEntry cachedEntry;
private final String cachedFilterString;
/** Guarded by cachedPromiseLatch.*/
@@ -92,8 +92,8 @@
}
@Override
- public void handleError(final LdapException error) {
- handleResult(error.getResult());
+ public void handleException(final LdapException exception) {
+ handleResult(exception.getResult());
}
@Override
@@ -273,16 +273,16 @@
// Invoke the handler immediately since a connection is available.
runnable.run();
} else if (config.connectionFactory() != null) {
- config.connectionFactory().getConnectionAsync().onSuccess(new SuccessHandler<Connection>() {
+ config.connectionFactory().getConnectionAsync().thenOnResult(new ResultHandler<Connection>() {
@Override
public final void handleResult(final Connection result) {
connection = wrap(result);
runnable.run();
}
- }).onFailure(new FailureHandler<LdapException>() {
+ }).thenOnException(new ExceptionHandler<LdapException>() {
@Override
- public final void handleError(final LdapException error) {
- handler.handleError(asResourceException(error));
+ public final void handleException(final LdapException exception) {
+ handler.handleError(asResourceException(exception));
}
});
} else {
@@ -422,7 +422,7 @@
}
final LdapPromise<Result> promise = connection
.searchAsync(withControls(request), intermediateResponseHandler, pendingCachedRead)
- .onSuccess(pendingCachedRead).onFailure(pendingCachedRead);
+ .thenOnResult(pendingCachedRead).thenOnException(pendingCachedRead);
pendingCachedRead.setPromise(promise);
return promise;
}
diff --git a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/LDAPCollectionResourceProvider.java b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/LDAPCollectionResourceProvider.java
index c738021..264918a 100644
--- a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/LDAPCollectionResourceProvider.java
+++ b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/LDAPCollectionResourceProvider.java
@@ -72,13 +72,12 @@
import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.forgerock.opendj.ldap.responses.SearchResultReference;
import org.forgerock.opendj.ldif.ChangeRecord;
-import org.forgerock.util.promise.FailureHandler;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.promise.ExceptionHandler;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.NeverThrowsException;
import org.forgerock.util.promise.Promise;
import org.forgerock.util.promise.PromiseImpl;
import org.forgerock.util.promise.Promises;
-import org.forgerock.util.promise.SuccessHandler;
import static java.util.Arrays.*;
@@ -102,7 +101,7 @@
@Override
public void handleError(ResourceException error) {
- promise.handleError(error);
+ promise.handleException(error);
}
@@ -187,8 +186,8 @@
addRequest.addControl(PostReadRequestControl.newControl(false, attributes));
}
c.getConnection().applyChangeAsync(addRequest)
- .onSuccess(postUpdateSuccessHandler(c, h))
- .onFailure(postUpdateFailureHandler(h));
+ .thenOnResult(postUpdateResultHandler(c, h))
+ .thenOnException(postUpdateExceptionHandler(h));
}
});
}
@@ -220,8 +219,8 @@
deleteRequest.addControl(SubtreeDeleteRequestControl.newControl(true));
}
addAssertionControl(deleteRequest, request.getRevision());
- c.getConnection().applyChangeAsync(deleteRequest).onSuccess(postUpdateSuccessHandler(c, h))
- .onFailure(postUpdateFailureHandler(h));
+ c.getConnection().applyChangeAsync(deleteRequest).thenOnResult(postUpdateResultHandler(c, h))
+ .thenOnException(postUpdateExceptionHandler(h));
} catch (final Exception e) {
h.handleError(asResourceException(e));
}
@@ -246,8 +245,8 @@
final SearchRequest searchRequest = nameStrategy.createSearchRequest(c, getBaseDN(c), resourceId)
.addAttribute(attributes);
c.getConnection().searchSingleEntryAsync(searchRequest)
- .onSuccess(postEmptyPatchSuccessHandler(c, request, h))
- .onFailure(postEmptyPatchFailureHandler(h));
+ .thenOnResult(postEmptyPatchResultHandler(c, request, h))
+ .thenOnException(postEmptyPatchExceptionHandler(h));
}
});
} else {
@@ -271,51 +270,53 @@
promises.add(handler.promise);
}
- Promises.when(promises).onSuccess(new SuccessHandler<List<List<Modification>>>() {
- @Override
- public void handleResult(final List<List<Modification>> result) {
- // The patch operations have been converted successfully.
- try {
- final ModifyRequest modifyRequest = newModifyRequest(dn);
+ Promises.when(promises).thenOnResult(
+ new org.forgerock.util.promise.ResultHandler<List<List<Modification>>>() {
+ @Override
+ public void handleResult(final List<List<Modification>> result) {
+ // The patch operations have been converted successfully.
+ try {
+ final ModifyRequest modifyRequest = newModifyRequest(dn);
- // Add the modifications.
- for (final List<Modification> modifications : result) {
- if (modifications != null) {
- modifyRequest.getModifications().addAll(modifications);
+ // Add the modifications.
+ for (final List<Modification> modifications : result) {
+ if (modifications != null) {
+ modifyRequest.getModifications().addAll(modifications);
+ }
}
- }
- final List<String> attributes = asList(getLDAPAttributes(c, request.getFields()));
- if (modifyRequest.getModifications().isEmpty()) {
- /*
- * This patch is a no-op so just read the entry and check its version.
- */
- c.getConnection().readEntryAsync(dn, attributes)
- .onSuccess(postEmptyPatchSuccessHandler(c, request, h))
- .onFailure(postEmptyPatchFailureHandler(h));
- } else {
- // Add controls and perform the modify request.
- if (config.readOnUpdatePolicy() == CONTROLS) {
- modifyRequest.addControl(PostReadRequestControl.newControl(false, attributes));
+ final List<String> attributes = asList(getLDAPAttributes(c, request.getFields()));
+ if (modifyRequest.getModifications().isEmpty()) {
+ /*
+ * This patch is a no-op so just read the entry and check its version.
+ */
+ c.getConnection().readEntryAsync(dn, attributes)
+ .thenOnResult(postEmptyPatchResultHandler(c, request, h))
+ .thenOnException(postEmptyPatchExceptionHandler(h));
+ } else {
+ // Add controls and perform the modify request.
+ if (config.readOnUpdatePolicy() == CONTROLS) {
+ modifyRequest.addControl(
+ PostReadRequestControl.newControl(false, attributes));
+ }
+ if (config.usePermissiveModify()) {
+ modifyRequest.addControl(PermissiveModifyRequestControl.newControl(true));
+ }
+ addAssertionControl(modifyRequest, request.getRevision());
+ c.getConnection().applyChangeAsync(modifyRequest)
+ .thenOnResult(postUpdateResultHandler(c, h))
+ .thenOnException(postUpdateExceptionHandler(h));
}
- if (config.usePermissiveModify()) {
- modifyRequest.addControl(PermissiveModifyRequestControl.newControl(true));
- }
- addAssertionControl(modifyRequest, request.getRevision());
- c.getConnection().applyChangeAsync(modifyRequest)
- .onSuccess(postUpdateSuccessHandler(c, h))
- .onFailure(postUpdateFailureHandler(h));
+ } catch (final Exception e) {
+ h.handleError(asResourceException(e));
}
- } catch (final Exception e) {
- h.handleError(asResourceException(e));
}
- }
- }).onFailure(new FailureHandler<ResourceException>() {
- @Override
- public void handleError(ResourceException error) {
- h.handleError(asResourceException(error));
- }
- });
+ }).thenOnException(new ExceptionHandler<ResourceException>() {
+ @Override
+ public void handleException(ResourceException exception) {
+ h.handleError(asResourceException(exception));
+ }
+ });
}
}));
}
@@ -456,7 +457,7 @@
return true;
}
- }).onSuccess(new SuccessHandler<Result>() {
+ }).thenOnResult(new org.forgerock.util.promise.ResultHandler<Result>() {
@Override
public void handleResult(Result result) {
synchronized (sequenceLock) {
@@ -475,11 +476,11 @@
completeIfNecessary(SUCCESS);
}
}
- }).onFailure(new FailureHandler<LdapException>() {
+ }).thenOnException(new ExceptionHandler<LdapException>() {
@Override
- public void handleError(LdapException error) {
+ public void handleException(LdapException exception) {
synchronized (sequenceLock) {
- completeIfNecessary(asResourceException(error));
+ completeIfNecessary(asResourceException(exception));
}
}
});
@@ -531,18 +532,18 @@
final SearchRequest request =
nameStrategy.createSearchRequest(c, getBaseDN(c), resourceId).addAttribute(attributes);
- c.getConnection().searchSingleEntryAsync(request).onSuccess(new SuccessHandler<SearchResultEntry>() {
- @Override
- public void handleResult(final SearchResultEntry entry) {
- adaptEntry(c, entry, h);
- }
- }).onFailure(new FailureHandler<LdapException>() {
- @Override
- public void handleError(final LdapException error) {
- h.handleError(asResourceException(error));
- }
- });
-
+ c.getConnection().searchSingleEntryAsync(request).thenOnResult(
+ new org.forgerock.util.promise.ResultHandler<SearchResultEntry>() {
+ @Override
+ public void handleResult(final SearchResultEntry entry) {
+ adaptEntry(c, entry, h);
+ }
+ }).thenOnException(new ExceptionHandler<LdapException>() {
+ @Override
+ public void handleException(final LdapException exception) {
+ h.handleError(asResourceException(exception));
+ }
+ });
};
});
}
@@ -571,7 +572,7 @@
.addAttribute(attributes);
c.getConnection().searchSingleEntryAsync(searchRequest)
- .onSuccess(new SuccessHandler<SearchResultEntry>() {
+ .thenOnResult(new org.forgerock.util.promise.ResultHandler<SearchResultEntry>() {
@Override
public void handleResult(final SearchResultEntry entry) {
try {
@@ -611,8 +612,8 @@
} else {
modifyRequest.getModifications().addAll(result);
c.getConnection().applyChangeAsync(modifyRequest)
- .onSuccess(postUpdateSuccessHandler(c, h))
- .onFailure(postUpdateFailureHandler(h));
+ .thenOnResult(postUpdateResultHandler(c, h))
+ .thenOnException(postUpdateExceptionHandler(h));
}
}
});
@@ -620,10 +621,10 @@
h.handleError(asResourceException(e));
}
}
- }).onFailure(new FailureHandler<LdapException>() {
+ }).thenOnException(new ExceptionHandler<LdapException>() {
@Override
- public void handleError(final LdapException error) {
- h.handleError(asResourceException(error));
+ public void handleException(final LdapException exception) {
+ h.handleError(asResourceException(exception));
}
});
}
@@ -667,7 +668,7 @@
updateHandler.handleResult(searchRequest.getName());
} else {
c.getConnection().searchSingleEntryAsync(searchRequest)
- .onSuccess(new SuccessHandler<SearchResultEntry>() {
+ .thenOnResult(new org.forgerock.util.promise.ResultHandler<SearchResultEntry>() {
@Override
public void handleResult(final SearchResultEntry entry) {
try {
@@ -680,10 +681,10 @@
updateHandler.handleError(asResourceException(e));
}
}
- }).onFailure(new FailureHandler<LdapException>() {
+ }).thenOnException(new ExceptionHandler<LdapException>() {
@Override
- public void handleError(final LdapException error) {
- updateHandler.handleError(asResourceException(error));
+ public void handleException(final LdapException exception) {
+ updateHandler.handleError(asResourceException(exception));
}
});
}
@@ -766,8 +767,7 @@
}
Promises.when(promises)
- .then(new org.forgerock.util.promise.Function<List<Filter>, Filter,
- ResourceException>() {
+ .then(new org.forgerock.util.Function<List<Filter>, Filter, ResourceException>() {
@Override
public Filter apply(final List<Filter> value) {
// Check for unmapped filter components and optimize.
@@ -789,15 +789,15 @@
return Filter.and(value);
}
}
- }).onSuccess(new SuccessHandler<Filter>() {
+ }).thenOnResult(new org.forgerock.util.promise.ResultHandler<Filter>() {
@Override
public void handleResult(Filter result) {
p.handleResult(result);
}
- }).onFailure(new FailureHandler<ResourceException>() {
+ }).thenOnException(new ExceptionHandler<ResourceException>() {
@Override
- public void handleError(ResourceException error) {
- p.handleError(error);
+ public void handleException(ResourceException exception) {
+ p.handleError(exception);
}
});
@@ -896,8 +896,7 @@
}
Promises.when(promises)
- .then(new org.forgerock.util.promise.Function<List<Filter>, Filter,
- ResourceException>() {
+ .then(new org.forgerock.util.Function<List<Filter>, Filter, ResourceException>() {
@Override
public Filter apply(final List<Filter> value) {
// Check for unmapped filter components and optimize.
@@ -919,15 +918,15 @@
return Filter.or(value);
}
}
- }).onSuccess(new SuccessHandler<Filter>() {
+ }).thenOnResult(new org.forgerock.util.promise.ResultHandler<Filter>() {
@Override
public void handleResult(Filter result) {
p.handleResult(result);
}
- }).onFailure(new FailureHandler<ResourceException>() {
+ }).thenOnException(new ExceptionHandler<ResourceException>() {
@Override
- public void handleError(ResourceException error) {
- p.handleError(error);
+ public void handleException(ResourceException exception) {
+ p.handleError(exception);
}
});
@@ -961,9 +960,9 @@
return etagAttribute != null ? entry.parseAttribute(etagAttribute).asString() : null;
}
- private SuccessHandler<SearchResultEntry> postEmptyPatchSuccessHandler(final Context c,
- final PatchRequest request, final ResultHandler<Resource> h) {
- return new SuccessHandler<SearchResultEntry>() {
+ private org.forgerock.util.promise.ResultHandler<SearchResultEntry> postEmptyPatchResultHandler(
+ final Context c, final PatchRequest request, final ResultHandler<Resource> h) {
+ return new org.forgerock.util.promise.ResultHandler<SearchResultEntry>() {
@Override
public void handleResult(final SearchResultEntry entry) {
try {
@@ -977,18 +976,19 @@
};
}
- private FailureHandler<LdapException> postEmptyPatchFailureHandler(final ResultHandler<Resource> h) {
- return new FailureHandler<LdapException>() {
+ private ExceptionHandler<LdapException> postEmptyPatchExceptionHandler(final ResultHandler<Resource> h) {
+ return new ExceptionHandler<LdapException>() {
@Override
- public void handleError(final LdapException error) {
- h.handleError(asResourceException(error));
+ public void handleException(final LdapException exception) {
+ h.handleError(asResourceException(exception));
}
};
}
- private SuccessHandler<Result> postUpdateSuccessHandler(final Context c, final ResultHandler<Resource> handler) {
+ private org.forgerock.util.promise.ResultHandler<Result> postUpdateResultHandler(
+ final Context c, final ResultHandler<Resource> handler) {
// The handler which will be invoked for the LDAP add result.
- return new SuccessHandler<Result>() {
+ return new org.forgerock.util.promise.ResultHandler<Result>() {
@Override
public void handleResult(final Result result) {
// FIXME: handle USE_SEARCH policy.
@@ -1022,12 +1022,12 @@
};
}
- private FailureHandler<LdapException> postUpdateFailureHandler(final ResultHandler<Resource> handler) {
+ private ExceptionHandler<LdapException> postUpdateExceptionHandler(final ResultHandler<Resource> handler) {
// The handler which will be invoked for the LDAP add result.
- return new FailureHandler<LdapException>() {
+ return new ExceptionHandler<LdapException>() {
@Override
- public void handleError(final LdapException error) {
- handler.handleError(asResourceException(error));
+ public void handleException(final LdapException exception) {
+ handler.handleError(asResourceException(exception));
}
};
}
diff --git a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/ObjectAttributeMapper.java b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/ObjectAttributeMapper.java
index b33026f..9b4124c 100644
--- a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/ObjectAttributeMapper.java
+++ b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/ObjectAttributeMapper.java
@@ -33,7 +33,7 @@
import org.forgerock.opendj.ldap.Entry;
import org.forgerock.opendj.ldap.Filter;
import org.forgerock.opendj.ldap.Modification;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.NeverThrowsException;
import static org.forgerock.json.resource.PatchOperation.*;
diff --git a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/ReferenceAttributeMapper.java b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/ReferenceAttributeMapper.java
index 22cdb49..a0f515c 100644
--- a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/ReferenceAttributeMapper.java
+++ b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/ReferenceAttributeMapper.java
@@ -45,10 +45,9 @@
import org.forgerock.opendj.ldap.responses.Result;
import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.forgerock.opendj.ldap.responses.SearchResultReference;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.NeverThrowsException;
-import org.forgerock.util.promise.FailureHandler;
-import org.forgerock.util.promise.SuccessHandler;
+import org.forgerock.util.promise.ExceptionHandler;
import static org.forgerock.opendj.ldap.LdapException.*;
import static org.forgerock.opendj.ldap.requests.Requests.*;
@@ -141,10 +140,10 @@
final SearchRequest request = createSearchRequest(result);
final List<Filter> subFilters = new LinkedList<>();
- final FailureHandler<LdapException> failureHandler = new FailureHandler<LdapException>() {
+ final ExceptionHandler<LdapException> exceptionHandler = new ExceptionHandler<LdapException>() {
@Override
- public void handleError(LdapException error) {
- h.handleError(asResourceException(error)); // Propagate.
+ public void handleException(LdapException exception) {
+ h.handleError(asResourceException(exception)); // Propagate.
}
};
@@ -165,18 +164,18 @@
// Ignore references.
return true;
}
- }).onSuccess(new SuccessHandler<Result>() {
+ }).thenOnResult(new org.forgerock.util.promise.ResultHandler<Result>() {
@Override
public void handleResult(Result result) {
if (subFilters.size() >= SEARCH_MAX_CANDIDATES) {
- failureHandler.handleError(newLdapException(ResultCode.ADMIN_LIMIT_EXCEEDED));
+ exceptionHandler.handleException(newLdapException(ResultCode.ADMIN_LIMIT_EXCEEDED));
} else if (subFilters.size() == 1) {
h.handleResult(subFilters.get(0));
} else {
h.handleResult(Filter.or(subFilters));
}
}
- }).onFailure(failureHandler);
+ }).thenOnException(exceptionHandler);
}
});
}
@@ -228,39 +227,38 @@
final ByteString primaryKeyValue = primaryKeyAttribute.firstValue();
final Filter filter = Filter.equality(primaryKey.toString(), primaryKeyValue);
final SearchRequest search = createSearchRequest(filter);
- c.getConnection().searchSingleEntryAsync(search).onSuccess(new SuccessHandler<SearchResultEntry>() {
- @Override
- public void handleResult(final SearchResultEntry result) {
- synchronized (newLDAPAttribute) {
- newLDAPAttribute.add(result.getName());
+ c.getConnection().searchSingleEntryAsync(search).thenOnResult(
+ new org.forgerock.util.promise.ResultHandler<SearchResultEntry>() {
+ @Override
+ public void handleResult(final SearchResultEntry result) {
+ synchronized (newLDAPAttribute) {
+ newLDAPAttribute.add(result.getName());
+ }
+ completeIfNecessary();
}
- completeIfNecessary();
- }
- }).onFailure(new FailureHandler<LdapException>() {
- @Override
- public void handleError(final LdapException error) {
- ResourceException re;
- try {
- throw error;
- } catch (final EntryNotFoundException e) {
- re =
- new BadRequestException(i18n("The request cannot be processed "
- + "because the resource '%s' " + "referenced in field '%s' does "
- + "not exist", primaryKeyValue.toString(), path));
- } catch (final MultipleEntriesFoundException e) {
- re =
- new BadRequestException(i18n(
- "The request cannot be processed " + "because the resource '%s' "
- + "referenced in field '%s' is " + "ambiguous",
- primaryKeyValue.toString(), path));
- } catch (final LdapException e) {
- re = asResourceException(e);
+ }).thenOnException(new ExceptionHandler<LdapException>() {
+ @Override
+ public void handleException(final LdapException error) {
+ ResourceException re;
+ try {
+ throw error;
+ } catch (final EntryNotFoundException e) {
+ re = new BadRequestException(i18n(
+ "The request cannot be processed " + "because the resource '%s' "
+ + "referenced in field '%s' does " + "not exist",
+ primaryKeyValue.toString(), path));
+ } catch (final MultipleEntriesFoundException e) {
+ re = new BadRequestException(i18n(
+ "The request cannot be processed " + "because the resource '%s' "
+ + "referenced in field '%s' is " + "ambiguous",
+ primaryKeyValue.toString(), path));
+ } catch (final LdapException e) {
+ re = asResourceException(e);
+ }
+ exception.compareAndSet(null, re);
+ completeIfNecessary();
}
- exception.compareAndSet(null, re);
- completeIfNecessary();
- }
-
- });
+ });
}
private void completeIfNecessary() {
@@ -337,14 +335,14 @@
final Set<String> requestedLDAPAttributes = new LinkedHashSet<>();
mapper.getLDAPAttributes(c, path, new JsonPointer(), requestedLDAPAttributes);
c.getConnection().readEntryAsync(dn, requestedLDAPAttributes)
- .onSuccess(new SuccessHandler<SearchResultEntry>() {
+ .thenOnResult(new org.forgerock.util.promise.ResultHandler<SearchResultEntry>() {
@Override
public void handleResult(final SearchResultEntry result) {
mapper.read(c, path, result, handler);
}
- }).onFailure(new FailureHandler<LdapException>() {
+ }).thenOnException(new ExceptionHandler<LdapException>() {
@Override
- public void handleError(final LdapException error) {
+ public void handleException(final LdapException error) {
if (!(error instanceof EntryNotFoundException)) {
handler.handleError(asResourceException(error));
} else {
diff --git a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/SimpleAttributeMapper.java b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/SimpleAttributeMapper.java
index fc2943f..a98e100 100644
--- a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/SimpleAttributeMapper.java
+++ b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/SimpleAttributeMapper.java
@@ -28,7 +28,7 @@
import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.Entry;
import org.forgerock.opendj.ldap.Filter;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.NeverThrowsException;
import static java.util.Collections.*;
diff --git a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Utils.java b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Utils.java
index 85a19b4..0cc68bd 100644
--- a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Utils.java
+++ b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Utils.java
@@ -44,7 +44,7 @@
import org.forgerock.opendj.ldap.GeneralizedTime;
import org.forgerock.opendj.ldap.LinkedAttribute;
import org.forgerock.opendj.ldap.schema.Syntax;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.NeverThrowsException;
/**
diff --git a/opendj-rest2ldap/src/test/java/org/forgerock/opendj/rest2ldap/BasicRequestsTest.java b/opendj-rest2ldap/src/test/java/org/forgerock/opendj/rest2ldap/BasicRequestsTest.java
index f1df11c..fbf4a8e 100644
--- a/opendj-rest2ldap/src/test/java/org/forgerock/opendj/rest2ldap/BasicRequestsTest.java
+++ b/opendj-rest2ldap/src/test/java/org/forgerock/opendj/rest2ldap/BasicRequestsTest.java
@@ -61,7 +61,7 @@
import org.forgerock.opendj.ldap.MemoryBackend;
import org.forgerock.opendj.ldap.RequestContext;
import org.forgerock.opendj.ldap.RequestHandler;
-import org.forgerock.opendj.ldap.ResultHandler;
+import org.forgerock.opendj.ldap.LdapResultHandler;
import org.forgerock.opendj.ldap.SearchResultHandler;
import org.forgerock.opendj.ldap.requests.AddRequest;
import org.forgerock.opendj.ldap.requests.BindRequest;
@@ -716,7 +716,7 @@
@Override
public void handleAdd(RequestContext requestContext, AddRequest request,
IntermediateResponseHandler intermediateResponseHandler,
- ResultHandler<Result> resultHandler) {
+ LdapResultHandler<Result> resultHandler) {
requests.add(request);
handler.handleAdd(requestContext, request, intermediateResponseHandler,
resultHandler);
@@ -725,7 +725,7 @@
@Override
public void handleBind(RequestContext requestContext, int version, BindRequest request,
IntermediateResponseHandler intermediateResponseHandler,
- ResultHandler<BindResult> resultHandler) {
+ LdapResultHandler<BindResult> resultHandler) {
requests.add(request);
handler.handleBind(requestContext, version, request, intermediateResponseHandler,
resultHandler);
@@ -734,7 +734,7 @@
@Override
public void handleCompare(RequestContext requestContext, CompareRequest request,
IntermediateResponseHandler intermediateResponseHandler,
- ResultHandler<CompareResult> resultHandler) {
+ LdapResultHandler<CompareResult> resultHandler) {
requests.add(request);
handler.handleCompare(requestContext, request, intermediateResponseHandler,
resultHandler);
@@ -743,7 +743,7 @@
@Override
public void handleDelete(RequestContext requestContext, DeleteRequest request,
IntermediateResponseHandler intermediateResponseHandler,
- ResultHandler<Result> resultHandler) {
+ LdapResultHandler<Result> resultHandler) {
requests.add(request);
handler.handleDelete(requestContext, request, intermediateResponseHandler,
resultHandler);
@@ -753,7 +753,7 @@
public <R extends ExtendedResult> void handleExtendedRequest(
RequestContext requestContext, ExtendedRequest<R> request,
IntermediateResponseHandler intermediateResponseHandler,
- ResultHandler<R> resultHandler) {
+ LdapResultHandler<R> resultHandler) {
requests.add(request);
handler.handleExtendedRequest(requestContext, request, intermediateResponseHandler,
resultHandler);
@@ -762,7 +762,7 @@
@Override
public void handleModify(RequestContext requestContext, ModifyRequest request,
IntermediateResponseHandler intermediateResponseHandler,
- ResultHandler<Result> resultHandler) {
+ LdapResultHandler<Result> resultHandler) {
requests.add(request);
handler.handleModify(requestContext, request, intermediateResponseHandler,
resultHandler);
@@ -771,7 +771,7 @@
@Override
public void handleModifyDN(RequestContext requestContext, ModifyDNRequest request,
IntermediateResponseHandler intermediateResponseHandler,
- ResultHandler<Result> resultHandler) {
+ LdapResultHandler<Result> resultHandler) {
requests.add(request);
handler.handleModifyDN(requestContext, request, intermediateResponseHandler,
resultHandler);
@@ -780,7 +780,7 @@
@Override
public void handleSearch(RequestContext requestContext, SearchRequest request,
IntermediateResponseHandler intermediateResponseHandler, SearchResultHandler entryHandler,
- ResultHandler<Result> resultHandler) {
+ LdapResultHandler<Result> resultHandler) {
requests.add(request);
handler.handleSearch(requestContext, request, intermediateResponseHandler, entryHandler,
resultHandler);
diff --git a/opendj-server-legacy/src/main/java/org/forgerock/opendj/adapter/server3x/Adapters.java b/opendj-server-legacy/src/main/java/org/forgerock/opendj/adapter/server3x/Adapters.java
index c7d8a8d..2e27c61 100644
--- a/opendj-server-legacy/src/main/java/org/forgerock/opendj/adapter/server3x/Adapters.java
+++ b/opendj-server-legacy/src/main/java/org/forgerock/opendj/adapter/server3x/Adapters.java
@@ -151,7 +151,7 @@
@Override
public Promise<Connection, LdapException> getConnectionAsync() {
// TODO change the path...
- return newSuccessfulPromise(newConnection(icc));
+ return newResultPromise(newConnection(icc));
}
@Override
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/CursorTransformer.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/CursorTransformer.java
index e047250..deef322 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/CursorTransformer.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/CursorTransformer.java
@@ -28,7 +28,7 @@
import static org.forgerock.util.Reject.*;
import org.forgerock.opendj.ldap.ByteSequence;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.NeverThrowsException;
import org.opends.server.backends.pluggable.spi.Cursor;
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/DN2ID.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/DN2ID.java
index 55da0aa..4db360b 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/DN2ID.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/DN2ID.java
@@ -32,7 +32,7 @@
import org.forgerock.opendj.ldap.ByteSequence;
import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.ByteStringBuilder;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.Function;
import org.opends.server.backends.pluggable.spi.Cursor;
import org.opends.server.backends.pluggable.spi.ReadableTransaction;
import org.opends.server.backends.pluggable.spi.SequentialCursor;
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ID2Count.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ID2Count.java
index cad1218..db6b102 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ID2Count.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ID2Count.java
@@ -28,7 +28,7 @@
import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.ByteStringBuilder;
import org.forgerock.util.Reject;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.NeverThrowsException;
import org.opends.server.backends.pluggable.spi.Cursor;
import org.opends.server.backends.pluggable.spi.Importer;
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/ConfigurationHandler.java b/opendj-server-legacy/src/main/java/org/opends/server/core/ConfigurationHandler.java
index bf3c007..01d392b 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/ConfigurationHandler.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/ConfigurationHandler.java
@@ -58,7 +58,7 @@
import org.forgerock.opendj.ldap.MemoryBackend;
import org.forgerock.opendj.ldap.RequestContext;
import org.forgerock.opendj.ldap.ResultCode;
-import org.forgerock.opendj.ldap.ResultHandler;
+import org.forgerock.opendj.ldap.LdapResultHandler;
import org.forgerock.opendj.ldap.SearchResultHandler;
import org.forgerock.opendj.ldap.SearchScope;
import org.forgerock.opendj.ldap.requests.Requests;
@@ -250,7 +250,7 @@
}
/** Handler for LDAP operations. */
- private static final class ConfigResultHandler implements ResultHandler<Result> {
+ private static final class ConfigResultHandler implements LdapResultHandler<Result> {
private LdapException resultError;
@@ -272,9 +272,9 @@
/** {@inheritDoc} */
@Override
- public void handleError(LdapException error)
+ public void handleException(LdapException exception)
{
- resultError = error;
+ resultError = exception;
}
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/CollectClientConnectionsFilter.java b/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/CollectClientConnectionsFilter.java
index 6c70ae6..b9880c6 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/CollectClientConnectionsFilter.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/CollectClientConnectionsFilter.java
@@ -49,10 +49,10 @@
import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.forgerock.opendj.rest2ldap.Rest2LDAP;
import org.forgerock.opendj.rest2ldap.servlet.Rest2LDAPContextFactory;
-import org.forgerock.util.promise.AsyncFunction;
-import org.forgerock.util.promise.FailureHandler;
+import org.forgerock.util.AsyncFunction;
+import org.forgerock.util.promise.ExceptionHandler;
import org.forgerock.util.promise.Promise;
-import org.forgerock.util.promise.SuccessHandler;
+import org.forgerock.util.promise.ResultHandler;
import org.opends.server.admin.std.server.ConnectionHandlerCfg;
import org.opends.server.schema.SchemaConstants;
import org.opends.server.types.DisconnectReason;
@@ -206,7 +206,7 @@
if (bindDN == null)
{
sendAuthenticationFailure(ctx);
- return newFailedPromise(newLdapException(ResultCode.CANCELLED));
+ return newExceptionPromise(newLdapException(ResultCode.CANCELLED));
}
else
{
@@ -220,7 +220,7 @@
}
}
- ).onSuccess(new SuccessHandler<BindResult>() {
+ ).thenOnResult(new ResultHandler<BindResult>() {
@Override
public void handleResult(BindResult result)
{
@@ -231,14 +231,14 @@
}
catch (Exception e)
{
- onFailure(e, ctx);
+ onException(e, ctx);
}
}
- }).onFailure(new FailureHandler<LdapException>(){
+ }).thenOnException(new ExceptionHandler<LdapException>(){
@Override
- public void handleError(LdapException error)
+ public void handleException(LdapException exception)
{
- final ResultCode rc = error.getResult().getResultCode();
+ final ResultCode rc = exception.getResult().getResultCode();
if (ResultCode.CLIENT_SIDE_NO_RESULTS_RETURNED.equals(rc)
|| ResultCode.CLIENT_SIDE_UNEXPECTED_RESULTS_RETURNED.equals(rc))
{
@@ -248,7 +248,7 @@
}
else
{
- onFailure(error, ctx);
+ onException(exception, ctx);
}
}
});
@@ -265,7 +265,7 @@
}
catch (Exception e)
{
- onFailure(e, ctx);
+ onException(e, ctx);
}
}
@@ -310,7 +310,7 @@
}
}
- private void onFailure(Exception e, HTTPRequestContext ctx)
+ private void onException(Exception e, HTTPRequestContext ctx)
{
ResourceException ex = Rest2LDAP.asResourceException(e);
try
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/HTTPClientConnection.java b/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/HTTPClientConnection.java
index 82f5f8a..97196f4 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/HTTPClientConnection.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/HTTPClientConnection.java
@@ -419,7 +419,7 @@
}
catch (LdapException e)
{
- op.promise.handleError(e);
+ op.promise.handleException(e);
}
}
}
@@ -709,7 +709,7 @@
OperationWithPromise op = operationsInProgress.remove(messageID);
if (op != null)
{
- op.promise.handleError(newLdapException(ResultCode.CANCELLED));
+ op.promise.handleException(newLdapException(ResultCode.CANCELLED));
return op.operation.cancel(cancelRequest);
}
return new CancelResult(ResultCode.NO_SUCH_OPERATION, null);
@@ -748,7 +748,7 @@
{
try
{
- op.promise.handleError(newLdapException(ResultCode.CANCELLED));
+ op.promise.handleException(newLdapException(ResultCode.CANCELLED));
op.operation.abort(cancelRequest);
if (keepStats)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/SdkConnectionAdapter.java b/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/SdkConnectionAdapter.java
index 42f09f0..6f51982 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/SdkConnectionAdapter.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/protocols/http/SdkConnectionAdapter.java
@@ -171,7 +171,7 @@
logger.traceException(e);
clientConnection.removeOperationInProgress(operation.getMessageID());
// TODO JNR add error message??
- promise.handleError(newLdapException(ResultCode.OPERATIONS_ERROR, e));
+ promise.handleException(newLdapException(ResultCode.OPERATIONS_ERROR, e));
}
return promise;
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/types/AttributeParser.java b/opendj-server-legacy/src/main/java/org/opends/server/types/AttributeParser.java
index b37b2c8..7a4e0a3 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/types/AttributeParser.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/types/AttributeParser.java
@@ -35,7 +35,7 @@
import org.forgerock.opendj.ldap.Functions;
import org.forgerock.opendj.ldap.GeneralizedTime;
import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.util.promise.Function;
+import org.forgerock.util.Function;
import org.forgerock.util.promise.NeverThrowsException;
diff --git a/opendj-server/src/main/java/org/forgerock/opendj/server/core/ArchivableDataProvider.java b/opendj-server/src/main/java/org/forgerock/opendj/server/core/ArchivableDataProvider.java
index 5ebdeac..97a07f9 100644
--- a/opendj-server/src/main/java/org/forgerock/opendj/server/core/ArchivableDataProvider.java
+++ b/opendj-server/src/main/java/org/forgerock/opendj/server/core/ArchivableDataProvider.java
@@ -27,7 +27,7 @@
package org.forgerock.opendj.server.core;
import org.forgerock.opendj.ldap.LdapPromise;
-import org.forgerock.opendj.ldap.ResultHandler;
+import org.forgerock.opendj.ldap.LdapResultHandler;
/**
* A data provider which supports backup and restore functionality.
@@ -58,7 +58,7 @@
* A handler which will be notified when the backup completes.
* @return A promise representing the completion of the backup.
*/
- LdapPromise<Void> createBackup(BackupConfig backupConfig, ResultHandler<Void> handler);
+ LdapPromise<Void> createBackup(BackupConfig backupConfig, LdapResultHandler<Void> handler);
/**
* Returns the ID of this data provider.
@@ -79,7 +79,7 @@
* A handler which will be notified when the restore completes.
* @return A promise representing the completion of the restore.
*/
- LdapPromise<Void> restoreBackup(RestoreConfig restoreConfig, ResultHandler<Void> handler);
+ LdapPromise<Void> restoreBackup(RestoreConfig restoreConfig, LdapResultHandler<Void> handler);
/**
* Indicates whether this data provider provides a mechanism to perform a
diff --git a/opendj-server/src/main/java/org/forgerock/opendj/server/core/ExportableDataProvider.java b/opendj-server/src/main/java/org/forgerock/opendj/server/core/ExportableDataProvider.java
index 0dd3c44..ada1578 100644
--- a/opendj-server/src/main/java/org/forgerock/opendj/server/core/ExportableDataProvider.java
+++ b/opendj-server/src/main/java/org/forgerock/opendj/server/core/ExportableDataProvider.java
@@ -27,7 +27,7 @@
package org.forgerock.opendj.server.core;
import org.forgerock.opendj.ldap.LdapPromise;
-import org.forgerock.opendj.ldap.ResultHandler;
+import org.forgerock.opendj.ldap.LdapResultHandler;
import org.forgerock.opendj.ldif.EntryWriter;
/**
@@ -50,7 +50,7 @@
* A handler which will be notified when the export completes.
* @return A promise representing the completion of the export.
*/
- LdapPromise<Void> exportEntries(EntryWriter writer, ResultHandler<Void> handler);
+ LdapPromise<Void> exportEntries(EntryWriter writer, LdapResultHandler<Void> handler);
/**
* Returns the ID of this data provider.
diff --git a/opendj-server/src/main/java/org/forgerock/opendj/server/core/ImportableDataProvider.java b/opendj-server/src/main/java/org/forgerock/opendj/server/core/ImportableDataProvider.java
index 34a3559..e61b955 100644
--- a/opendj-server/src/main/java/org/forgerock/opendj/server/core/ImportableDataProvider.java
+++ b/opendj-server/src/main/java/org/forgerock/opendj/server/core/ImportableDataProvider.java
@@ -27,7 +27,7 @@
package org.forgerock.opendj.server.core;
import org.forgerock.opendj.ldap.LdapPromise;
-import org.forgerock.opendj.ldap.ResultHandler;
+import org.forgerock.opendj.ldap.LdapResultHandler;
import org.forgerock.opendj.ldif.EntryReader;
/**
@@ -65,5 +65,5 @@
* A handler which will be notified when the import completes.
* @return A promise representing the completion of the import.
*/
- LdapPromise<Void> importEntries(EntryReader reader, ResultHandler<Void> handler);
+ LdapPromise<Void> importEntries(EntryReader reader, LdapResultHandler<Void> handler);
}
diff --git a/pom.xml b/pom.xml
index e7ae309..90af41f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -410,7 +410,7 @@
<dependency>
<groupId>org.forgerock.commons</groupId>
<artifactId>forgerock-util</artifactId>
- <version>1.3.5-SNAPSHOT</version>
+ <version>2.0.0-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
--
Gitblit v1.10.0