Rev 1306 |
Go to most recent revision |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
package pt.estgp.estgweb.services.users;
import jomm.utils.BytesUtils;
import org.apache.log4j.Logger;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.domain.User;
import pt.estgp.estgweb.domain.UserSession;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.services.expceptions.AlreadyExistsException;
import pt.estgp.estgweb.services.expceptions.FieldException;
import pt.estgp.estgweb.services.expceptions.ServiceException;
import pt.estgp.estgweb.services.common.CommonServicesManager;
import pt.utl.ist.berserk.logic.serviceManager.IService;
import java.util.Date;
/*
* @author Goncalo Luiz gedl [AT] rnl [DOT] ist [DOT] utl [DOT] pt
*
*
* Created at 17/Out/2003 , 23:45:24
*
*/
/**
* @author Jorge Machado
* <p/>
* <p/>
* Created at 17/Out/2003 , 23:45:24
*/
public class CreateUserService
implements IService
{
private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger =
1.5.0/docs/api/java/util/logging/Logger.html">Logger.
getLogger(CreateUserService.
class);
public void run
(User user, UserSession userSession
) throws ServiceException
{
if (user.
getUsername() ==
null || user.
getPassword() ==
null || user.
getUsername().
length() < 4 || user.
getPassword().
length() < 4
)
throw new FieldException
("bad.fields");
User u = DaoFactory.
getUserDaoImpl().
loadByUsername(user.
getUsername());
if (u
!=
null)
{
throw new AlreadyExistsException
(AlreadyExistsException.
ALREADY_EXISTS_USERNAME);
}
u = DaoFactory.
getUserDaoImpl().
loadByUsername(user.
getEmail());
if (u
!=
null)
{
throw new AlreadyExistsException
(AlreadyExistsException.
ALREADY_EXISTS_EMAIL);
}
user.
setSaveDate(new 5+0%2Fdocs%2Fapi+Date">Date());
DaoFactory.
getUserDaoImpl().
save(user
);
//Advising CommonsServicesManager before change password
CommonServicesManager.
getInstance().
adviseNew(user
);
if(!Globals.
USE_LDAP || userSession.
getUser().
isSuperuserOrAdmin())
{
user.
setPassword(BytesUtils.
getMD5(user.
getPassword()));
}
if (userSession.
getUser() ==
null)
logger.
info("Anonimous - Creating user:" + user.
getId() +
" " + user.
getName());
else
logger.
info(userSession.
getUser().
getName() +
" - Creating user:" + user.
getUsername() +
" " + user.
getName());
}
}