public class RebindOperationExecutor extends Object implements CompensatingTransactionOperationExecutor
CompensatingTransactionOperationExecutor
to manage a rebind
operation. The methods in this class do not behave as expected, since it
might be impossible to retrieve all the original attributes from the entry.
Instead this class performs a rename in performOperation()
,
a negating rename in rollback()
, and the commit()
operation unbinds the original entry from its temporary location and binds a
new entry to the original location using the attributes supplied to the
original rebind opertaion.Constructor and Description |
---|
RebindOperationExecutor(LdapOperations ldapOperations,
Name originalDn,
Name temporaryDn,
Object originalObject,
Attributes originalAttributes)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
commit()
Commit the operation.
|
void |
performOperation()
Perform the operation.
|
void |
rollback()
Rollback the operation, restoring state of the target as it was before
the operation was performed using the information supplied on creation of
this instance.
|
public RebindOperationExecutor(LdapOperations ldapOperations, Name originalDn, Name temporaryDn, Object originalObject, Attributes originalAttributes)
ldapOperations
- the LdapOperations
to use to perform the rollback.originalDn
- The original DN of the entry to bind.temporaryDn
- The temporary DN of the entry.originalObject
- Original 'object' parameter sent to the rebind operation.originalAttributes
- Original 'attributes' parameter sent to the rebind operationpublic void rollback()
CompensatingTransactionOperationExecutor
rollback
in interface CompensatingTransactionOperationExecutor
public void commit()
CompensatingTransactionOperationExecutor
commit
in interface CompensatingTransactionOperationExecutor
public void performOperation()
CompensatingTransactionOperationExecutor
performOperation
in interface CompensatingTransactionOperationExecutor