KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > mvnforum > admin > importexport > mvnforum > MvnForumMemberXML


1 /*
2  * $Header: /cvsroot/mvnforum/mvnforum/src/com/mvnforum/admin/importexport/mvnforum/MvnForumMemberXML.java,v 1.7 2006/04/14 17:36:29 minhnn Exp $
3  * $Author: minhnn $
4  * $Revision: 1.7 $
5  * $Date: 2006/04/14 17:36:29 $
6  *
7  * ====================================================================
8  *
9  * Copyright (C) 2002-2006 by MyVietnam.net
10  *
11  * All copyright notices regarding mvnForum MUST remain
12  * intact in the scripts and in the outputted HTML.
13  * The "powered by" text/logo with a link back to
14  * http://www.mvnForum.com and http://www.MyVietnam.net in
15  * the footer of the pages MUST remain visible when the pages
16  * are viewed on the internet or intranet.
17  *
18  * This program is free software; you can redistribute it and/or modify
19  * it under the terms of the GNU General Public License as published by
20  * the Free Software Foundation; either version 2 of the License, or
21  * any later version.
22  *
23  * This program is distributed in the hope that it will be useful,
24  * but WITHOUT ANY WARRANTY; without even the implied warranty of
25  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26  * GNU General Public License for more details.
27  *
28  * You should have received a copy of the GNU General Public License
29  * along with this program; if not, write to the Free Software
30  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
31  *
32  * Support can be obtained from support forums at:
33  * http://www.mvnForum.com/mvnforum/index
34  *
35  * Correspondence and Marketing Questions can be sent to:
36  * info at MyVietnam net
37  *
38  * @author: Igor Manic
39  */

40 package com.mvnforum.admin.importexport.mvnforum;
41
42 import com.mvnforum.MVNForumConstant;
43 import com.mvnforum.admin.MemberXML;
44 import net.myvietnam.mvncore.exception.*;
45
46 /**
47  * @author Igor Manic
48  * @version $Revision: 1.7 $, $Date: 2006/04/14 17:36:29 $
49  * <br/>
50  * <code>MvnForumMemberXML</code> class encapsulates processing of
51  * members' definitions found in the backup XML file. It implements
52  * methods to be called from XML parsing routine, adds some additional
53  * processing and checking, and calls corresponding methods of
54  * <code>MemberXML</code> and other neccessary classes in order to perform
55  * the actual creation of a member, as well as other related items (like
56  * message folders, member permissions and global watches). It also ensures
57  * that default Admin and virtual Guest are created, even if they weren't
58  * found in the XML.
59  */

60 public class MvnForumMemberXML {
61
62     private MemberXML memberXML=null;
63     private boolean memberCreated=false;
64     private boolean isGuest = false;
65     private boolean isAdmin = false;
66
67     String JavaDoc memberName = null;
68     String JavaDoc memberPassword = null;
69     String JavaDoc memberFirstEmail = null;
70     String JavaDoc memberEmail = null;
71     String JavaDoc memberEmailVisible = null;
72     String JavaDoc memberNameVisible = null;
73     String JavaDoc memberFirstIP = null;
74     String JavaDoc memberLastIP = null;
75     String JavaDoc memberViewCount = null;
76     String JavaDoc memberPostCount = null;
77     String JavaDoc memberCreationDate = null;
78     String JavaDoc memberModifiedDate = null;
79     String JavaDoc memberExpireDate = null;
80     String JavaDoc memberLastLogon = null;
81     String JavaDoc memberOption = null;
82     String JavaDoc memberStatus = null;
83     String JavaDoc memberActivateCode = null;
84     String JavaDoc memberTempPassword = null;
85     String JavaDoc memberMessageCount = null;
86     String JavaDoc memberMessageOption = null;
87     String JavaDoc memberPostsPerPage = null;
88     String JavaDoc memberWarnCount = null;
89     String JavaDoc memberVoteCount = null;
90     String JavaDoc memberVoteTotalStars = null;
91     String JavaDoc memberRewardPoints = null;
92     String JavaDoc memberTitle = null;
93     String JavaDoc memberTimeZone = null;
94     String JavaDoc memberSignature = null;
95     String JavaDoc memberAvatar = null;
96     String JavaDoc memberSkin = null;
97     String JavaDoc memberLanguage = null;
98     String JavaDoc memberFirstname = null;
99     String JavaDoc memberLastname = null;
100     String JavaDoc memberGender = null;
101     String JavaDoc memberBirthday = null;
102     String JavaDoc memberAddress = null;
103     String JavaDoc memberCity = null;
104     String JavaDoc memberState = null;
105     String JavaDoc memberCountry = null;
106     String JavaDoc memberPhone = null;
107     String JavaDoc memberMobile = null;
108     String JavaDoc memberFax = null;
109     String JavaDoc memberCareer = null;
110     String JavaDoc memberHomepage = null;
111     String JavaDoc memberYahoo = null;
112     String JavaDoc memberAol = null;
113     String JavaDoc memberIcq = null;
114     String JavaDoc memberMsn = null;
115     String JavaDoc memberCoolLink1 = null;
116     String JavaDoc memberCoolLink2 = null;
117
118     public MvnForumMemberXML() {
119         super();
120         memberXML=new MemberXML();
121         memberCreated=false;
122         isAdmin=false;
123         isGuest=false;
124     }
125
126     public int getMemberID() {
127         return memberXML.getMemberID();
128     }
129
130     public void setMemberID(String JavaDoc id) {
131         memberXML.setMemberID(id);
132     }
133
134     /**
135      * This method simply calls <code>setMemberID()</code>.
136      * It's defined only to avoid property-setter problems with digester
137      * (since it doesn't seem to recognize <code>setMemberID()</code> as a setter
138      * method for <code>memberID</code> property).
139      */

140     public void setMemberId(String JavaDoc id) {
141         setMemberID(id);
142     }
143
144     public void setMemberClass(String JavaDoc memberClass) {
145         if (memberClass!=null) {
146             if (memberClass.equalsIgnoreCase("Guest")) {
147                 memberXML.setMemberID(Integer.toString(MVNForumConstant.MEMBER_ID_OF_GUEST));
148                 isGuest=true;
149             } else if (memberClass.equalsIgnoreCase("Admin")) {
150                 memberXML.setMemberID(Integer.toString(MVNForumConstant.MEMBER_ID_OF_ADMIN));
151                 isAdmin=true;
152             }
153         }
154     }
155
156     public void setMemberName(String JavaDoc value) {
157         memberName=value;
158     }
159
160     public void setMemberPassword(String JavaDoc value) {
161         memberPassword=value;
162     }
163
164     public void setMemberFirstEmail(String JavaDoc value) {
165         memberFirstEmail=value;
166     }
167
168     public void setMemberEmail(String JavaDoc value) {
169         memberEmail=value;
170     }
171
172     public void setMemberEmailVisible(String JavaDoc value) {
173         memberEmailVisible=value;
174     }
175
176     public void setMemberNameVisible(String JavaDoc value) {
177         memberNameVisible=value;
178     }
179
180     public void setMemberFirstIP(String JavaDoc value) {
181         memberFirstIP=value;
182     }
183
184     public void setMemberLastIP(String JavaDoc value) {
185         memberLastIP=value;
186     }
187
188     public void setMemberViewCount(String JavaDoc value) {
189         memberViewCount=value;
190     }
191
192     public void setMemberPostCount(String JavaDoc value) {
193         memberPostCount=value;
194     }
195
196     public void setMemberCreationDate(String JavaDoc value) {
197         memberCreationDate=value;
198     }
199
200     public void setMemberModifiedDate(String JavaDoc value) {
201         memberModifiedDate=value;
202     }
203
204     public void setMemberExpireDate(String JavaDoc value) {
205         memberExpireDate=value;
206     }
207
208     public void setMemberLastLogon(String JavaDoc value) {
209         memberLastLogon=value;
210     }
211
212     public void setMemberOption(String JavaDoc value) {
213         memberOption=value;
214     }
215
216     public void setMemberStatus(String JavaDoc value) {
217         memberStatus=value;
218     }
219
220     public void setMemberActivateCode(String JavaDoc value) {
221         memberActivateCode=value;
222     }
223
224     public void setMemberTempPassword(String JavaDoc value) {
225         memberTempPassword=value;
226     }
227
228     public void setMemberMessageCount(String JavaDoc value) {
229         memberMessageCount=value;
230     }
231
232     public void setMemberMessageOption(String JavaDoc value) {
233         memberMessageOption=value;
234     }
235
236     public void setMemberPostsPerPage(String JavaDoc value) {
237         memberPostsPerPage=value;
238     }
239
240     public void setMemberWarnCount(String JavaDoc value) {
241         memberWarnCount=value;
242     }
243
244     public void setMemberVoteCount(String JavaDoc value) {
245         memberVoteCount=value;
246     }
247
248     public void setMemberVoteTotalStars(String JavaDoc value) {
249         memberVoteTotalStars=value;
250     }
251
252     public void setMemberRewardPoints(String JavaDoc value) {
253         memberRewardPoints=value;
254     }
255
256     public void setMemberTitle(String JavaDoc value) {
257         memberTitle=value;
258     }
259
260     public void setMemberTimeZone(String JavaDoc value) {
261         memberTimeZone=value;
262     }
263
264     public void setMemberSignature(String JavaDoc value) {
265         memberSignature=value;
266     }
267
268     public void setMemberAvatar(String JavaDoc value) {
269         memberAvatar=value;
270     }
271
272     public void setMemberSkin(String JavaDoc value) {
273         memberSkin=value;
274     }
275
276     public void setMemberLanguage(String JavaDoc value) {
277         memberLanguage=value;
278     }
279
280     public void setMemberFirstname(String JavaDoc value) {
281         memberFirstname=value;
282     }
283
284     public void setMemberLastname(String JavaDoc value) {
285         memberLastname=value;
286     }
287
288     public void setMemberGender(String JavaDoc value) {
289         memberGender=value;
290     }
291
292     public void setMemberBirthday(String JavaDoc value) {
293         memberBirthday=value;
294     }
295
296     public void setMemberAddress(String JavaDoc value) {
297         memberAddress=value;
298     }
299
300     public void setMemberCity(String JavaDoc value) {
301         memberCity=value;
302     }
303
304     public void setMemberState(String JavaDoc value) {
305         memberState=value;
306     }
307
308     public void setMemberCountry(String JavaDoc value) {
309         memberCountry=value;
310     }
311
312     public void setMemberPhone(String JavaDoc value) {
313         memberPhone=value;
314     }
315
316     public void setMemberMobile(String JavaDoc value) {
317         memberMobile=value;
318     }
319
320     public void setMemberFax(String JavaDoc value) {
321         memberFax=value;
322     }
323
324     public void setMemberCareer(String JavaDoc value) {
325         memberCareer=value;
326     }
327
328     public void setMemberHomepage(String JavaDoc value) {
329         memberHomepage=value;
330     }
331
332     public void setMemberYahoo(String JavaDoc value) {
333         memberYahoo=value;
334     }
335
336     public void setMemberAol(String JavaDoc value) {
337         memberAol=value;
338     }
339
340     public void setMemberIcq(String JavaDoc value) {
341         memberIcq=value;
342     }
343
344     public void setMemberMsn(String JavaDoc value) {
345         memberMsn=value;
346     }
347
348     public void setMemberCoolLink1(String JavaDoc value) {
349         memberCoolLink1=value;
350     }
351
352     public void setMemberCoolLink2(String JavaDoc value) {
353         memberCoolLink2=value;
354     }
355
356     public void addMember() throws CreateException, DuplicateKeyException,
357     ObjectNotFoundException, DatabaseException, ForeignKeyNotFoundException, BadInputException {
358         /* First, check if the digester already called this method.
359          * It will happen even under normal circumstances, if this member has
360          * subelements that need it already be defined, so they first call
361          * this method to create member before creating data that refer him.
362          */

363         if (memberCreated) return;
364         /* Then, check if Guest and Admin were created (must be first ones to be created).
365          * Otherwise, DBMS might have added some other (non-reserved) members with these
366          * IDs that are supposed to be reserved for Admin and Guest.
367          * IMPORTANT: First I'll check Admin and then Guest, because Guest's
368          * ID is higher than Admin's.
369          */

370         if (!isAdmin) MvnForumXML.checkAdminMember();
371         if ((!isAdmin) && (!isGuest)) MvnForumXML.checkGuestMember();
372
373         ImportMvnForum.addMessage("Adding member \""+memberName+"\".");
374         memberXML.addMember(memberName, memberPassword, memberFirstEmail,
375                             memberEmail, memberEmailVisible, memberNameVisible,
376                             memberFirstIP, memberLastIP, memberViewCount,
377                             memberPostCount, memberCreationDate, memberModifiedDate, memberExpireDate,
378                             memberLastLogon, memberOption, memberStatus,
379                             memberActivateCode, memberTempPassword, memberMessageCount,
380                             memberMessageOption, memberPostsPerPage, memberWarnCount,
381                             memberVoteCount, memberVoteTotalStars, memberRewardPoints,
382                             memberTitle, memberTimeZone, memberSignature,
383                             memberAvatar, memberSkin, memberLanguage,
384                             memberFirstname, memberLastname, memberGender,
385                             memberBirthday, memberAddress, memberCity,
386                             memberState, memberCountry, memberPhone,
387                             memberMobile, memberFax, memberCareer,
388                             memberHomepage, memberYahoo, memberAol,
389                             memberIcq, memberMsn, memberCoolLink1,
390                             memberCoolLink2);
391         memberCreated=true;
392         if (isAdmin) MvnForumXML.addedAdminMember=true;
393         else if (isGuest) MvnForumXML.addedGuestMember=true;
394     }
395
396     public void addMemberPermission(String JavaDoc permission) throws CreateException,
397     DuplicateKeyException, ObjectNotFoundException, DatabaseException, ForeignKeyNotFoundException, BadInputException {
398         if ( (!memberCreated) || (memberXML.getMemberID()<0) ) {
399             addMember();
400         }
401         ImportMvnForum.addMessage("Adding member permission \""+permission+"\".");
402         memberXML.addMemberPermission(permission);
403     }
404
405     public void addMessageFolder(String JavaDoc folderName, String JavaDoc folderOrder,
406                                  String JavaDoc folderCreationDate, String JavaDoc folderModifiedDate)
407     throws CreateException, DuplicateKeyException, ObjectNotFoundException,
408     DatabaseException, ForeignKeyNotFoundException, BadInputException {
409         if ( (!memberCreated) || (memberXML.getMemberID()<0) ) {
410             addMember();
411         }
412         ImportMvnForum.addMessage("Adding message folder \""+folderName+"\".");
413         memberXML.addMessageFolder(folderName,
414                   folderOrder, folderCreationDate, folderModifiedDate);
415     }
416
417     public void addGlobalWatch(String JavaDoc watchType, String JavaDoc watchOption,
418                                String JavaDoc watchStatus, String JavaDoc watchCreationDate,
419                                String JavaDoc watchLastSentDate, String JavaDoc watchEndDate)
420     throws CreateException, DuplicateKeyException, ObjectNotFoundException,
421     DatabaseException, ForeignKeyNotFoundException, BadInputException {
422         if ( (!memberCreated) || (memberXML.getMemberID()<0) ) {
423             addMember();
424         }
425         ImportMvnForum.addMessage("Adding global watch.");
426         memberXML.addGlobalWatch(
427                   watchType, watchOption, watchStatus,
428                   watchCreationDate, watchLastSentDate, watchEndDate);
429     }
430
431
432 }
433
Popular Tags