1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package fr.paris.lutece.plugins.mylutece.modules.ldapdatabase.authentication.business;
35
36 import fr.paris.lutece.portal.service.plugin.Plugin;
37 import fr.paris.lutece.util.sql.DAOUtil;
38
39 import java.util.ArrayList;
40 import java.util.Collection;
41
42
43
44
45
46 public final class LdapUserDAO implements ILdapUserDAO
47 {
48
49 private static final String SQL_QUERY_NEW_PK = " SELECT max( mylutece_ldapdatabase_user_id ) FROM mylutece_ldapdatabase_user ";
50 private static final String SQL_QUERY_SELECT = " SELECT mylutece_ldapdatabase_user_id, ldap_guid, name_family, name_given, email FROM mylutece_ldapdatabase_user WHERE mylutece_ldapdatabase_user_id = ? ";
51 private static final String SQL_QUERY_INSERT = " INSERT INTO mylutece_ldapdatabase_user ( mylutece_ldapdatabase_user_id, ldap_guid, name_family, name_given, email ) VALUES ( ?, ?, ?, ?, ? ) ";
52 private static final String SQL_QUERY_DELETE = " DELETE FROM mylutece_ldapdatabase_user WHERE mylutece_ldapdatabase_user_id = ? ";
53 private static final String SQL_QUERY_UPDATE = " UPDATE mylutece_ldapdatabase_user SET mylutece_ldapdatabase_user_id = ?, ldap_guid = ? name_family = ?, name_given = ?, email = ? WHERE mylutece_ldapdatabase_user_id = ? ";
54 private static final String SQL_QUERY_SELECTALL = " SELECT mylutece_ldapdatabase_user_id, ldap_guid, name_family, name_given, email FROM mylutece_ldapdatabase_user ";
55 private static final String SQL_QUERY_SELECTALL_FOR_LDAP_GUID = " SELECT mylutece_ldapdatabase_user_id, ldap_guid, name_family, name_given, email FROM mylutece_ldapdatabase_user WHERE ldap_guid = ? ";
56
57
58 private static LdapUserDAO _dao = new LdapUserDAO( );
59
60
61
62
63 private LdapUserDAO( )
64 {
65 }
66
67
68
69
70
71
72 static LdapUserDAO getInstance( )
73 {
74 return _dao;
75 }
76
77
78
79
80
81
82 public int newPrimaryKey( Plugin plugin )
83 {
84 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_NEW_PK, plugin );
85 daoUtil.executeQuery( );
86
87 int nKey;
88
89 if ( !daoUtil.next( ) )
90 {
91
92 nKey = 1;
93 }
94
95 nKey = daoUtil.getInt( 1 ) + 1;
96
97 daoUtil.free( );
98
99 return nKey;
100 }
101
102
103
104
105
106
107
108 public void insert( LdapUser ldapUser, Plugin plugin )
109 {
110 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_INSERT, plugin );
111 ldapUser.setUserId( newPrimaryKey( plugin ) );
112 daoUtil.setInt( 1, ldapUser.getUserId( ) );
113 daoUtil.setString( 2, ldapUser.getLdapGuid( ) );
114 daoUtil.setString( 3, ldapUser.getLastName( ) );
115 daoUtil.setString( 4, ldapUser.getFirstName( ) );
116 daoUtil.setString( 5, ldapUser.getEmail( ) );
117
118 daoUtil.executeUpdate( );
119 daoUtil.free( );
120 }
121
122
123
124
125
126
127
128
129 public LdapUser load( int nUserId, Plugin plugin )
130 {
131 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT, plugin );
132 daoUtil.setInt( 1, nUserId );
133 daoUtil.executeQuery( );
134
135 LdapUser ldapUser = null;
136
137 if ( daoUtil.next( ) )
138 {
139 ldapUser = new LdapUser( );
140 ldapUser.setUserId( daoUtil.getInt( 1 ) );
141 ldapUser.setLdapGuid( daoUtil.getString( 2 ) );
142 ldapUser.setLastName( daoUtil.getString( 3 ) );
143 ldapUser.setFirstName( daoUtil.getString( 4 ) );
144 ldapUser.setEmail( daoUtil.getString( 5 ) );
145 }
146
147 daoUtil.free( );
148
149 return ldapUser;
150 }
151
152
153
154
155
156
157 public void delete( LdapUser ldapUser, Plugin plugin )
158 {
159 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_DELETE, plugin );
160 daoUtil.setInt( 1, ldapUser.getUserId( ) );
161
162 daoUtil.executeUpdate( );
163 daoUtil.free( );
164 }
165
166
167
168
169
170
171 public void store( LdapUser ldapUser, Plugin plugin )
172 {
173 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_UPDATE, plugin );
174 daoUtil.setInt( 1, ldapUser.getUserId( ) );
175 daoUtil.setString( 2, ldapUser.getLdapGuid( ) );
176 daoUtil.setString( 3, ldapUser.getLastName( ) );
177 daoUtil.setString( 4, ldapUser.getFirstName( ) );
178 daoUtil.setString( 5, ldapUser.getEmail( ) );
179 daoUtil.setInt( 6, ldapUser.getUserId( ) );
180
181 daoUtil.executeUpdate( );
182 daoUtil.free( );
183 }
184
185
186
187
188
189
190 public Collection<LdapUser> selectLdapUserList( Plugin plugin )
191 {
192 Collection<LdapUser> listLdapUsers = new ArrayList<LdapUser>( );
193 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECTALL, plugin );
194 daoUtil.executeQuery( );
195
196 while ( daoUtil.next( ) )
197 {
198 LdapUser ldapUser = new LdapUser( );
199 ldapUser.setUserId( daoUtil.getInt( 1 ) );
200 ldapUser.setLdapGuid( daoUtil.getString( 2 ) );
201 ldapUser.setLastName( daoUtil.getString( 3 ) );
202 ldapUser.setFirstName( daoUtil.getString( 4 ) );
203 ldapUser.setEmail( daoUtil.getString( 5 ) );
204
205 listLdapUsers.add( ldapUser );
206 }
207
208 daoUtil.free( );
209
210 return listLdapUsers;
211 }
212
213
214
215
216
217
218
219 public Collection<LdapUser> selectLdapUserListForGuid( String strGuid, Plugin plugin )
220 {
221 Collection<LdapUser> listLdapUsers = new ArrayList<LdapUser>( );
222 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECTALL_FOR_LDAP_GUID, plugin );
223 daoUtil.setString( 1, strGuid );
224 daoUtil.executeQuery( );
225
226 while ( daoUtil.next( ) )
227 {
228 LdapUser ldapUser = new LdapUser( );
229 ldapUser.setUserId( daoUtil.getInt( 1 ) );
230 ldapUser.setLdapGuid( daoUtil.getString( 2 ) );
231 ldapUser.setLastName( daoUtil.getString( 3 ) );
232 ldapUser.setFirstName( daoUtil.getString( 4 ) );
233 ldapUser.setEmail( daoUtil.getString( 5 ) );
234
235 listLdapUsers.add( ldapUser );
236 }
237
238 daoUtil.free( );
239
240 return listLdapUsers;
241 }
242 }