public void moveAndRename( NextInterceptor next, MoveAndRenameOperationContext opContext )
throws Exception
{
DN oriChildName = opContext.getDn();
DN parent = opContext.getParent();
RDN newRdn = opContext.getNewRdn();
boolean deleteOldRn = opContext.getDelOldDn();
// Bypass trigger handling if the service is disabled.
if ( !enabled )
{
next.moveAndRename( opContext );
return;
}
// Gather supplementary data.
ClonedServerEntry movedEntry = opContext.lookup( oriChildName, ByPassConstants.LOOKUP_BYPASS );
DN oldRDN = new DN( oriChildName.getRdn().getUpName() );
DN oldSuperiorDN = ( DN ) oriChildName.clone();
oldSuperiorDN.remove( oldSuperiorDN.size() - 1 );
DN newSuperiorDN = ( DN ) parent.clone();
DN oldDN = ( DN ) oriChildName.clone();
DN newDN = ( DN ) parent.clone();
newDN.add( newRdn.getUpName() );
StoredProcedureParameterInjector injector = new ModifyDNStoredProcedureParameterInjector(
opContext, deleteOldRn, oldRDN, newRdn, oldSuperiorDN, newSuperiorDN, oldDN, newDN );
// Gather Trigger Specifications which apply to the entry being exported.