KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > mvnforum > db > ldap > MemberDAOImplLDAP


1 package com.mvnforum.db.ldap;
2
3 import java.sql.Connection JavaDoc;
4 import java.sql.Date JavaDoc;
5 import java.sql.PreparedStatement JavaDoc;
6 import java.sql.ResultSet JavaDoc;
7 import java.sql.SQLException JavaDoc;
8 import java.sql.Timestamp JavaDoc;
9 import java.util.Collection JavaDoc;
10 import java.util.Hashtable JavaDoc;
11
12 import javax.naming.Context JavaDoc;
13 import javax.naming.NamingException JavaDoc;
14 import javax.naming.directory.Attributes JavaDoc;
15 import javax.naming.directory.DirContext JavaDoc;
16 import javax.naming.directory.InitialDirContext JavaDoc;
17
18 import net.myvietnam.mvncore.db.DBUtils;
19 import net.myvietnam.mvncore.exception.AssertionException;
20 import net.myvietnam.mvncore.exception.CreateException;
21 import net.myvietnam.mvncore.exception.DatabaseException;
22 import net.myvietnam.mvncore.exception.DuplicateKeyException;
23 import net.myvietnam.mvncore.exception.ObjectNotFoundException;
24
25 import org.apache.commons.logging.Log;
26 import org.apache.commons.logging.LogFactory;
27
28 import com.mvnforum.db.MemberBean;
29 import com.mvnforum.db.MemberDAO;
30 import com.mvnforum.db.jdbc.MemberDAOImplJDBC;
31
32 public class MemberDAOImplLDAP implements MemberDAO {
33
34     private static Log log = LogFactory.getLog(MemberDAOImplLDAP.class);
35     
36     private MemberDAO memberDAO = new MemberDAOImplJDBC();
37
38     private DirContext JavaDoc connectLDAP()
39         throws NamingException JavaDoc {
40         String JavaDoc url = LDAPConfig.PROVIDER_URL;
41         Hashtable JavaDoc env = new Hashtable JavaDoc();
42         env.put(Context.INITIAL_CONTEXT_FACTORY, LDAPConfig.INITIAL_CONTEXT_FACTORY);
43         env.put(Context.PROVIDER_URL, url);
44         env.put(Context.SECURITY_AUTHENTICATION, LDAPConfig.SECURITY_AUTHENTICATION);
45         env.put(Context.SECURITY_PRINCIPAL, LDAPConfig.SECURITY_PRINCIPAL);
46         env.put(Context.SECURITY_CREDENTIALS, LDAPConfig.SECURITY_CREDENTIALS);
47         DirContext JavaDoc ctx = new InitialDirContext JavaDoc(env);
48         return ctx;
49     }
50
51     public final String JavaDoc getNameFromID(int memberID)
52         throws ObjectNotFoundException, DatabaseException {
53
54         Connection JavaDoc connection = null;
55         PreparedStatement JavaDoc statement = null;
56         ResultSet JavaDoc resultSet = null;
57         String JavaDoc sql = "SELECT MemberName FROM " + TABLE_NAME + " WHERE MemberID = ?";
58         try {
59             connection = DBUtils.getConnection();
60             statement = connection.prepareStatement(sql);
61             statement.setInt(1, memberID);
62             resultSet = statement.executeQuery();
63             if (!resultSet.next()) {
64                 throw new ObjectNotFoundException("Cannot find the row in table Member where MemberName = " + memberID);
65             }
66             return resultSet.getString(1);
67         } catch (SQLException JavaDoc sqle) {
68             log.error("Sql Execution Error!", sqle);
69             throw new DatabaseException("Error executing SQL in MemberDAOImplJDBC.getMemberIDFromMemberName.");
70         } finally {
71             DBUtils.closeResultSet(resultSet);
72             DBUtils.closeStatement(statement);
73             DBUtils.closeConnection(connection);
74         }
75     }
76     public MemberBean getMember_forPublic(int memberID)
77         throws ObjectNotFoundException, DatabaseException {
78         String JavaDoc memberName = getNameFromID (memberID);
79         MemberBean bean = new MemberBean();
80         //getdata from LDAP
81
try {
82             DirContext JavaDoc context = connectLDAP();
83             //this value need to have a config file
84
//String[] attrIDs = { "l", "mail", "st", "givenName", "streetAddress", "co", "wWWHomePage", "telephoneNumber", "sn", "mobile", "lastLogon"};
85
String JavaDoc[] attrIDs = {"cn", "memberEmail", "memberFirstEmail", "memberEmailVisible", "memberNameVisible",
86                     "memberFirstIP", "memberLastIP", "memberViewCount", "memberPostCount", "memberCreationDate",
87                     "memberModifiedDate", "memberExpireDate", "memberLastLogon", "memberOption", "memberStatus",
88                     "memberActivateCode", "memberTempPassword", "memberMessageCount", "memberMessageOption",
89                     "memberPostsPerPage", "memberWarnCount", "memberVoteCount", "memberVoteTotalStars",
90                     "memberRewardPoints", "memberTimeZone", "memberSignature", "memberAvatar", "memberSkin",
91                     "memberLanguage", "memberFirstname", "memberLastname", "memberGender", "memberBirthday",
92                     "memberAddress", "memberCity", "memberState", "memberCountry", "memberPhone", "memberMobile",
93                     "memberFax", "memberCareer", "memberHomepage", "memberYahoo", "memberAol", "memberIcq",
94                     "memberMsn", "memberCoolLink1", "memberCoolLink2"};
95             Attributes JavaDoc answer = context.getAttributes("CN=" + memberName + ",ou=users", attrIDs);
96                         
97             bean.setMemberID(memberID);
98             bean.setMemberName(AttributeUtil.attributeToString(answer, "cn"));
99             bean.setMemberFirstEmail(AttributeUtil.attributeToString(answer, "memberFirstEmail"));
100             bean.setMemberEmail(AttributeUtil.attributeToString(answer, "memberEmail"));
101             bean.setMemberEmailVisible(AttributeUtil.attributeToInt(answer, "memberEmailVisible"));
102             bean.setMemberNameVisible(AttributeUtil.attributeToInt(answer, "memberNameVisible"));
103             bean.setMemberViewCount(AttributeUtil.attributeToInt(answer, "memberViewCount"));
104             bean.setMemberPostCount(AttributeUtil.attributeToInt(answer, "memberPostCount"));
105             bean.setMemberCreationDate(AttributeUtil.attributeToTimeStamp(answer, "memberCreationDate"));
106             bean.setMemberModifiedDate(AttributeUtil.attributeToTimeStamp(answer, "memberModifiedDate"));
107             bean.setMemberExpireDate(AttributeUtil.attributeToTimeStamp(answer, "memberExpireDate"));
108             bean.setMemberLastLogon(AttributeUtil.attributeToTimeStamp(answer, "memberLastLogon"));
109             bean.setMemberOption(AttributeUtil.attributeToInt(answer, "memberOption"));
110             bean.setMemberStatus(AttributeUtil.attributeToInt(answer, "memberStatus"));
111             bean.setMemberWarnCount(AttributeUtil.attributeToInt(answer, "memberWarnCount"));
112             bean.setMemberVoteCount(AttributeUtil.attributeToInt(answer, "memberVoteCount"));
113             bean.setMemberVoteTotalStars(AttributeUtil.attributeToInt(answer, "memberVoteTotalStars"));
114             bean.setMemberRewardPoints(AttributeUtil.attributeToInt(answer, "memberRewardPoints"));
115             bean.setMemberTitle(AttributeUtil.attributeToString(answer, "memberTitle"));
116             bean.setMemberSignature(AttributeUtil.attributeToString(answer, "memberSignature"));
117             bean.setMemberAvatar(AttributeUtil.attributeToString(answer, "memberAvatar"));
118             bean.setMemberFirstname(AttributeUtil.attributeToString(answer, "memberFirstname"));
119             bean.setMemberLastname(AttributeUtil.attributeToString(answer, "memberLastname"));
120             bean.setMemberGender(AttributeUtil.attributeToInt(answer, "memberGender"));
121             bean.setMemberBirthday(AttributeUtil.attributeToDate(answer, "memberBirthday"));
122             bean.setMemberLanguage(AttributeUtil.attributeToString(answer, "memberLanguage"));
123             bean.setMemberAddress(AttributeUtil.attributeToString(answer, "memberAddress"));
124             bean.setMemberCity(AttributeUtil.attributeToString(answer, "memberCity"));
125             bean.setMemberState(AttributeUtil.attributeToString(answer, "memberState"));
126             bean.setMemberCountry(AttributeUtil.attributeToString(answer, "memberCountry"));
127             bean.setMemberPhone(AttributeUtil.attributeToString(answer, "memberPhone"));
128             bean.setMemberMobile(AttributeUtil.attributeToString(answer, "memberMobile"));
129             bean.setMemberFax(AttributeUtil.attributeToString(answer, "memberFax"));
130             bean.setMemberCareer(AttributeUtil.attributeToString(answer, "memberCareer"));
131             bean.setMemberHomepage(AttributeUtil.attributeToString(answer, "memberHomepage"));
132             bean.setMemberYahoo(AttributeUtil.attributeToString(answer, "memberYahoo"));
133             bean.setMemberAol(AttributeUtil.attributeToString(answer, "memberAol"));
134             bean.setMemberIcq(AttributeUtil.attributeToString(answer, "memberIcq"));
135             bean.setMemberMsn(AttributeUtil.attributeToString(answer, "memberMsn"));
136             bean.setMemberCoolLink1(AttributeUtil.attributeToString(answer, "memberCoolLink1"));
137             bean.setMemberCoolLink2(AttributeUtil.attributeToString(answer, "memberCoolLink2"));
138             bean.setMemberActivateCode(AttributeUtil.attributeToString(answer, "memberActivateCode"));
139             bean.setMemberFirstIP(AttributeUtil.attributeToString(answer, "memberFirstIP"));
140             bean.setMemberLastIP(AttributeUtil.attributeToString(answer, "memberLastIP"));
141         } catch (NamingException JavaDoc e) {
142             e.printStackTrace();
143             throw new DatabaseException("Error connecting to LDAP.");
144         }
145         
146         return bean;
147     }
148
149     public void create(String JavaDoc memberName, String JavaDoc memberPassword, String JavaDoc memberFirstEmail, String JavaDoc memberEmail, int memberEmailVisible, int memberNameVisible, String JavaDoc memberFirstIP, String JavaDoc memberLastIP, int memberViewCount, int memberPostCount, Timestamp JavaDoc memberCreationDate, Timestamp JavaDoc memberModifiedDate, Timestamp JavaDoc memberExpireDate, Timestamp JavaDoc memberLastLogon, int memberOption, int memberStatus, String JavaDoc memberActivateCode, String JavaDoc memberTempPassword, int memberMessageCount, int memberMessageOption, int memberPostsPerPage, int memberWarnCount, int memberVoteCount, int memberVoteTotalStars, int memberRewardPoints, String JavaDoc memberTitle, double memberTimeZone, String JavaDoc memberSignature, String JavaDoc memberAvatar, String JavaDoc memberSkin, String JavaDoc memberLanguage, String JavaDoc memberFirstname, String JavaDoc memberLastname, int memberGender, Date JavaDoc memberBirthday, String JavaDoc memberAddress, String JavaDoc memberCity, String JavaDoc memberState, String JavaDoc memberCountry, String JavaDoc memberPhone, String JavaDoc memberMobile, String JavaDoc memberFax, String JavaDoc memberCareer, String JavaDoc memberHomepage, String JavaDoc memberYahoo, String JavaDoc memberAol, String JavaDoc memberIcq, String JavaDoc memberMsn, String JavaDoc memberCoolLink1, String JavaDoc memberCoolLink2)
150         throws CreateException, DatabaseException, DuplicateKeyException {
151         memberDAO.create(memberName, memberPassword, memberFirstEmail, memberEmail, memberEmailVisible, memberNameVisible, memberFirstIP, memberLastIP, memberViewCount, memberPostCount, memberCreationDate, memberModifiedDate, memberExpireDate, memberLastLogon, memberOption, memberStatus, memberActivateCode, memberTempPassword, memberMessageCount, memberMessageOption, memberPostsPerPage, memberWarnCount, memberVoteCount, memberVoteTotalStars, memberRewardPoints, memberTitle, memberTimeZone, memberSignature, memberAvatar, memberSkin, memberLanguage, memberFirstname, memberLastname, memberGender, memberBirthday, memberAddress, memberCity, memberState, memberCountry, memberPhone, memberMobile, memberFax, memberCareer, memberHomepage, memberYahoo, memberAol, memberIcq, memberMsn, memberCoolLink1, memberCoolLink2);
152     }
153
154     public void deleteByPrimaryKey(int memberID)
155         throws DatabaseException {
156         memberDAO.deleteByPrimaryKey(memberID);
157     }
158
159     public void findByAlternateKey_MemberEmail(String JavaDoc memberEmail)
160         throws ObjectNotFoundException, DatabaseException {
161         memberDAO.findByAlternateKey_MemberEmail(memberEmail);
162     }
163
164     public void findByAlternateKey_MemberName(String JavaDoc memberName)
165         throws ObjectNotFoundException, DatabaseException {
166         memberDAO.findByAlternateKey_MemberName(memberName);
167     }
168
169     public void findByPrimaryKey(int memberID)
170         throws ObjectNotFoundException, DatabaseException {
171         memberDAO.findByPrimaryKey(memberID);
172     }
173
174     public void findByPrimaryKey2(int memberID, String JavaDoc memberName)
175         throws ObjectNotFoundException, DatabaseException {
176         memberDAO.findByPrimaryKey2(memberID, memberName);
177     }
178
179     public String JavaDoc getActivateCode(int memberID)
180         throws ObjectNotFoundException, DatabaseException {
181         return memberDAO.getActivateCode(memberID);
182     }
183
184     public Collection JavaDoc getAuthorizedMembers()
185         throws DatabaseException {
186         return memberDAO.getAuthorizedMembers();
187     }
188
189     public Collection JavaDoc getEnableMembers_inActivationStatus(String JavaDoc kind)
190         throws DatabaseException {
191         return memberDAO.getEnableMembers_inActivationStatus(kind);
192     }
193
194     public Collection JavaDoc getEnableMembers_inGroup(int groupID)
195         throws DatabaseException {
196         return memberDAO.getEnableMembers_inGroup(groupID);
197     }
198
199     public Collection JavaDoc getForumsAuthorizedMembers()
200         throws DatabaseException {
201         return memberDAO.getForumsAuthorizedMembers();
202     }
203
204     public MemberBean getMember_forEditCurrentMember(int memberID)
205         throws ObjectNotFoundException, DatabaseException {
206         return memberDAO.getMember_forEditCurrentMember(memberID);
207     }
208
209     public MemberBean getMember_forViewCurrentMember(int memberID)
210         throws ObjectNotFoundException, DatabaseException {
211         return memberDAO.getMember_forViewCurrentMember(memberID);
212     }
213
214     public int getMemberIDFromMemberEmail(String JavaDoc memberEmail)
215         throws ObjectNotFoundException, DatabaseException {
216         return memberDAO.getMemberIDFromMemberEmail(memberEmail);
217     }
218
219     public int getMemberIDFromMemberName(String JavaDoc memberName)
220         throws ObjectNotFoundException, DatabaseException {
221         return memberDAO.getMemberIDFromMemberName(memberName);
222     }
223
224     public Collection JavaDoc getMembers_inExpire_limit(Timestamp JavaDoc expireDate, int offset, int rowsToReturn, String JavaDoc sort, String JavaDoc order)
225         throws IllegalArgumentException JavaDoc, DatabaseException {
226         return memberDAO.getMembers_inExpire_limit(expireDate, offset, rowsToReturn, sort, order);
227     }
228
229     public Collection JavaDoc getMembers_withSortSupport_limit(int offset, int rowsToReturn, String JavaDoc sort, String JavaDoc order)
230         throws IllegalArgumentException JavaDoc, DatabaseException {
231         return memberDAO.getMembers_withSortSupport_limit(offset, rowsToReturn, sort, order);
232     }
233
234     public Collection JavaDoc getMembers()
235         throws DatabaseException {
236         return memberDAO.getMembers();
237     }
238
239     public Collection JavaDoc getNonActivatedNoPostMembers(Timestamp JavaDoc before)
240         throws DatabaseException {
241         return memberDAO.getNonActivatedNoPostMembers(before);
242     }
243
244     public int getNumberOfMembers_inActivationStatus(boolean activationStatus)
245         throws AssertionException, DatabaseException {
246         return memberDAO.getNumberOfMembers_inActivationStatus(activationStatus);
247     }
248
249     public int getNumberOfMembers_inExpire(Timestamp JavaDoc expireDate)
250         throws AssertionException, DatabaseException {
251         return memberDAO.getNumberOfMembers_inExpire(expireDate);
252     }
253
254     public int getNumberOfMembers_inMemberStatus(int memberStatus)
255         throws AssertionException, DatabaseException {
256         return memberDAO.getNumberOfMembers_inMemberStatus(memberStatus);
257     }
258
259     public int getNumberOfMembers()
260         throws AssertionException, DatabaseException {
261         return memberDAO.getNumberOfMembers();
262     }
263
264     public String JavaDoc getPassword(int memberID)
265         throws ObjectNotFoundException, DatabaseException {
266         return memberDAO.getPassword(memberID);
267     }
268
269     public String JavaDoc getTempPassword(int memberID)
270         throws ObjectNotFoundException, DatabaseException {
271         return memberDAO.getTempPassword(memberID);
272     }
273
274     public void increasePostCount(int memberID)
275         throws DatabaseException, ObjectNotFoundException {
276         memberDAO.increasePostCount(memberID);
277     }
278
279     public void increaseViewCount(int memberID)
280         throws DatabaseException, ObjectNotFoundException {
281         memberDAO.increaseViewCount(memberID);
282     }
283
284     public void update(int memberID, int memberEmailVisible, int memberNameVisible, Timestamp JavaDoc memberModifiedDate, int memberOption, int memberStatus, int memberMessageOption, int memberPostsPerPage, double memberTimeZone, String JavaDoc memberSkin, String JavaDoc memberLanguage, String JavaDoc memberFirstname, String JavaDoc memberLastname, int memberGender, Date JavaDoc memberBirthday, String JavaDoc memberAddress, String JavaDoc memberCity, String JavaDoc memberState, String JavaDoc memberCountry, String JavaDoc memberPhone, String JavaDoc memberMobile, String JavaDoc memberFax, String JavaDoc memberCareer, String JavaDoc memberHomepage, String JavaDoc memberYahoo, String JavaDoc memberAol, String JavaDoc memberIcq, String JavaDoc memberMsn, String JavaDoc memberCoolLink1, String JavaDoc memberCoolLink2)
285         throws ObjectNotFoundException, DatabaseException {
286         memberDAO.update(memberID, memberEmailVisible, memberNameVisible, memberModifiedDate, memberOption, memberStatus, memberMessageOption, memberPostsPerPage, memberTimeZone, memberSkin, memberLanguage, memberFirstname, memberLastname, memberGender, memberBirthday, memberAddress, memberCity, memberState, memberCountry, memberPhone, memberMobile, memberFax, memberCareer, memberHomepage, memberYahoo, memberAol, memberIcq, memberMsn, memberCoolLink1, memberCoolLink2);
287     }
288
289     public void updateActivateCode(int memberID, String JavaDoc memberActivateCode)
290         throws ObjectNotFoundException, DatabaseException {
291         memberDAO.updateActivateCode(memberID, memberActivateCode);
292     }
293
294     public void updateAvatar(int memberID, String JavaDoc memberAvatar)
295         throws ObjectNotFoundException, DatabaseException {
296         memberDAO.updateAvatar(memberID, memberAvatar);
297     }
298
299     public void updateEmail(int memberID, String JavaDoc memberEmail)
300         throws ObjectNotFoundException, DatabaseException, DuplicateKeyException {
301         memberDAO.updateEmail(memberID, memberEmail);
302     }
303
304     public void updateLastLogon(int memberID, Timestamp JavaDoc memberLastLogon, String JavaDoc lastIP)
305         throws ObjectNotFoundException, DatabaseException {
306         memberDAO.updateLastLogon(memberID, memberLastLogon, lastIP);
307     }
308
309     public void updateMember_expireDate(int memberID, Timestamp JavaDoc expireDate)
310         throws ObjectNotFoundException, DatabaseException {
311         memberDAO.updateMember_expireDate(memberID, expireDate);
312     }
313
314     public void updatePassword(int memberID, String JavaDoc memberPassword)
315         throws ObjectNotFoundException, DatabaseException {
316         memberDAO.updatePassword(memberID, memberPassword);
317     }
318
319     public void updatePostCount(int memberID, int memberPostCount)
320         throws ObjectNotFoundException, DatabaseException {
321         memberDAO.updatePostCount(memberID, memberPostCount);
322     }
323
324     public void updateSignature(int memberID, String JavaDoc memberSignature)
325         throws ObjectNotFoundException, DatabaseException {
326         memberDAO.updateSignature(memberID, memberSignature);
327     }
328
329     public void updateStatus(int memberID, int memberStatus)
330         throws ObjectNotFoundException, DatabaseException {
331         memberDAO.updateStatus(memberID, memberStatus);
332     }
333
334     public void updateTempPassword(int memberID, String JavaDoc memberTempPassword)
335         throws ObjectNotFoundException, DatabaseException {
336         memberDAO.updateTempPassword(memberID, memberTempPassword);
337     }
338
339     public void updateTitle(int memberID, String JavaDoc memberTitle)
340         throws ObjectNotFoundException, DatabaseException {
341         memberDAO.updateTitle(memberID, memberTitle);
342     }
343
344 }
345
Popular Tags