1 package fr.ifremer.quadrige3.core.dao.administration.program;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import fr.ifremer.quadrige3.core.dao.administration.user.DepartmentImpl;
26 import fr.ifremer.quadrige3.core.vo.administration.program.ProgDepProgPrivVO;
27 import org.apache.commons.lang3.StringUtils;
28 import org.hibernate.SessionFactory;
29 import org.springframework.beans.factory.annotation.Autowired;
30 import org.springframework.context.annotation.Lazy;
31 import org.springframework.stereotype.Repository;
32
33
34
35
36
37
38
39
40 @Repository("progDepProgPrivDao")
41 @Lazy
42 public class ProgDepProgPrivDaoImpl
43 extends ProgDepProgPrivDaoBase
44 {
45
46
47
48
49
50
51 @Autowired
52 public ProgDepProgPrivDaoImpl(SessionFactory sessionFactory) {
53 super();
54 setSessionFactory(sessionFactory);
55 }
56
57
58 public void toProgDepProgPrivVO(
59 ProgDepProgPriv source,
60 ProgDepProgPrivVO target)
61 {
62 super.toProgDepProgPrivVO(source, target);
63
64 ProgDepProgPrivPK pk = source.getProgDepProgPrivPk();
65 if (pk != null) {
66 target.setDepId(pk.getDepartment().getDepId());
67 target.setProgPrivId(pk.getProgramPrivilege().getProgPrivId());
68 target.setProgCd(pk.getProgram().getProgCd());
69 }
70 }
71
72
73
74
75
76
77 private ProgDepProgPriv loadProgDepProgPrivFromProgDepProgPrivVO(ProgDepProgPrivVO source)
78 {
79 ProgDepProgPrivPK pk = new ProgDepProgPrivPK();
80
81 String progCd = source.getProgCd();
82 if (StringUtils.isBlank(progCd) && source.getProgramVO() != null) {
83 progCd = source.getProgramVO().getProgCd();
84 }
85 pk.setProgram(load(ProgramImpl.class, progCd));
86 pk.setDepartment(load(DepartmentImpl.class, source.getDepId()));
87 pk.setProgramPrivilege(load(ProgramPrivilegeImpl.class, source.getProgPrivId()));
88
89 ProgDepProgPriv target = this.get(pk);
90 if (target == null)
91 {
92 target = ProgDepProgPriv.Factory.newInstance();
93 target.setProgDepProgPrivPk(pk);
94 }
95 return target;
96 }
97
98
99 public ProgDepProgPriv progDepProgPrivVOToEntity(ProgDepProgPrivVO progDepProgPrivVO)
100 {
101 ProgDepProgPriv entity = this.loadProgDepProgPrivFromProgDepProgPrivVO(progDepProgPrivVO);
102 this.progDepProgPrivVOToEntity(progDepProgPrivVO, entity, true);
103 return entity;
104 }
105
106 }