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.referential.monitoringLocation.MonitoringLocationImpl;
26 import fr.ifremer.quadrige2.core.vo.administration.program.MonLocProgVO;
27 import org.hibernate.SessionFactory;
28 import org.springframework.beans.factory.annotation.Autowired;
29 import org.springframework.context.annotation.Lazy;
30 import org.springframework.stereotype.Repository;
31
32
33
34
35
36
37
38
39 @Repository("monLocProgDao")
40 @Lazy
41 public class MonLocProgDaoImpl
42 extends MonLocProgDaoBase
43 {
44
45
46
47
48
49
50 @Autowired
51 public MonLocProgDaoImpl(SessionFactory sessionFactory) {
52 super();
53 setSessionFactory(sessionFactory);
54 }
55
56
57 public void toMonLocProgVO(
58 MonLocProg source,
59 MonLocProgVO target)
60 {
61 super.toMonLocProgVO(source, target);
62
63
64 if (source.getMonitoringLocation() != null) {
65 target.setMonLocId(source.getMonitoringLocation().getMonLocId());
66 }
67
68
69 if (source.getProgram() != null) {
70 target.setProgCd(source.getProgram().getProgCd());
71 }
72 }
73
74
75
76
77
78
79 private MonLocProg loadMonLocProgFromMonLocProgVO(MonLocProgVO monLocProgVO)
80 {
81 MonLocProg monLocProg = this.get(monLocProgVO.getMonLocProgId());
82 if (monLocProg == null)
83 {
84 monLocProg = MonLocProg.Factory.newInstance();
85 }
86 return monLocProg;
87 }
88
89
90 public MonLocProg monLocProgVOToEntity(MonLocProgVO monLocProgVO)
91 {
92 MonLocProg entity = this.loadMonLocProgFromMonLocProgVO(monLocProgVO);
93 this.monLocProgVOToEntity(monLocProgVO, entity, true);
94 return entity;
95 }
96
97
98 @Override
99 public void monLocProgVOToEntity(
100 MonLocProgVO source,
101 MonLocProg target,
102 boolean copyIfNull)
103 {
104 super.monLocProgVOToEntity(source, target, copyIfNull);
105
106
107 if (copyIfNull || source.getMonLocId() != null) {
108 if (source.getMonLocId() == null) {
109 target.setMonitoringLocation(null);
110 }
111 else {
112 target.setMonitoringLocation(load(MonitoringLocationImpl.class, source.getMonLocId()));
113 }
114 }
115
116
117 if (copyIfNull || source.getProgCd() != null) {
118 if (source.getProgCd() == null) {
119 target.setProgram(null);
120 }
121 else {
122 target.setProgram(load(ProgramImpl.class, source.getProgCd()));
123 }
124 }
125 }
126 }