| | |
| | | */ |
| | | package org.opends.server.protocols.http; |
| | | |
| | | import static org.forgerock.opendj.adapter.server3x.Converters.*; |
| | | import static org.forgerock.opendj.ldap.ByteString.*; |
| | | import static org.forgerock.opendj.ldap.LdapException.*; |
| | | import static org.forgerock.opendj.ldap.spi.LdapPromiseImpl.*; |
| | | |
| | | import java.util.LinkedHashSet; |
| | | import java.util.concurrent.atomic.AtomicInteger; |
| | | |
| | |
| | | import org.forgerock.opendj.ldap.AbstractAsynchronousConnection; |
| | | import org.forgerock.opendj.ldap.ByteString; |
| | | import org.forgerock.opendj.ldap.ConnectionEventListener; |
| | | import org.forgerock.opendj.ldap.LdapPromise; |
| | | import org.forgerock.opendj.ldap.spi.LdapPromiseImpl; |
| | | import org.forgerock.opendj.ldap.IntermediateResponseHandler; |
| | | import org.forgerock.opendj.ldap.LdapPromise; |
| | | import org.forgerock.opendj.ldap.ResultCode; |
| | | import org.forgerock.opendj.ldap.SearchResultHandler; |
| | | import org.forgerock.opendj.ldap.requests.AbandonRequest; |
| | |
| | | import org.forgerock.opendj.ldap.responses.CompareResult; |
| | | import org.forgerock.opendj.ldap.responses.ExtendedResult; |
| | | import org.forgerock.opendj.ldap.responses.Result; |
| | | import org.forgerock.opendj.ldap.spi.LdapPromiseImpl; |
| | | import org.opends.server.core.AbandonOperation; |
| | | import org.opends.server.core.AbandonOperationBasis; |
| | | import org.opends.server.core.AddOperation; |
| | |
| | | import org.opends.server.types.DisconnectReason; |
| | | import org.opends.server.types.Operation; |
| | | |
| | | import static org.forgerock.opendj.adapter.server3x.Converters.*; |
| | | import static org.forgerock.opendj.ldap.ByteString.*; |
| | | import static org.forgerock.opendj.ldap.LdapException.*; |
| | | import static org.forgerock.opendj.ldap.spi.LdapPromiseImpl.*; |
| | | |
| | | /** |
| | | * Adapter class between LDAP SDK's {@link org.forgerock.opendj.ldap.Connection} |
| | | * and OpenDJ server's |
| | |
| | | throw new RuntimeException("Not implemented for operation " + operation); |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public LdapPromise<Void> abandonAsync(AbandonRequest request) |
| | | { |
| | |
| | | to(request.getControls()), request.getRequestID())); |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public LdapPromise<Result> addAsync(AddRequest request, IntermediateResponseHandler intermediateResponseHandler) |
| | | { |
| | |
| | | valueOfObject(request.getName()), to(request.getAllAttributes()))); |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public void addConnectionEventListener(ConnectionEventListener listener) |
| | | { |
| | | // not useful so far |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public LdapPromise<BindResult> bindAsync(BindRequest request, |
| | | IntermediateResponseHandler intermediateResponseHandler) |
| | |
| | | "3", ByteString.valueOfUtf8(userName), ByteString.wrap(password))); |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public void close(UnbindRequest request, String reason) |
| | | { |
| | |
| | | if (authInfo != null && authInfo.isAuthenticated()) |
| | | { |
| | | final int messageID = nextMessageID.getAndIncrement(); |
| | | final UnbindOperationBasis operation = |
| | | new UnbindOperationBasis(clientConnection, messageID, messageID, |
| | | to(request.getControls())); |
| | | final UnbindOperationBasis operation = new UnbindOperationBasis( |
| | | clientConnection, messageID, messageID, to(request.getControls())); |
| | | operation.setInnerOperation(this.clientConnection.isInnerConnection()); |
| | | |
| | | // run synchronous |
| | |
| | | isClosed = true; |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public LdapPromise<CompareResult> compareAsync(CompareRequest request, |
| | | IntermediateResponseHandler intermediateResponseHandler) |
| | |
| | | request.getAssertionValue())); |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public LdapPromise<Result> deleteAsync(DeleteRequest request, |
| | | IntermediateResponseHandler intermediateResponseHandler) |
| | |
| | | to(request.getControls()), valueOfObject(request.getName()))); |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public <R extends ExtendedResult> LdapPromise<R> extendedRequestAsync(ExtendedRequest<R> request, |
| | | IntermediateResponseHandler intermediateResponseHandler) |
| | |
| | | return queueingStrategy; |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public boolean isClosed() |
| | | { |
| | | return isClosed; |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public boolean isValid() |
| | | { |
| | | return this.clientConnection.isConnectionValid(); |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public LdapPromise<Result> modifyAsync(ModifyRequest request, |
| | | IntermediateResponseHandler intermediateResponseHandler) |
| | |
| | | toModifications(request.getModifications()))); |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public LdapPromise<Result> modifyDNAsync(ModifyDNRequest request, |
| | | IntermediateResponseHandler intermediateResponseHandler) |
| | |
| | | .getNewSuperior()))); |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public void removeConnectionEventListener(ConnectionEventListener listener) |
| | | { |
| | | // not useful so far |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public LdapPromise<Result> searchAsync(final SearchRequest request, |
| | | final IntermediateResponseHandler intermediateResponseHandler, final SearchResultHandler entryHandler) |
| | |
| | | new LinkedHashSet<String>(request.getAttributes())), entryHandler); |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public String toString() |
| | | { |