Go to most recent revision |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
package pt.estgp.es.exemplos.hibernate.web;
import org.hibernate.Criteria;
import org.hibernate.criterion.Order;
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 javax.servlet.*;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import static org.
hibernate.
criterion.
Restrictions.
*;
public class UserFilter
implements 1.5.0/docs/api/java/util/logging/Filter.html">Filter {
@
1.5.0/docs/api/java/lang/Override.html">Override
public void init
(FilterConfig filterConfig
) throws ServletException
{
}
@
1.5.0/docs/api/java/lang/Override.html">Override
public void doFilter
(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain
) throws 1.5.0/docs/api/java/io/IOException.html">IOException, ServletException
{
HttpServletResponse response =
(HttpServletResponse
) servletResponse
;
response.
sendError(500
);
HttpServletRequest request =
(HttpServletRequest
) servletRequest
;
HibernateUtils.
getCurrentSession().
beginTransaction();
User user =
(User
) HibernateUtils.
getCurrentSession().
createCriteria(User.
class)
.
createAlias("user",
"u")
.
add(like
("u.nome",
"%17210%"))
.
add(eq
("username",
"17210")) //alt+enter eq() ->Restriction.eq
.
add(eq
("password",
"123"))
.
add(or
(eq
("u.nome",
"%17210%"), not
(eq
("password",
"123"))))
.
add(like
("username",
"%17210%"))
.
addOrder(Order.
asc("username"))
.
uniqueResult();
/*User user = (User) c.add(eq("username", "17210")) //alt+enter eq() ->Restriction.eq
.add(eq("password","123")).uniqueResult(); */
User u =
null;
try{
UserSession session =
(UserSession
) HibernateUtils.
getCurrentSession().
load(UserSession.
class, request.
getSession().
getId());
if (session==
null)
{
session =
new UserSessionImpl
();
session.
setCookie(request.
getSession().
getId());
HibernateUtils.
getCurrentSession().
save(session
);
}
u=session.
getUser();
}
catch (1.5.0/docs/api/java/lang/Exception.html">Exception e
)
{
UserSession session =
new UserSessionImpl
();
session.
setCookie(request.
getSession().
getId());
HibernateUtils.
getCurrentSession().
save(session
);
}
1.5.0/docs/api/java/lang/System.html">System.
out.
println(request.
getSession().
getId());
HibernateUtils.
getCurrentSession().
getTransaction().
commit();
if(u
!=
null /*&& u.isAdmin()*/)
filterChain.
doFilter(servletRequest, response
);
else
filterChain.
doFilter(servletRequest, response
);
filterChain.
doFilter(servletRequest, servletResponse
);
}
@
1.5.0/docs/api/java/lang/Override.html">Override
public void destroy
() {
}
}