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-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/ReferenceAttributeMapper.java | 84 ++++++++++++++++++++---------------------
1 files changed, 41 insertions(+), 43 deletions(-)
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 {
--
Gitblit v1.10.0