| | |
| | | |
| | | |
| | | |
| | | private class LDAPServerConnection implements |
| | | ServerConnection<Integer> |
| | | private class LDAPServerConnection implements ServerConnection<Integer> |
| | | { |
| | | |
| | | private final LDAPClientContext clientContext; |
| | |
| | | * @param intermediateResponseHandler |
| | | * @throws UnsupportedOperationException |
| | | */ |
| | | public void handleAdd(final Integer context, |
| | | final AddRequest request, final ResultHandler<? super Result> handler, |
| | | final IntermediateResponseHandler intermediateResponseHandler) |
| | | public void handleAdd(final Integer context, final AddRequest request, |
| | | final IntermediateResponseHandler intermediateResponseHandler, |
| | | final ResultHandler<? super Result> handler) |
| | | throws UnsupportedOperationException |
| | | { |
| | | Result result = null; |
| | |
| | | { |
| | | // duplicate entry. |
| | | result = Responses.newResult(ResultCode.ENTRY_ALREADY_EXISTS); |
| | | final ErrorResultException ere = ErrorResultException.newErrorResult(result); |
| | | final ErrorResultException ere = ErrorResultException |
| | | .newErrorResult(result); |
| | | handler.handleErrorResult(ere); |
| | | // doesn't matter if it was canceled. |
| | | requestsInProgress.remove(context); |
| | |
| | | if (abReq.isCanceled()) |
| | | { |
| | | result = Responses.newResult(ResultCode.CANCELLED); |
| | | final ErrorResultException ere = ErrorResultException.newErrorResult(result); |
| | | final ErrorResultException ere = ErrorResultException |
| | | .newErrorResult(result); |
| | | handler.handleErrorResult(ere); |
| | | requestsInProgress.remove(context); |
| | | return; |
| | |
| | | */ |
| | | public void handleBind(final Integer context, final int version, |
| | | final BindRequest request, |
| | | final ResultHandler<? super BindResult> resultHandler, |
| | | final IntermediateResponseHandler intermediateResponseHandler) |
| | | final IntermediateResponseHandler intermediateResponseHandler, |
| | | final ResultHandler<? super BindResult> resultHandler) |
| | | throws UnsupportedOperationException |
| | | { |
| | | // TODO: all bind types. |
| | |
| | | } |
| | | catch (SaslException e) |
| | | { |
| | | throw ErrorResultException.newErrorResult(Responses.newResult( |
| | | ResultCode.OPERATIONS_ERROR).setCause(e)); |
| | | throw ErrorResultException.newErrorResult(Responses |
| | | .newResult(ResultCode.OPERATIONS_ERROR).setCause(e)); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | catch (SaslException e) |
| | | { |
| | | throw ErrorResultException.newErrorResult(Responses.newResult( |
| | | ResultCode.OPERATIONS_ERROR).setCause(e)); |
| | | throw ErrorResultException.newErrorResult(Responses |
| | | .newResult(ResultCode.OPERATIONS_ERROR).setCause(e)); |
| | | } |
| | | } |
| | | }; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | resultHandler.handleErrorResult(ErrorResultException.newErrorResult(Responses |
| | | .newBindResult(ResultCode.OPERATIONS_ERROR).setCause(e) |
| | | .setDiagnosticMessage(e.toString()))); |
| | | resultHandler.handleErrorResult(ErrorResultException |
| | | .newErrorResult(Responses |
| | | .newBindResult(ResultCode.OPERATIONS_ERROR).setCause(e) |
| | | .setDiagnosticMessage(e.toString()))); |
| | | } |
| | | } |
| | | else |
| | |
| | | */ |
| | | public void handleCompare(final Integer context, |
| | | final CompareRequest request, |
| | | final ResultHandler<? super CompareResult> resultHandler, |
| | | final IntermediateResponseHandler intermediateResponseHandler) |
| | | final IntermediateResponseHandler intermediateResponseHandler, |
| | | final ResultHandler<? super CompareResult> resultHandler) |
| | | throws UnsupportedOperationException |
| | | { |
| | | CompareResult result = null; |
| | |
| | | { |
| | | // entry not found. |
| | | result = Responses.newCompareResult(ResultCode.NO_SUCH_ATTRIBUTE); |
| | | final ErrorResultException ere = ErrorResultException.newErrorResult(result); |
| | | final ErrorResultException ere = ErrorResultException |
| | | .newErrorResult(result); |
| | | resultHandler.handleErrorResult(ere); |
| | | // doesn't matter if it was canceled. |
| | | requestsInProgress.remove(context); |
| | |
| | | if (abReq.isCanceled()) |
| | | { |
| | | final Result r = Responses.newResult(ResultCode.CANCELLED); |
| | | final ErrorResultException ere = ErrorResultException.newErrorResult(r); |
| | | final ErrorResultException ere = ErrorResultException |
| | | .newErrorResult(r); |
| | | resultHandler.handleErrorResult(ere); |
| | | requestsInProgress.remove(context); |
| | | return; |
| | |
| | | */ |
| | | public void handleDelete(final Integer context, |
| | | final DeleteRequest request, |
| | | final ResultHandler<? super Result> handler, |
| | | final IntermediateResponseHandler intermediateResponseHandler) |
| | | final IntermediateResponseHandler intermediateResponseHandler, |
| | | final ResultHandler<? super Result> handler) |
| | | throws UnsupportedOperationException |
| | | { |
| | | Result result = null; |
| | |
| | | { |
| | | // entry is not found. |
| | | result = Responses.newResult(ResultCode.NO_SUCH_OBJECT); |
| | | final ErrorResultException ere = ErrorResultException.newErrorResult(result); |
| | | final ErrorResultException ere = ErrorResultException |
| | | .newErrorResult(result); |
| | | handler.handleErrorResult(ere); |
| | | // doesn't matter if it was canceled. |
| | | requestsInProgress.remove(context); |
| | |
| | | if (abReq.isCanceled()) |
| | | { |
| | | result = Responses.newResult(ResultCode.CANCELLED); |
| | | final ErrorResultException ere = ErrorResultException.newErrorResult(result); |
| | | final ErrorResultException ere = ErrorResultException |
| | | .newErrorResult(result); |
| | | handler.handleErrorResult(ere); |
| | | requestsInProgress.remove(context); |
| | | return; |
| | |
| | | */ |
| | | public <R extends ExtendedResult> void handleExtendedRequest( |
| | | final Integer context, 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(StartTLSExtendedRequest.OID)) |
| | |
| | | */ |
| | | public void handleModify(final Integer context, |
| | | final ModifyRequest request, |
| | | final ResultHandler<? super Result> resultHandler, |
| | | final IntermediateResponseHandler intermediateResponseHandler) |
| | | final IntermediateResponseHandler intermediateResponseHandler, |
| | | final ResultHandler<? super Result> resultHandler) |
| | | throws UnsupportedOperationException |
| | | { |
| | | // TODO: |
| | |
| | | */ |
| | | public void handleModifyDN(final Integer context, |
| | | final ModifyDNRequest request, |
| | | final ResultHandler<? super Result> resultHandler, |
| | | final IntermediateResponseHandler intermediateResponseHandler) |
| | | final IntermediateResponseHandler intermediateResponseHandler, |
| | | final ResultHandler<? super Result> resultHandler) |
| | | throws UnsupportedOperationException |
| | | { |
| | | // TODO |
| | |
| | | |
| | | |
| | | /** |
| | | * @param context |
| | | * @param request |
| | | * @param resultHandler |
| | | * @param intermediateResponseHandler |
| | | * @param resultHandler |
| | | * @param context |
| | | * @throws UnsupportedOperationException |
| | | */ |
| | | public void handleSearch(final Integer context, |
| | | final SearchRequest request, final SearchResultHandler resultHandler, |
| | | final IntermediateResponseHandler intermediateResponseHandler) |
| | | final SearchRequest request, |
| | | final IntermediateResponseHandler intermediateResponseHandler, |
| | | final SearchResultHandler resultHandler) |
| | | throws UnsupportedOperationException |
| | | { |
| | | Result result = null; |
| | |
| | | { |
| | | // Entry not found. |
| | | result = Responses.newResult(ResultCode.NO_SUCH_OBJECT); |
| | | final ErrorResultException ere = ErrorResultException.newErrorResult(result); |
| | | final ErrorResultException ere = ErrorResultException |
| | | .newErrorResult(result); |
| | | resultHandler.handleErrorResult(ere); |
| | | // Should searchResultHandler handle anything? |
| | | |
| | |
| | | if (abReq.isCanceled()) |
| | | { |
| | | result = Responses.newResult(ResultCode.CANCELLED); |
| | | final ErrorResultException ere = ErrorResultException.newErrorResult(result); |
| | | final ErrorResultException ere = ErrorResultException |
| | | .newErrorResult(result); |
| | | resultHandler.handleErrorResult(ere); |
| | | requestsInProgress.remove(context); |
| | | return; |
| | |
| | | |
| | | // The mapping between the message id and the requests the server is currently |
| | | // handling. |
| | | private final ConcurrentHashMap<Integer, AbandonableRequest> requestsInProgress = |
| | | new ConcurrentHashMap<Integer, AbandonableRequest>(); |
| | | private final ConcurrentHashMap<Integer, AbandonableRequest> requestsInProgress = new ConcurrentHashMap<Integer, AbandonableRequest>(); |
| | | |
| | | private SSLContext sslContext; |
| | | |
| | |
| | | final String sn = String.format("sn: %d", i); |
| | | final String uid = String.format("uid: user.%d", i); |
| | | |
| | | // See org.forgerock.opendj.ldap.ConnectionFactoryTestCase.testSchemaUsage(). |
| | | // See |
| | | // org.forgerock.opendj.ldap.ConnectionFactoryTestCase.testSchemaUsage(). |
| | | final String mail = String.format("mail: user.%d@example.com", i); |
| | | |
| | | final DN d = DN.valueOf(dn); |