Subversion Repositories bacoAlunos

Rev

Rev 2049 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package pt.estgp.es.exemplos.hibernate.services;

import pt.estgp.es.exemplos.hibernate.HibernateUtils;
import pt.estgp.es.exemplos.hibernate.User;
import pt.estgp.es.exemplos.hibernate.UserSession;
import pt.estgp.es.exemplos.hibernate.UserSessionImpl;
import pt.estgp.es.exemplos.hibernate.security.SecurityContextProvider;
import pt.estgp.es.exemplos.hibernate.security.logic.Transaction;

import javax.servlet.http.HttpServletRequest;

public class ServicoSessoes {

  /**
   * Regista-se o contexto de segurança no monitor e cria-se uma sessão na base de dados
   * se não existir
   * @param requester
   * @return UserSession registada para o Requester
   */

  @Transaction
  public UserSession registerUserSession(1.5.0/docs/api/java/lang/String.html">String requester) {

          SecurityContextProvider.getInstance().registerSessionContext(requester);
  UserSession session;
        try {
    session = (UserSession) HibernateUtils.getCurrentSession().load(UserSession.class, requester);
    if(session == null)
    {
      session = new UserSessionImpl();
      session.setCookie(requester);
      HibernateUtils.getCurrentSession().save(session);
    }
  }
        catch(1.5.0/docs/api/java/lang/Exception.html">Exception e)
  {

    session = new UserSessionImpl();
    session.setCookie(requester);
    HibernateUtils.getCurrentSession().save(session);
  }
        return session;
}
}