Package org.opends.server.protocols
Class ReactiveHandlersUtils
- java.lang.Object
-
- org.opends.server.protocols.ReactiveHandlersUtils
-
public final class ReactiveHandlersUtils extends Object
Utility class for reactive handlers.
-
-
Field Summary
Fields Modifier and Type Field Description static intLDAP_PROTOCOL_VERSION_3Version 3 of the LDAP protocol.static StringNO_BACKENDBackend id value to use for an operation when there is no backend selected.static StringREACTIVE_OUTLabel for reactive out operation attachment.static StringREQUESTLabel for the request operation attachment.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidaddAttachmentsToOperation(Operation op, Request request, FlowableEmitter<Response> out)Add to operation the attachments needed for correct behavior of the reactive handlers.static voidemitResult(Result result, FlowableEmitter<Response> out)Emits a result to the provided reactive emitter, to signal completion of a request.static FlowableEmitter<Response>getFlowableEmitter(Operation operation)Returns the reactive emitter attached to the provided operation.static InternalModificationsRequestControlgetInternalModificationControl(Request request)Returns the internal modification control from the provided request.static ReplicatedRequestControlgetReplicatedRequestControl(Request request)Returns the replicated request control from the provided request.static ResultoperationToResult(Operation operation, int ldapVersion, long connectionId, SslOptions sslOptions)Generates a result from the provided operation.static OperationrequestToOperation(org.forgerock.services.context.Context context, Request request)Returns an operation from the provided request.static voidsetResultDetails(Result result, Operation operation, LdapException e, int ldapVersion)Set details on the provided result with data from an operation.
-
-
-
Field Detail
-
REACTIVE_OUT
public static final String REACTIVE_OUT
Label for reactive out operation attachment.- See Also:
- Constant Field Values
-
REQUEST
public static final String REQUEST
Label for the request operation attachment.- See Also:
- Constant Field Values
-
NO_BACKEND
public static final String NO_BACKEND
Backend id value to use for an operation when there is no backend selected.- See Also:
- Constant Field Values
-
LDAP_PROTOCOL_VERSION_3
public static final int LDAP_PROTOCOL_VERSION_3
Version 3 of the LDAP protocol.- See Also:
- Constant Field Values
-
-
Method Detail
-
getFlowableEmitter
public static FlowableEmitter<Response> getFlowableEmitter(Operation operation)
Returns the reactive emitter attached to the provided operation.- Parameters:
operation- The operation.- Returns:
- the reactive emitter associated to the operation
-
operationToResult
public static Result operationToResult(Operation operation, int ldapVersion, long connectionId, SslOptions sslOptions)
Generates a result from the provided operation.- Parameters:
operation- The operation to use to generate the response.ldapVersion- The LDAP protocol version.connectionId- The connection id to be used for loggingsslOptions- Contains options to apply when a Start-TLS operation succeed.- Returns:
- a result, that may be
nullif LDAP v2 is used or if the operation has no response.
-
requestToOperation
public static Operation requestToOperation(org.forgerock.services.context.Context context, Request request)
Returns an operation from the provided request.- Parameters:
request- The request.context- The request context to use.- Returns:
- an operation
-
setResultDetails
public static void setResultDetails(Result result, Operation operation, LdapException e, int ldapVersion)
Set details on the provided result with data from an operation.- Parameters:
result- The result to update.operation- The source operation.e- The ldap exception that was thrown.ldapVersion- The version of LDAP protocol.
-
addAttachmentsToOperation
public static void addAttachmentsToOperation(Operation op, Request request, FlowableEmitter<Response> out)
Add to operation the attachments needed for correct behavior of the reactive handlers.- Parameters:
op- The operation to execute.request- The request to perform.out- The flowable emitter to use when response(s) are available.
-
getReplicatedRequestControl
public static ReplicatedRequestControl getReplicatedRequestControl(Request request)
Returns the replicated request control from the provided request.- Parameters:
request- The request- Returns:
- the replicated request control or
nullif there is none
-
getInternalModificationControl
public static InternalModificationsRequestControl getInternalModificationControl(Request request)
Returns the internal modification control from the provided request.- Parameters:
request- The request- Returns:
- the control or
nullif there is none
-
emitResult
public static void emitResult(Result result, FlowableEmitter<Response> out)
Emits a result to the provided reactive emitter, to signal completion of a request.- Parameters:
result- The result to emit, which may benull.out- The reactive emitter.
-
-