1 package fr.ifremer.quadrige2.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.quadrige2.core.dao.administration.user.DepartmentImpl;
26 import fr.ifremer.quadrige2.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 @Override
59 public void toProgDepProgPrivVO(
60 ProgDepProgPriv source,
61 ProgDepProgPrivVO target)
62 {
63 super.toProgDepProgPrivVO(source, target);
64
65
66 ProgDepProgPrivPK pk = source.getProgDepProgPrivPk();
67 if (pk != null) {
68 target.setDepId(pk.getDepartment().getDepId());
69 target.setProgPrivId(pk.getProgramPrivilege().getProgPrivId());
70 target.setProgCd(pk.getProgram().getProgCd());
71 }
72 }
73
74
75
76
77
78
79 private ProgDepProgPriv loadProgDepProgPrivFromProgDepProgPrivVO(ProgDepProgPrivVO source)
80 {
81 ProgDepProgPrivPK pk = new ProgDepProgPrivPK();
82
83 String progCd = source.getProgCd();
84 if (StringUtils.isBlank(progCd) && source.getProgramVO() != null) {
85 progCd = source.getProgramVO().getProgCd();
86 }
87 pk.setProgram(load(ProgramImpl.class, progCd));
88 pk.setDepartment(load(DepartmentImpl.class, source.getDepId()));
89 pk.setProgramPrivilege(load(ProgramPrivilegeImpl.class, source.getProgPrivId()));
90
91 ProgDepProgPriv target = this.get(pk);
92 if (target == null)
93 {
94 target = ProgDepProgPriv.Factory.newInstance();
95 target.setProgDepProgPrivPk(pk);
96 }
97 return target;
98 }
99
100
101 public ProgDepProgPriv progDepProgPrivVOToEntity(ProgDepProgPrivVO progDepProgPrivVO)
102 {
103 ProgDepProgPriv entity = this.loadProgDepProgPrivFromProgDepProgPrivVO(progDepProgPrivVO);
104 this.progDepProgPrivVOToEntity(progDepProgPrivVO, entity, true);
105 return entity;
106 }
107 }