public void deactivateUser(final DirContext ctx, final LdapUser user) throws NamingException
{
log.info("Deactivate user: " + buildDn(null, user));
final List<ModificationItem> modificationItems = new ArrayList<ModificationItem>();
modificationItems.add(new ModificationItem(DirContext.REPLACE_ATTRIBUTE, new BasicAttribute("userPassword", null)));
modificationItems
.add(new ModificationItem(DirContext.REPLACE_ATTRIBUTE, new BasicAttribute("mail", DEACTIVATED_MAIL)));
buildDn(null, user);
modify(ctx, user, modificationItems);
final String ou = user.getOrganizationalUnit();
if (ou.startsWith(DEACTIVATED_SUB_CONTEXT2) == false) {
final String newOu = LdapUtils.getOu(DEACTIVATED_SUB_CONTEXT, getOuBase());
move(ctx, user, newOu);
user.setOrganizationalUnit(newOu);
}
}