Subversion Repositories bacoAlunos

Rev

Rev 2018 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2018 Rev 2049
Line 11... Line 11...
11
import javax.servlet.http.HttpServletRequest;
11
import javax.servlet.http.HttpServletRequest;
12
import java.io.IOException;
12
import java.io.IOException;
13
 
13
 
14
public class DevelopRegisterSession implements RegisterSession {
14
public class DevelopRegisterSession implements RegisterSession {
15
 
15
 
16
  /**
16
    /**
17
   * Abre uma sessao se esta não existir e associa-a sempre ao User com id 1
17
     * Abre uma sessao se esta não existir e associa-a sempre ao User com id 1
18
   * @param servletRequest
18
     * @param servletRequest
19
   * @return
19
     * @return
20
   * @throws IOException
20
     * @throws IOException
21
   * @throws ServletException
21
     * @throws ServletException
22
   */
22
     */
23
  @1.5.0/docs/api/java/lang/Override.html">Override
23
    @1.5.0/docs/api/java/lang/Override.html">Override
24
  public UserSession openSession(ServletRequest servletRequest) {
24
    public UserSession openSession(ServletRequest servletRequest) {
25
    HttpServletRequest request = (HttpServletRequest) servletRequest;
25
        HttpServletRequest request = (HttpServletRequest) servletRequest;
26
 
26
 
27
    SecurityContextProvider.getInstance().registerSessionContext(request.getSession().getId());
27
        SecurityContextProvider.getInstance().registerSessionContext(request.getSession().getId());
28
    UserSession session;
28
        UserSession session;
29
    HibernateUtils.getCurrentSession().beginTransaction();
29
        HibernateUtils.getCurrentSession().beginTransaction();
30
    try {
30
        try {
-
 
31
            //TODO Mudar par get em vez de load como demonstra a imagem
31
      session = (UserSession) HibernateUtils.getCurrentSession().load(UserSession.class, request.getSession().getId());
32
            session = (UserSession) HibernateUtils.getCurrentSession().get(UserSession.class, request.getSession().getId());
32
      if(session == null)
33
            if(session == null)
33
      {
34
            {
34
        session = new UserSessionImpl();
35
                session = new UserSessionImpl();
35
        session.setCookie(request.getSession().getId());
36
                session.setCookie(request.getSession().getId());
36
        HibernateUtils.getCurrentSession().save(session);
37
                HibernateUtils.getCurrentSession().save(session);
37
      }
38
            }
38
    }catch(1.5.0/docs/api/java/lang/Exception.html">Exception e)
39
        }catch(1.5.0/docs/api/java/lang/Exception.html">Exception e)
39
    {
40
        {
40
      session = new UserSessionImpl();
41
            session = new UserSessionImpl();
41
      session.setCookie(request.getSession().getId());
42
            session.setCookie(request.getSession().getId());
42
      HibernateUtils.getCurrentSession().save(session);
43
            HibernateUtils.getCurrentSession().save(session);
-
 
44
        }
-
 
45
        User u = (User) HibernateUtils.getCurrentSession().get(User.class, new 1.5.0/docs/api/java/lang/Long.html">Long(1));
-
 
46
 
-
 
47
        u = (User) HibernateUtils.narrow(u);
-
 
48
 
-
 
49
        session.setUser(u);
-
 
50
 
-
 
51
        session = (UserSession) HibernateUtils.narrow(session);
-
 
52
        HibernateUtils.getCurrentSession().getTransaction().commit();
-
 
53
        return session;
43
    }
54
    }
44
    User u = (User) HibernateUtils.getCurrentSession().load(User.class, new 1.5.0/docs/api/java/lang/Long.html">Long(1));
-
 
45
    session.setUser(u);
-
 
46
    HibernateUtils.getCurrentSession().getTransaction().commit();
-
 
47
    return session;
-
 
48
  }
-
 
49
}
55
}