public class MergeOperation extends AbstractOperation<MergeRequest,Void>
LdapEntry
with it's
corresponding entry in the LDAP. The following logic is executed:
LdapEntry.computeModifications(LdapEntry, LdapEntry)
is used to determine the list of attribute
modifications that are necessary to perform the merge. Either MergeRequest.getIncludeAttributes()
or MergeRequest.getExcludeAttributes()
will be used, but not both.
AbstractOperation.ReopenOperationExceptionHandler
logger
Constructor and Description |
---|
MergeOperation(Connection conn)
Creates a new merge operation.
|
Modifier and Type | Method and Description |
---|---|
protected Response<Void> |
add(MergeRequest request,
LdapEntry entry)
Executes an
AddOperation for the supplied entry. |
protected Response<Void> |
delete(MergeRequest request,
LdapEntry entry)
Executes a
DeleteOperation for the supplied entry. |
protected Response<Void> |
invoke(MergeRequest request)
Executes the ldap operation necessary to perform a merge.
|
protected Response<Void> |
modify(MergeRequest request,
LdapEntry source,
LdapEntry target)
Retrieves the attribute modifications from
LdapEntry.computeModifications(LdapEntry, LdapEntry) and
executes a ModifyOperation with those results. |
execute, executeHandlers, getConnection, getOperationExceptionHandler, getOperationResponseHandlers, setOperationExceptionHandler, setOperationResponseHandlers, toString
public MergeOperation(Connection conn)
conn
- connectionprotected Response<Void> invoke(MergeRequest request) throws LdapException
AddOperation
, ModifyOperation
, or
DeleteOperation
.invoke
in class AbstractOperation<MergeRequest,Void>
request
- merge requestLdapException
- if the invocation failsprotected Response<Void> modify(MergeRequest request, LdapEntry source, LdapEntry target) throws LdapException
LdapEntry.computeModifications(LdapEntry, LdapEntry)
and
executes a ModifyOperation
with those results. If no modifications are necessary, no operation is
performed.request
- merge requestsource
- ldap entry to merge into the LDAPtarget
- ldap entry that exists in the LDAPLdapException
- if an error occurs executing the modify operationprotected Response<Void> add(MergeRequest request, LdapEntry entry) throws LdapException
AddOperation
for the supplied entry.request
- merge requestentry
- to add to the LDAPLdapException
- if an error occurs executing the add operationprotected Response<Void> delete(MergeRequest request, LdapEntry entry) throws LdapException
DeleteOperation
for the supplied entry.request
- merge requestentry
- to delete from the LDAPLdapException
- if an error occurs executing the deleting operationCopyright © 2003-2019 Virginia Tech. All Rights Reserved.