Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 1061 → Rev 1062

/hostadmiral/trunk/src/ak/hostadmiral/listener/uservalidatoratdomain/UserValidatorAtDomain.java
0,0 → 1,52
package ak.hostadmiral.listener.uservalidatoratdomain;
 
import java.util.Map;
import java.util.Collection;
import java.util.Iterator;
 
import ak.hostadmiral.core.model.User;
import ak.hostadmiral.core.model.UserManager;
import ak.hostadmiral.core.model.UserValidateListener;
import ak.hostadmiral.core.model.InetDomain;
import ak.hostadmiral.core.model.InetDomainManager;
import ak.hostadmiral.util.ConfigInit;
import ak.hostadmiral.util.ModelException;
import ak.hostadmiral.util.ModelUserException;
import ak.hostadmiral.util.ResourceManager;
 
public class UserValidatorAtDomain
implements
ConfigInit,
UserValidateListener
{
public void init(Map params)
{
UserManager.getInstance().addValidateListener(this);
ResourceManager.getInstance().addResource(
"ak.hostadmiral.listener.uservalidatoratdomain.UserValidatorAtDomainMessages");
}
 
public void userValidate(User editor, User user, User oldUser)
throws ModelException
{
// superuser
if(editor.isSuperuser()) return;
 
// login not changed
if(oldUser.getLogin() != null && user.getLogin().equals(oldUser.getLogin()))
return;
 
// go through all domains
Collection domains = InetDomainManager.getInstance().listInetDomains(editor);
for(Iterator i = domains.iterator(); i.hasNext(); ) {
InetDomain domain = (InetDomain)i.next();
 
if(user.getLogin().endsWith("@" + domain.getName()))
return;
}
 
// nothing found
throw new ModelUserException(
"ak.hostadmiral.listener.uservalidatoratdomain.login.wrong");
}
}