1
2
3
4
5
6 package org.andromda.timetracker.domain;
7
8 import java.util.Collection;
9 import java.util.Set;
10 import java.util.TreeSet;
11 import org.andromda.timetracker.vo.UserDetailsVO;
12 import org.andromda.timetracker.vo.UserRoleVO;
13 import org.andromda.timetracker.vo.UserVO;
14
15
16
17
18 public class UserDaoImpl
19 extends UserDaoBase
20 {
21
22
23
24 @Override
25 public void toUserVO(
26 User sourceEntity,
27 UserVO targetVO)
28 {
29
30 super.toUserVO(sourceEntity, targetVO);
31
32
33
34
35 }
36
37
38
39
40 @Override
41 public UserVO toUserVO(final User entity)
42 {
43
44 return super.toUserVO(entity);
45 }
46
47
48
49
50
51
52 private User loadUserFromUserVO(UserVO userVO)
53 {
54
55 throw new java.lang.UnsupportedOperationException("loadUserFromUserVO(UserVO) not yet implemented.");
56
57
58
59
60
61
62
63
64
65 }
66
67
68
69
70 @Override
71 public User userVOToEntity(UserVO userVO)
72 {
73
74 User entity = this.loadUserFromUserVO(userVO);
75 this.userVOToEntity(userVO, entity, true);
76 return entity;
77 }
78
79
80
81
82 @Override
83 public void userVOToEntity(
84 UserVO sourceVO,
85 User targetEntity,
86 boolean copyIfNull)
87 {
88
89 super.userVOToEntity(sourceVO, targetEntity, copyIfNull);
90
91
92
93 }
94
95
96
97
98 @Override
99 public void toUserDetailsVO(
100 User sourceEntity,
101 UserDetailsVO targetVO)
102 {
103 super.toUserDetailsVO(sourceEntity, targetVO);
104
105
106 Collection<UserRole> srcRoles = sourceEntity.getRoles();
107 UserRoleVO[] targetRoles = new UserRoleVO[srcRoles.size()];
108 int i=0;
109 for (Object srcRole : srcRoles)
110 {
111 targetRoles[i] = getUserRoleDao().toUserRoleVO((UserRole)srcRole);
112 i++;
113 }
114 targetVO.setRoles(targetRoles);
115 }
116
117
118
119
120
121
122 private User loadUserFromUserDetailsVO(UserDetailsVO userDetailsVO)
123 {
124 User user = null;
125 if (userDetailsVO != null && userDetailsVO.getId() != null)
126 {
127 try
128 {
129 user = this.load(userDetailsVO.getId());
130 }
131 catch (UserDaoException e)
132 {
133
134 }
135 }
136 if (user == null)
137 {
138 user = new User();
139 }
140 return user;
141 }
142
143
144
145
146 @Override
147 public User userDetailsVOToEntity(UserDetailsVO userDetailsVO)
148 {
149 User entity = this.loadUserFromUserDetailsVO(userDetailsVO);
150 this.userDetailsVOToEntity(userDetailsVO, entity, true);
151 return entity;
152 }
153
154
155
156
157 @Override
158 public void userDetailsVOToEntity(
159 UserDetailsVO sourceVO,
160 User targetEntity,
161 boolean copyIfNull)
162 {
163
164 super.userDetailsVOToEntity(sourceVO, targetEntity, copyIfNull);
165
166 if (sourceVO.getRoles().length > 0)
167 {
168 Set<UserRole> roles = new TreeSet<UserRole>();
169
170 for (UserRoleVO userRoleVO : sourceVO.getRoles())
171 {
172 System.out.println(" user role : " + userRoleVO.getRole());
173 roles.add(this.getUserRoleDao().userRoleVOToEntity(userRoleVO));
174 }
175 targetEntity.setRoles(roles);
176 }
177 }
178 }