Blame |
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().
get(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
);
}
session =
(UserSession
) HibernateUtils.
narrow(session
);
return session
;
}
}