From 32034d853f3a284424ccfa87b6de210f1ca814e1 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Tue, 29 Nov 2011 00:31:21 +0000
Subject: [PATCH] Fix OPENDJ-43 (Synchronous Connection decorator implementations should not use AsynchronousConnections) and OPENDJ-328 (Make it easier to implement connection decorators).
---
opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RequestHandlerFactoryAdapter.java | 139 ++++++++++++++++++++--------------------------
1 files changed, 61 insertions(+), 78 deletions(-)
diff --git a/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RequestHandlerFactoryAdapter.java b/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RequestHandlerFactoryAdapter.java
index 4f5476d..a097fcf 100644
--- a/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RequestHandlerFactoryAdapter.java
+++ b/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RequestHandlerFactoryAdapter.java
@@ -72,8 +72,7 @@
- private ExtendedResultHandlerHolder(
- final ExtendedRequest<R> request,
+ private ExtendedResultHandlerHolder(final ExtendedRequest<R> request,
final ResultHandler<? super R> resultHandler)
{
this.request = request;
@@ -148,9 +147,8 @@
protected RequestContextImpl(
- final ServerConnectionImpl<?> clientConnection,
- final H resultHandler, final int messageID,
- final boolean isCancelSupported)
+ final ServerConnectionImpl<?> clientConnection, final H resultHandler,
+ final int messageID, final boolean isCancelSupported)
{
this.clientConnection = clientConnection;
this.resultHandler = resultHandler;
@@ -164,8 +162,7 @@
* {@inheritDoc}
*/
@Override
- public void addCancelRequestListener(
- final CancelRequestListener listener)
+ public void addCancelRequestListener(final CancelRequestListener listener)
throws NullPointerException
{
Validator.ensureNotNull(listener);
@@ -224,8 +221,8 @@
break;
case CANCEL_REQUESTED:
// Don't change state: let the handler ack the cancellation request.
- throw (CancelledResultException) newErrorResult(
- ResultCode.CANCELLED, cancelRequestReason.toString());
+ throw (CancelledResultException) newErrorResult(ResultCode.CANCELLED,
+ cancelRequestReason.toString());
case TOO_LATE:
// Already too late. Nothing to do.
break;
@@ -294,8 +291,7 @@
* {@inheritDoc}
*/
@Override
- public void removeCancelRequestListener(
- final CancelRequestListener listener)
+ public void removeCancelRequestListener(final CancelRequestListener listener)
throws NullPointerException
{
Validator.ensureNotNull(listener);
@@ -325,8 +321,7 @@
{
final Result result = Responses
.newGenericExtendedResult(ResultCode.CANNOT_CANCEL);
- cancelResultHandler
- .handleErrorResult(newErrorResult(result));
+ cancelResultHandler.handleErrorResult(newErrorResult(result));
}
return;
}
@@ -345,9 +340,8 @@
if (cancelResultHandler != null)
{
cancelResultHandlers = new LinkedList<ExtendedResultHandlerHolder<?>>();
- cancelResultHandlers
- .add(new ExtendedResultHandlerHolder<R>(
- cancelRequest, cancelResultHandler));
+ cancelResultHandlers.add(new ExtendedResultHandlerHolder<R>(
+ cancelRequest, cancelResultHandler));
}
tmpListeners = cancelRequestListeners;
cancelRequestListeners = null;
@@ -362,9 +356,8 @@
{
cancelResultHandlers = new LinkedList<ExtendedResultHandlerHolder<?>>();
}
- cancelResultHandlers
- .add(new ExtendedResultHandlerHolder<R>(
- cancelRequest, cancelResultHandler));
+ cancelResultHandlers.add(new ExtendedResultHandlerHolder<R>(
+ cancelRequest, cancelResultHandler));
}
break;
case TOO_LATE:
@@ -509,8 +502,7 @@
final SearchResultHandler resultHandler, final int messageID,
final boolean isCancelSupported)
{
- super(clientConnection, resultHandler, messageID,
- isCancelSupported);
+ super(clientConnection, resultHandler, messageID, isCancelSupported);
}
@@ -530,8 +522,7 @@
* {@inheritDoc}
*/
@Override
- public boolean handleReference(
- final SearchResultReference reference)
+ public boolean handleReference(final SearchResultReference reference)
{
return resultHandler.handleReference(reference);
}
@@ -543,11 +534,9 @@
ServerConnection<Integer>
{
private final RequestHandler<RequestContext> requestHandler;
-
private final AtomicBoolean isClosed = new AtomicBoolean();
-
private final ConcurrentHashMap<Integer, RequestContextImpl<?, ?>> pendingRequests =
- new ConcurrentHashMap<Integer, RequestContextImpl<?, ?>>();
+ new ConcurrentHashMap<Integer, RequestContextImpl<?, ?>>();
@@ -564,8 +553,7 @@
*/
@Override
public void handleAbandon(final Integer messageID,
- final AbandonRequest request)
- throws UnsupportedOperationException
+ final AbandonRequest request) throws UnsupportedOperationException
{
final RequestContextImpl<?, ?> abandonedRequest = getPendingRequest(request
.getRequestID());
@@ -583,19 +571,18 @@
* {@inheritDoc}
*/
@Override
- public void handleAdd(final Integer messageID,
- final AddRequest request,
- final ResultHandler<? super Result> resultHandler,
- final IntermediateResponseHandler intermediateResponseHandler)
+ public void handleAdd(final Integer messageID, final AddRequest request,
+ final IntermediateResponseHandler intermediateResponseHandler,
+ final ResultHandler<? super Result> resultHandler)
throws UnsupportedOperationException
{
final RequestContextImpl<Result, ResultHandler<? super Result>> requestContext =
- new RequestContextImpl<Result, ResultHandler<? super Result>>(
+ new RequestContextImpl<Result, ResultHandler<? super Result>>(
this, resultHandler, messageID, true);
if (addPendingRequest(requestContext))
{
requestHandler.handleAdd(requestContext, request,
- requestContext, intermediateResponseHandler);
+ intermediateResponseHandler, requestContext);
}
}
@@ -605,19 +592,19 @@
* {@inheritDoc}
*/
@Override
- public void handleBind(final Integer messageID,
- final int version, final BindRequest request,
- final ResultHandler<? super BindResult> resultHandler,
- final IntermediateResponseHandler intermediateResponseHandler)
+ public void handleBind(final Integer messageID, final int version,
+ final BindRequest request,
+ final IntermediateResponseHandler intermediateResponseHandler,
+ final ResultHandler<? super BindResult> resultHandler)
throws UnsupportedOperationException
{
final RequestContextImpl<BindResult, ResultHandler<? super BindResult>> requestContext =
- new RequestContextImpl<BindResult, ResultHandler<? super BindResult>>(
+ new RequestContextImpl<BindResult, ResultHandler<? super BindResult>>(
this, resultHandler, messageID, false);
if (addPendingRequest(requestContext))
{
requestHandler.handleBind(requestContext, version, request,
- requestContext, intermediateResponseHandler);
+ intermediateResponseHandler, requestContext);
}
}
@@ -629,17 +616,17 @@
@Override
public void handleCompare(final Integer messageID,
final CompareRequest request,
- final ResultHandler<? super CompareResult> resultHandler,
- final IntermediateResponseHandler intermediateResponseHandler)
+ final IntermediateResponseHandler intermediateResponseHandler,
+ final ResultHandler<? super CompareResult> resultHandler)
throws UnsupportedOperationException
{
final RequestContextImpl<CompareResult, ResultHandler<? super CompareResult>> requestContext =
- new RequestContextImpl<CompareResult, ResultHandler<? super CompareResult>>(
+ new RequestContextImpl<CompareResult, ResultHandler<? super CompareResult>>(
this, resultHandler, messageID, true);
if (addPendingRequest(requestContext))
{
requestHandler.handleCompare(requestContext, request,
- requestContext, intermediateResponseHandler);
+ intermediateResponseHandler, requestContext);
}
}
@@ -663,8 +650,8 @@
* {@inheritDoc}
*/
@Override
- public void handleConnectionDisconnected(
- final ResultCode resultCode, final String message)
+ public void handleConnectionDisconnected(final ResultCode resultCode,
+ final String message)
{
final LocalizableMessage cancelReason = INFO_CANCELED_BY_SERVER_DISCONNECT
.get();
@@ -692,17 +679,17 @@
@Override
public void handleDelete(final Integer messageID,
final DeleteRequest request,
- final ResultHandler<? super Result> resultHandler,
- final IntermediateResponseHandler intermediateResponseHandler)
+ final IntermediateResponseHandler intermediateResponseHandler,
+ final ResultHandler<? super Result> resultHandler)
throws UnsupportedOperationException
{
final RequestContextImpl<Result, ResultHandler<? super Result>> requestContext =
- new RequestContextImpl<Result, ResultHandler<? super Result>>(
+ new RequestContextImpl<Result, ResultHandler<? super Result>>(
this, resultHandler, messageID, true);
if (addPendingRequest(requestContext))
{
requestHandler.handleDelete(requestContext, request,
- requestContext, intermediateResponseHandler);
+ intermediateResponseHandler, requestContext);
}
}
@@ -714,8 +701,8 @@
@Override
public <R extends ExtendedResult> void handleExtendedRequest(
final Integer messageID, final ExtendedRequest<R> request,
- final ResultHandler<? super R> resultHandler,
- final IntermediateResponseHandler intermediateResponseHandler)
+ final IntermediateResponseHandler intermediateResponseHandler,
+ final ResultHandler<? super R> resultHandler)
throws UnsupportedOperationException
{
if (request.getOID().equals(CancelExtendedRequest.OID))
@@ -724,8 +711,8 @@
CancelExtendedRequest cancelRequest;
try
{
- cancelRequest = CancelExtendedRequest.DECODER
- .decodeExtendedRequest(request, new DecodeOptions());
+ cancelRequest = CancelExtendedRequest.DECODER.decodeExtendedRequest(
+ request, new DecodeOptions());
}
catch (final DecodeException e)
{
@@ -739,7 +726,7 @@
// this request cannot be cancelled, it is important to do this in
// order to monitor the number of pending operations.
final RequestContextImpl<R, ResultHandler<? super R>> requestContext =
- new RequestContextImpl<R, ResultHandler<? super R>>(
+ new RequestContextImpl<R, ResultHandler<? super R>>(
this, resultHandler, messageID, false);
if (addPendingRequest(requestContext))
{
@@ -750,8 +737,8 @@
{
final LocalizableMessage cancelReason = INFO_CANCELED_BY_CANCEL_REQUEST
.get(messageID);
- cancelledRequest.cancel(cancelReason, request,
- requestContext, true);
+ cancelledRequest
+ .cancel(cancelReason, request, requestContext, true);
}
else
{
@@ -779,8 +766,8 @@
if (addPendingRequest(requestContext))
{
- requestHandler.handleExtendedRequest(requestContext,
- request, requestContext, intermediateResponseHandler);
+ requestHandler.handleExtendedRequest(requestContext, request,
+ intermediateResponseHandler, requestContext);
}
}
}
@@ -793,17 +780,17 @@
@Override
public void handleModify(final Integer messageID,
final ModifyRequest request,
- final ResultHandler<? super Result> resultHandler,
- final IntermediateResponseHandler intermediateResponseHandler)
+ final IntermediateResponseHandler intermediateResponseHandler,
+ final ResultHandler<? super Result> resultHandler)
throws UnsupportedOperationException
{
final RequestContextImpl<Result, ResultHandler<? super Result>> requestContext =
- new RequestContextImpl<Result, ResultHandler<? super Result>>(
+ new RequestContextImpl<Result, ResultHandler<? super Result>>(
this, resultHandler, messageID, true);
if (addPendingRequest(requestContext))
{
requestHandler.handleModify(requestContext, request,
- requestContext, intermediateResponseHandler);
+ intermediateResponseHandler, requestContext);
}
}
@@ -815,17 +802,17 @@
@Override
public void handleModifyDN(final Integer messageID,
final ModifyDNRequest request,
- final ResultHandler<? super Result> resultHandler,
- final IntermediateResponseHandler intermediateResponseHandler)
+ final IntermediateResponseHandler intermediateResponseHandler,
+ final ResultHandler<? super Result> resultHandler)
throws UnsupportedOperationException
{
final RequestContextImpl<Result, ResultHandler<? super Result>> requestContext =
- new RequestContextImpl<Result, ResultHandler<? super Result>>(
+ new RequestContextImpl<Result, ResultHandler<? super Result>>(
this, resultHandler, messageID, true);
if (addPendingRequest(requestContext))
{
requestHandler.handleModifyDN(requestContext, request,
- requestContext, intermediateResponseHandler);
+ intermediateResponseHandler, requestContext);
}
}
@@ -837,8 +824,8 @@
@Override
public void handleSearch(final Integer messageID,
final SearchRequest request,
- final SearchResultHandler resultHandler,
- final IntermediateResponseHandler intermediateResponseHandler)
+ final IntermediateResponseHandler intermediateResponseHandler,
+ final SearchResultHandler resultHandler)
throws UnsupportedOperationException
{
final SearchRequestContextImpl requestContext = new SearchRequestContextImpl(
@@ -846,7 +833,7 @@
if (addPendingRequest(requestContext))
{
requestHandler.handleSearch(requestContext, request,
- requestContext, intermediateResponseHandler);
+ intermediateResponseHandler, requestContext);
}
}
@@ -859,8 +846,7 @@
if (isClosed.get())
{
- final LocalizableMessage message = INFO_CLIENT_CONNECTION_CLOSING
- .get();
+ final LocalizableMessage message = INFO_CLIENT_CONNECTION_CLOSING.get();
requestContext.handleErrorResult(newErrorResult(
ResultCode.UNWILLING_TO_PERFORM, message.toString()));
return false;
@@ -879,8 +865,7 @@
// it will have only been notified for cancellation.
pendingRequests.remove(messageID);
- final LocalizableMessage message = INFO_CLIENT_CONNECTION_CLOSING
- .get();
+ final LocalizableMessage message = INFO_CLIENT_CONNECTION_CLOSING.get();
requestContext.handleErrorResult(newErrorResult(
ResultCode.UNWILLING_TO_PERFORM, message.toString()));
return false;
@@ -906,8 +891,7 @@
.values().iterator();
while (iterator.hasNext())
{
- final RequestContextImpl<?, ?> pendingRequest = iterator
- .next();
+ final RequestContextImpl<?, ?> pendingRequest = iterator.next();
pendingRequest.cancel(cancelReason, null, null, false);
iterator.remove();
}
@@ -923,8 +907,7 @@
* The message ID associated with the request context.
* @return The pending request context.
*/
- private RequestContextImpl<?, ?> getPendingRequest(
- final Integer messageID)
+ private RequestContextImpl<?, ?> getPendingRequest(final Integer messageID)
{
return pendingRequests.get(messageID);
}
--
Gitblit v1.10.0