Rev 2049 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
2009 | es | 1 | package pt.estgp.es.exemplos.hibernate.services; |
2 | |||
3 | import org.apache.log4j.Logger; |
||
2069 | es | 4 | import pt.estgp.es.exemplos.hibernate.*; |
5 | import pt.estgp.es.exemplos.hibernate.security.SecurityContextProvider; |
||
2009 | es | 6 | import pt.estgp.es.exemplos.hibernate.security.logic.HasRole; |
7 | import pt.estgp.es.exemplos.hibernate.security.logic.IsAuthenticated; |
||
2069 | es | 8 | import pt.estgp.es.exemplos.hibernate.security.logic.PrintParameterExample; |
2009 | es | 9 | import pt.estgp.es.exemplos.hibernate.security.logic.Transaction; |
2018 | es | 10 | import pt.estgp.es.exemplos.hibernate.web.PaginasServlet; |
2009 | es | 11 | |
2018 | es | 12 | import javax.servlet.ServletException; |
13 | |||
2009 | es | 14 | public class ServicoPaginas |
15 | { |
||
16 | |||
17 | 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(ServicoPaginas.class); |
||
18 | |||
2069 | es | 19 | @Transaction @IsAuthenticated @HasRole(role = "admin") @PrintParameterExample(paramName = "idPagina") |
2009 | es | 20 | public void criaSeccaoService(1.5.0/docs/api/java/lang/String.html">String idPagina, 1.5.0/docs/api/java/lang/String.html">String titulo) |
21 | { |
||
2018 | es | 22 | try { |
23 | new PaginasServlet().init(); |
||
24 | } catch (ServletException e) { |
||
25 | e.printStackTrace(); |
||
26 | } |
||
2049 | es | 27 | Pagina p = (Pagina) HibernateUtils.getCurrentSession().load(Pagina.class,new 1.5.0/docs/api/java/lang/Long.html">Long(idPagina)); |
2009 | es | 28 | Seccao seccao = new SeccaoImpl(); |
29 | seccao.setTitulo(titulo); |
||
30 | p.getSeccoes().add(seccao); |
||
31 | seccao.setPagina(p); |
||
32 | |||
2049 | es | 33 | |
2009 | es | 34 | HibernateUtils.getCurrentSession().save(seccao); |
35 | } |
||
2018 | es | 36 | |
2049 | es | 37 | @Transaction @IsAuthenticated @HasRole(role = "admin") |
2009 | es | 38 | public long deleteSeccaoService(1.5.0/docs/api/java/lang/String.html">String idSeccao) |
39 | { |
||
2049 | es | 40 | Seccao seccao = (Seccao) HibernateUtils.getCurrentSession().load(Seccao.class,new 1.5.0/docs/api/java/lang/Long.html">Long(idSeccao)); |
41 | |||
42 | |||
2009 | es | 43 | long id = seccao.getPagina().getId(); |
44 | seccao.getPagina().getSeccoes().remove(seccao); |
||
45 | seccao.setPagina(null); |
||
46 | HibernateUtils.getCurrentSession().delete(seccao); |
||
47 | |||
48 | return id; |
||
2049 | es | 49 | |
2009 | es | 50 | } |
2049 | es | 51 | |
2069 | es | 52 | @Transaction @IsAuthenticated |
53 | public Pagina criaPaginaService(1.5.0/docs/api/java/lang/String.html">String titulo) |
||
54 | { |
||
55 | 1.5.0/docs/api/java/lang/String.html">String cookie = SecurityContextProvider.getInstance().getSecuritySessionContext().getRequester(); |
||
56 | UserSession session = (UserSession) HibernateUtils.getCurrentSession().load(UserSession.class,cookie); |
||
57 | |||
58 | Pagina p = new PaginaImpl(); |
||
59 | |||
60 | p.setDono(session.getUser()); |
||
61 | p.setNome(titulo); |
||
62 | |||
63 | HibernateUtils.getCurrentSession().save(p); |
||
64 | return p; |
||
65 | } |
||
66 | |||
2009 | es | 67 | } |