if ( name.isEmpty() )
{
String msg = I18n.err( I18n.ERR_12 );
LOG.error( msg );
throw new LdapNoPermissionException( msg );
}
if ( name.getNormName().equals( ADMIN_GROUP_DN.getNormName() ) )
{
String msg = I18n.err( I18n.ERR_13 );
LOG.error( msg );
throw new LdapNoPermissionException( msg );
}
if ( isTheAdministrator( name ) )
{
String msg = I18n.err( I18n.ERR_14, principalDn.getName() );
LOG.error( msg );
throw new LdapNoPermissionException( msg );
}
if ( name.size() > 2 )
{
if ( !isAnAdministrator( principalDn ) )
{
if ( name.startsWith( USER_BASE_DN ) )
{
String msg = I18n.err( I18n.ERR_15, principalDn.getName(), name.getName() );
LOG.error( msg );
throw new LdapNoPermissionException( msg );
}
if ( name.startsWith( GROUP_BASE_DN ) )
{
String msg = I18n.err( I18n.ERR_16, principalDn.getName(), name.getName() );
LOG.error( msg );
throw new LdapNoPermissionException( msg );
}
}
}
nextInterceptor.delete( opContext );