1 package org.apache.fulcrum.security.torque.turbine;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 import java.sql.Connection;
21 import java.util.HashSet;
22 import java.util.List;
23 import java.util.Set;
24
25 import org.apache.fulcrum.security.entity.User;
26 import org.apache.fulcrum.security.model.turbine.entity.TurbineUser;
27 import org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRole;
28 import org.apache.fulcrum.security.torque.om.TorqueTurbineUserGroupRole;
29 import org.apache.fulcrum.security.torque.om.TorqueTurbineUserGroupRolePeer;
30 import org.apache.fulcrum.security.torque.om.TorqueTurbineUserPeer;
31 import org.apache.fulcrum.security.torque.security.turbine.TorqueAbstractTurbineTurbineSecurityEntity;
32 import org.apache.fulcrum.security.util.DataBackendException;
33 import org.apache.torque.TorqueException;
34 import org.apache.torque.criteria.Criteria;
35 import org.apache.torque.om.SimpleKey;
36
37
38
39
40
41
42
43
44 public abstract class FulcrumAbstractTurbineUser extends TorqueAbstractTurbineTurbineSecurityEntity
45 {
46
47 private static final long serialVersionUID = -7255623655281852566L;
48
49
50
51
52
53
54
55
56
57
58
59
60
61 protected List<TorqueTurbineUserGroupRole> getTorqueTurbineUserGroupRolesJoinTorqueTurbineGroup(Criteria criteria, Connection con)
62 throws TorqueException
63 {
64 criteria.and(TorqueTurbineUserGroupRolePeer.USER_ID, getEntityId() );
65 return TorqueTurbineUserGroupRolePeer.doSelectJoinTorqueTurbineGroup(criteria, con);
66 }
67
68
69
70
71 @Override
72 public void retrieveAttachedObjects( Connection con )
73 throws DataBackendException
74 {
75 retrieveAttachedObjects( con, false );
76 }
77
78
79
80
81 @Override
82 public void retrieveAttachedObjects(Connection con, Boolean lazy) throws DataBackendException
83 {
84 try {
85 if (!lazy) {
86 Set<TurbineUserGroupRole> userGroupRoleSet = new HashSet<TurbineUserGroupRole>();
87 List<TorqueTurbineUserGroupRole> ugrs = getTorqueTurbineUserGroupRolesJoinTorqueTurbineGroup(new Criteria(), con);
88
89 for (TorqueTurbineUserGroupRole ttugr : ugrs)
90 {
91 TurbineUserGroupRolee/om/TurbineUserGroupRole.html#TurbineUserGroupRole">TurbineUserGroupRole ugr = new TurbineUserGroupRole();
92 ugr.setUser((User) this);
93 ugr.setRole(ttugr.getTorqueTurbineRole());
94 ugr.setGroup(ttugr.getTorqueTurbineGroup(con));
95 userGroupRoleSet.add(ugr);
96 }
97 setUserGroupRoleSet(userGroupRoleSet);
98 }
99 } catch (TorqueException e ) {
100 throw new DataBackendException( e.getMessage(),e );
101 }
102 }
103
104
105
106
107 @Override
108 public void update(Connection con) throws TorqueException
109 {
110 try
111 {
112 Set<TurbineUserGroupRole> userGroupRoleSet = getUserGroupRoleSet();
113 if (userGroupRoleSet != null)
114 {
115 Criteria criteria = new Criteria();
116
117
118 criteria.where(TorqueTurbineUserGroupRolePeer.USER_ID, getEntityId());
119 TorqueTurbineUserGroupRolePeer.doDelete(criteria, con);
120
121 for (TurbineUserGroupRole ugr : userGroupRoleSet)
122 {
123 TorqueTurbineUserGroupRolequeTurbineUserGroupRole.html#TorqueTurbineUserGroupRole">TorqueTurbineUserGroupRole ttugr = new TorqueTurbineUserGroupRole();
124 ttugr.setGroupId((Integer)ugr.getGroup().getId());
125 ttugr.setUserId((Integer)ugr.getUser().getId());
126 ttugr.setRoleId((Integer)ugr.getRole().getId());
127 ttugr.save(con);
128 }
129 }
130 save(con);
131 }
132 catch (Exception e)
133 {
134 throw new TorqueException(e);
135 }
136 }
137
138
139
140
141
142 @Override
143 public void delete() throws TorqueException
144 {
145 TorqueTurbineUserPeer.doDelete(SimpleKey.keyFor(getEntityId()));
146 }
147 }