KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mvnforum > phpbb2mvnforum > Migrator


1 package org.mvnforum.phpbb2mvnforum;
2
3 import java.io.PrintStream JavaDoc;
4 import java.sql.Date JavaDoc;
5 import java.sql.SQLException JavaDoc;
6 import java.sql.Timestamp JavaDoc;
7 import java.util.ArrayList JavaDoc;
8 import java.util.Collection JavaDoc;
9 import java.util.Iterator JavaDoc;
10
11 import net.myvietnam.mvncore.exception.CreateException;
12 import net.myvietnam.mvncore.exception.DatabaseException;
13 import net.myvietnam.mvncore.exception.DuplicateKeyException;
14 import net.myvietnam.mvncore.exception.ForeignKeyNotFoundException;
15 import net.myvietnam.mvncore.exception.ObjectNotFoundException;
16
17 import org.mvnforum.phpbb2mvnforum.db.CategoryBean;
18 import org.mvnforum.phpbb2mvnforum.db.CategoryDAO;
19 import org.mvnforum.phpbb2mvnforum.db.ForumBean;
20 import org.mvnforum.phpbb2mvnforum.db.ForumDAO;
21 import org.mvnforum.phpbb2mvnforum.db.MemberDAO;
22 import org.mvnforum.phpbb2mvnforum.db.MessageDAO;
23 import org.mvnforum.phpbb2mvnforum.db.PhpbbCategories;
24 import org.mvnforum.phpbb2mvnforum.db.PhpbbCategoriesDAO;
25 import org.mvnforum.phpbb2mvnforum.db.PhpbbForum;
26 import org.mvnforum.phpbb2mvnforum.db.PhpbbForumDAO;
27 import org.mvnforum.phpbb2mvnforum.db.PhpbbPost;
28 import org.mvnforum.phpbb2mvnforum.db.PhpbbPostDAO;
29 import org.mvnforum.phpbb2mvnforum.db.PhpbbPostText;
30 import org.mvnforum.phpbb2mvnforum.db.PhpbbPostTextDAO;
31 import org.mvnforum.phpbb2mvnforum.db.PhpbbPrivmMsgs;
32 import org.mvnforum.phpbb2mvnforum.db.PhpbbPrivmMsgsDAO;
33 import org.mvnforum.phpbb2mvnforum.db.PhpbbPrivmMsgsTextDAO;
34 import org.mvnforum.phpbb2mvnforum.db.PhpbbTopics;
35 import org.mvnforum.phpbb2mvnforum.db.PhpbbTopicsDAO;
36 import org.mvnforum.phpbb2mvnforum.db.PhpbbUserDAO;
37 import org.mvnforum.phpbb2mvnforum.db.PhpbbUsers;
38 import org.mvnforum.phpbb2mvnforum.db.PostBean;
39 import org.mvnforum.phpbb2mvnforum.db.PostDAO;
40 import org.mvnforum.phpbb2mvnforum.db.ThreadBean;
41 import org.mvnforum.phpbb2mvnforum.db.ThreadDAO;
42 import org.mvnforum.phpbb2mvnforum.db.jdbc.DAOFactory;
43 import org.mvnforum.util.MD5;
44 import org.mvnforum.util.Utils;
45
46
47 //==============================================================================
48
// The JavaReference.com Software License, Version 1.0
49
// Copyright (c) 2002-2005 JavaReference.com. All rights reserved.
50
//
51
//
52
// Redistribution and use in source and binary forms, with or without
53
// modification, are permitted provided that the following conditions
54
// are met:
55
//
56
// 1. Redistributions of source code must retain the above copyright notice,
57
// this list of conditions and the following disclaimer.
58
//
59
// 2. Redistributions in binary form must reproduce the above copyright notice,
60
// this list of conditions and the following disclaimer in the documentation
61
// and/or other materials provided with the distribution.
62
//
63
// 3. The end-user documentation included with the redistribution, if any, must
64
// include the following acknowlegement:
65
//
66
// "This product includes software developed by the Javareference.com
67
// (http://www.javareference.com/)."
68
//
69
// Alternately, this acknowlegement may appear in the software itself, if and
70
// wherever such third-party acknowlegements normally appear.
71
//
72
// 4. The names "JavaReference" and "Javareference.com", must not be used to
73
// endorse or promote products derived from this software without prior written
74
// permission. For written permission, please contact webmaster@javareference.com.
75
//
76
// 5. Products derived from this software may not be called "Javareference" nor may
77
// "Javareference" appear in their names without prior written permission of
78
// Javareference.com.
79
//
80
// THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
81
// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
82
// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
83
// JAVAREFERENCE.COM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
84
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
85
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
86
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
87
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
88
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
89
// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
90
//
91
//================================================================================
92
// Software from this site consists of contributions made by various individuals
93
// on behalf of Javareference.com. For more information on Javareference.com,
94
// please see http://www.javareference.com
95
//================================================================================
96

97 /**
98  * @author anandh
99  */

100 public class Migrator {
101     
102     private static DAOFactory factory = new DAOFactory();
103     private static int PHPBB_ADMIN_ID = 2;
104     private static int PHPBB_GUEST_ID = -1;
105     
106     private static int ADMIN_ID = 1;
107     private static int GUEST_ID = 2;
108
109     
110     public static int correctMvnforumMemberID (int phpbbUserID) {
111         if (phpbbUserID == PHPBB_ADMIN_ID)
112             return ADMIN_ID;
113         else if (phpbbUserID == PHPBB_GUEST_ID)
114             return GUEST_ID;
115         return phpbbUserID;
116     }
117         
118     public static void migrateusers(PrintStream JavaDoc ostream, int gender)
119         throws SQLException JavaDoc, ObjectNotFoundException, DatabaseException, DuplicateKeyException, CreateException {
120
121         PhpbbUserDAO phpbbUserDAO = factory.getPhpUserDAO();
122         
123         MemberDAO memberDAO = factory.getMemberDAO();
124         
125         Collection JavaDoc phpbbUserBeans = phpbbUserDAO.getBeans();
126
127         for (Iterator JavaDoc iter = phpbbUserBeans.iterator(); iter.hasNext(); ) {
128             PhpbbUsers bean = (PhpbbUsers)iter.next();
129             int memberID = correctMvnforumMemberID(bean.getUserId());
130             String JavaDoc memberName = bean.getUsername();
131             if (memberName.equalsIgnoreCase("Anonymous"))
132                 memberName = "Guest";
133
134             String JavaDoc memberPassword = bean.getUserPassword();
135             if (memberPassword.equals("")) {
136                 memberPassword = "Guest";
137             } else {
138                 memberPassword = Utils.wrapit(MD5.getBase64FromMD5(memberPassword));
139             }
140             String JavaDoc memberFirstEmail = Utils.wrapit(bean.getUserEmail());
141             String JavaDoc memberEmail = memberFirstEmail;
142
143             int memberEmailVisible = bean.getUserViewemail();
144             // Keep name invisible (no equivalent in phpbb)
145
int memberNameVisible = 0;
146             String JavaDoc memberFirstIP = "0.0.0.0";
147             String JavaDoc memberLastIP = "0.0.0.0";
148             int memberViewCount = 0;
149             int memberPostCount = bean.getUserPosts();
150             Timestamp JavaDoc memberCreationDate = Utils.getTimeStamp(bean.getUserRegdate());
151             Timestamp JavaDoc memberModifiedDate = memberCreationDate;
152             Timestamp JavaDoc memberExpireDate = memberCreationDate;
153             Timestamp JavaDoc memberLastLogon = Utils.getTimeStamp(bean.getUserLastvisit());
154             int memberOption = 0;
155             int memberStatus = 0;
156             String JavaDoc memberActivateCode = "";
157             String JavaDoc memberTempPassword = "";
158             int memberMessageCount = 0;
159             int memberMessageOption = 0;
160             int memberPostsPerPage = 10; //Default by mvnForum.
161
int memberWarnCount = 0;
162             int memberVoteCount = 0;
163             int memberVoteTotalStars = 0;
164             int memberRewardPoints = 0;
165             String JavaDoc memberTitle = "";
166
167             double tzone = bean.getUserTimezone().doubleValue();
168
169             String JavaDoc memberSignature = Utils.wrapit(bean.getUserSig());
170             String JavaDoc memberAvatar = Utils.wrapit(bean.getUserAvatar());
171             String JavaDoc memberSkin = "";
172             //replace default language
173

174             //String memberLanguage = bean.getUserLang();
175
String JavaDoc memberLanguage = "en";
176
177             //PHPBB does not store names
178
String JavaDoc memberFirstname = memberName;
179             //because mvnforum doesn't allow empty name
180
String JavaDoc memberLastname = "";
181
182             //PHPBB does not store gender. This can be an issue. Everyone will be made a female
183
int memberGender = gender;
184             Date JavaDoc memberBirthday = new Date JavaDoc(0);
185             String JavaDoc memberAddress = bean.getUserFrom();
186             String JavaDoc memberCity = "";
187             String JavaDoc memberState = "";
188             String JavaDoc memberCountry = "";
189             String JavaDoc memberPhone = "";
190             String JavaDoc memberMobile = "";
191             String JavaDoc memberFax = "";
192             String JavaDoc memberCareer = Utils.wrapit(bean.getUserOcc());
193             String JavaDoc memberHomepage = Utils.wrapit(bean.getUserWebsite());
194             String JavaDoc memberYahoo = Utils.wrapit(bean.getUserYim());
195             String JavaDoc memberAol = Utils.wrapit(bean.getUserAim());
196             String JavaDoc memberIcq = "";
197             String JavaDoc memberMsn = Utils.wrapit(bean.getUserMsnm());
198             // No interests collumn in MvnForum. We will just put the interests in CoolLink1 so that
199
// no data is lost.
200
String JavaDoc memberCoolLink1 = Utils.wrapit(bean.getUserInterests());
201             String JavaDoc memberCoolLink2 = "";
202             
203             if (memberName.equalsIgnoreCase("admin")) {
204                 memberDAO.update(ADMIN_ID,memberName, memberPassword, memberFirstEmail, memberEmail, memberEmailVisible, memberNameVisible,
205                         memberFirstIP, memberLastIP, memberViewCount, memberPostCount, memberCreationDate, memberModifiedDate,
206                         memberExpireDate, memberLastLogon, memberOption, memberStatus, memberActivateCode, memberTempPassword, memberMessageCount,
207                         memberMessageOption, memberPostsPerPage, memberWarnCount, memberVoteCount, memberVoteTotalStars,
208                         memberRewardPoints, memberTitle, tzone, memberSignature, memberAvatar, memberSkin, memberLanguage,
209                         memberFirstname, memberLastname, memberGender, memberBirthday, memberAddress, memberCity, memberState, memberCountry,
210                         memberPhone, memberMobile, memberFax, memberCareer, memberHomepage, memberYahoo, memberAol, memberIcq, memberMsn,
211                         memberCoolLink1, memberCoolLink2);
212             } else {
213                 if (memberName.equalsIgnoreCase("Guest")) {
214                     memberDAO.create(GUEST_ID, memberName, memberPassword, memberFirstEmail, memberEmail, memberEmailVisible, memberNameVisible,
215                             memberFirstIP, memberLastIP, memberViewCount, memberPostCount, memberCreationDate, memberModifiedDate,
216                             memberExpireDate, memberLastLogon, memberOption, memberStatus, memberActivateCode, memberTempPassword, memberMessageCount,
217                             memberMessageOption, memberPostsPerPage, memberWarnCount, memberVoteCount, memberVoteTotalStars,
218                             memberRewardPoints, memberTitle, tzone, memberSignature, memberAvatar, memberSkin, memberLanguage,
219                             memberFirstname, memberLastname, memberGender, memberBirthday, memberAddress, memberCity, memberState, memberCountry,
220                             memberPhone, memberMobile, memberFax, memberCareer, memberHomepage, memberYahoo, memberAol, memberIcq, memberMsn,
221                             memberCoolLink1, memberCoolLink2);
222                 } else {
223                     memberDAO.create(memberID, memberName, memberPassword, memberFirstEmail, memberEmail, memberEmailVisible, memberNameVisible,
224                             memberFirstIP, memberLastIP, memberViewCount, memberPostCount, memberCreationDate, memberModifiedDate,
225                             memberExpireDate, memberLastLogon, memberOption, memberStatus, memberActivateCode, memberTempPassword, memberMessageCount,
226                             memberMessageOption, memberPostsPerPage, memberWarnCount, memberVoteCount, memberVoteTotalStars,
227                             memberRewardPoints, memberTitle, tzone, memberSignature, memberAvatar, memberSkin, memberLanguage,
228                             memberFirstname, memberLastname, memberGender, memberBirthday, memberAddress, memberCity, memberState, memberCountry,
229                             memberPhone, memberMobile, memberFax, memberCareer, memberHomepage, memberYahoo, memberAol, memberIcq, memberMsn,
230                             memberCoolLink1, memberCoolLink2);
231                 }
232                 
233             }
234         }
235     }
236
237     public static void migratecategories(PrintStream JavaDoc ostream)
238         throws SQLException JavaDoc, DatabaseException, CreateException, DuplicateKeyException, ForeignKeyNotFoundException {
239         PhpbbCategoriesDAO phpbbCategoriesDAO = factory.getPhpbbCategoriesDAO();
240         
241         
242         CategoryDAO categoryDAO = factory.getCategoryDAO();
243         
244         CategoryDAO categoryDAOXML = factory.getCategoryDAOXML();
245         
246         Collection JavaDoc phpbbCategoriesBeans = phpbbCategoriesDAO.getBeans();
247         Collection JavaDoc categoryBeans = new ArrayList JavaDoc();
248         for (Iterator JavaDoc iter = phpbbCategoriesBeans.iterator(); iter.hasNext(); ) {
249             
250             PhpbbCategories phpbbCategories = (PhpbbCategories) iter.next();
251             int catID = phpbbCategories.getCatId();
252             int parentCategoryID = 0;
253             String JavaDoc categoryName = phpbbCategories.getCatTitle();
254             String JavaDoc categoryDesc = "";
255             Timestamp JavaDoc categoryCreationDate = new Timestamp JavaDoc(0);
256             Timestamp JavaDoc categoryModifiedDate = categoryCreationDate;
257             int categoryOrder = phpbbCategories.getCatOrder();
258             int categoryOption = 0;
259             int categoryStatus = 0;
260             
261             CategoryBean bean = new CategoryBean();
262             bean.setCategoryID(catID);
263             bean.setParentCategoryID(parentCategoryID);
264             bean.setCategoryName(categoryName);
265             bean.setCategoryDesc(categoryDesc);
266             bean.setCategoryCreationDate(categoryCreationDate);
267             bean.setCategoryModifiedDate(categoryModifiedDate);
268             bean.setCategoryOrder(categoryOrder);
269             bean.setCategoryOption(categoryOption);
270             bean.setCategoryStatus(categoryStatus);
271               
272             categoryBeans.add(bean);
273             //categoryDAO.create(catID, parentCategoryID, categoryName, categoryDesc, categoryCreationDate, categoryModifiedDate, categoryOrder, categoryOption, categoryStatus);
274

275         }
276         categoryDAOXML.createMultiple(categoryBeans);
277     }
278
279     public static void migrateforums(PrintStream JavaDoc ostream)
280         throws SQLException JavaDoc, DatabaseException, ObjectNotFoundException, CreateException, DuplicateKeyException, ForeignKeyNotFoundException {
281         
282         PhpbbForumDAO phpbbForumDAO = factory.getPhpbbForumDAO();
283         PhpbbPostDAO phpbbPostDAO = factory.getPhpbbPostDAO();
284         PhpbbUserDAO phpbbUserDAO = factory.getPhpUserDAO();
285         
286         ForumDAO forumDAO = factory.getForumDAO();
287         
288         ForumDAO forumDAOXML = factory.getForumDAOXML();
289         Collection JavaDoc phpbbForumBeans = phpbbForumDAO.getBeans();
290         Collection JavaDoc forumBeans = new ArrayList JavaDoc();
291         
292         for (Iterator JavaDoc iter = phpbbForumBeans.iterator(); iter.hasNext(); ) {
293             PhpbbForum phpbbForum = (PhpbbForum)iter.next();
294             int forumID = phpbbForum.getforum_id();
295             int categoryID = phpbbForum.getcat_id();
296             int last_post_id = phpbbForum.getforum_last_post_id();
297             if (last_post_id == 0) {
298                 continue;
299             }
300             String JavaDoc lastPostMemberName = "";
301             if (last_post_id == PHPBB_ADMIN_ID) {
302                 lastPostMemberName = "Admin";
303             } else {
304                 if (last_post_id == PHPBB_GUEST_ID){
305                     lastPostMemberName = "Guest";
306                 } else {
307                     lastPostMemberName = phpbbUserDAO.getUserNameFromUserID(phpbbPostDAO.getPosterIDFromPostID(last_post_id));
308                 }
309             }
310             String JavaDoc forumName = phpbbForum.getforum_name();
311             String JavaDoc forumDesc = phpbbForum.getforum_desc();
312             Timestamp JavaDoc forumCreationDate = new Timestamp JavaDoc(0);
313             Timestamp JavaDoc forumModifiedDate = forumCreationDate;
314             Timestamp JavaDoc forumLastPostDate = forumCreationDate;
315             int forumOrder = phpbbForum.getforum_order();
316             int forumType = 0;
317             int forumFormatOption = 0;
318             int forumOption = 0;
319             int forumStatus = phpbbForum.getforum_status();
320             int forumModerationMode = 0;
321             String JavaDoc forumPassword = "";
322             int forumThreadCount = phpbbForum.getforum_topics();
323             int forumPostCount = phpbbForum.getforum_posts();
324             
325             /*forumDAO.create(forumID, categoryID, lastPostMemberName, forumName, forumDesc, forumCreationDate, forumModifiedDate,
326                     forumLastPostDate, forumOrder, forumType, forumFormatOption, forumOption, forumStatus, forumModerationMode,
327                     forumPassword, forumThreadCount, forumPostCount);*/

328             ForumBean bean = new ForumBean();
329             bean.setForumID(forumID);
330             bean.setCategoryID(categoryID);
331             bean.setLastPostMemberName(lastPostMemberName);
332             bean.setForumName(forumName);
333             bean.setForumDesc(forumDesc);
334             bean.setForumCreationDate(forumCreationDate);
335             bean.setForumModifiedDate(forumModifiedDate);
336             bean.setForumLastPostDate(forumLastPostDate);
337             bean.setForumOrder(forumOrder);
338             bean.setForumType(forumType);
339             bean.setForumFormatOption(forumFormatOption);
340             bean.setForumOption(forumOption);
341             bean.setForumStatus(forumStatus);
342             bean.setForumModerationMode(forumModerationMode);
343             bean.setForumPassword(forumPassword);
344             bean.setForumPostCount(forumPostCount);
345             bean.setForumThreadCount(forumThreadCount);
346             forumBeans.add(bean);
347         }
348         forumDAOXML.createMultiple(forumBeans);
349     }
350
351     public static void migrateposts(PrintStream JavaDoc ostream)
352         throws SQLException JavaDoc, DatabaseException, ObjectNotFoundException, CreateException, ForeignKeyNotFoundException, DuplicateKeyException {
353         
354         PhpbbPostDAO phpbbPostDAO = factory.getPhpbbPostDAO();
355         PhpbbUserDAO phpbbUserDAO = factory.getPhpUserDAO();
356         PhpbbPostTextDAO phpbbPostTextDAO = factory.getPhpbbPostTextDAO();
357         
358         PostDAO postDAO = factory.getPostDAO();
359         
360         PostDAO postDAOXML = factory.getPostDAOXML();
361         
362         Collection JavaDoc phpbbPostBeans = phpbbPostDAO.getBeans();
363         Collection JavaDoc postBeans = new ArrayList JavaDoc();
364         
365         for (Iterator JavaDoc iter = phpbbPostBeans.iterator(); iter.hasNext();) {
366             PhpbbPost phpbbPost = (PhpbbPost) iter.next();
367             int postID = phpbbPost.getpost_id();
368             int forumID = phpbbPost.getforum_id();
369             int threadID = phpbbPost.gettopic_id();
370             int memberID = phpbbPost.getposter_id();
371             
372             Collection JavaDoc ppidrs = phpbbPostDAO.getPostIDsFromTopicID(threadID);
373             int ppid = 0;
374             for (Iterator JavaDoc ppidrsIter = ppidrs.iterator(); ppidrsIter.hasNext();) {
375                 PhpbbPost phpbbPost_Top = (PhpbbPost) ppidrsIter.next();
376                 int ppidtmp = phpbbPost_Top.getpost_id();
377                 if (ppidtmp == postID)
378                     break;
379                 else
380                     ppid = ppidtmp;
381             }
382             
383             int parentPostID = ppid;
384             String JavaDoc memberName = "";
385             if (memberID != PHPBB_ADMIN_ID && memberID != PHPBB_GUEST_ID) {
386                 memberName = phpbbUserDAO.getUserNameFromUserID(memberID);
387             } else {
388                 if (memberID == PHPBB_GUEST_ID){
389                     memberName = "Guest";
390                     memberID = GUEST_ID;
391                 } else {
392                     // memberID = ADMIN_ID
393
memberName = "Admin";
394                     memberID = ADMIN_ID;
395                 }
396             }
397             
398             String JavaDoc lastEditMemberName = memberName;
399             PhpbbPostText phpbbPostText = phpbbPostTextDAO.getBean(postID);
400             String JavaDoc postTopic = Utils.wrapit(phpbbPostText.getpost_subject());
401             String JavaDoc postBody = Utils.wrapit(phpbbPostText.getpost_text());
402             
403             //String PostCreationDate = Utils.wrapit(Utils.DateTimeFromS(RS.getLong("post_time")));
404
Timestamp JavaDoc postCreationDate = Utils.getTimeStamp((long)phpbbPost.getpost_time());
405             Timestamp JavaDoc postLastEditDate = postCreationDate;
406             String JavaDoc postCreationIP = Utils.wrapit(Utils.HexIPtoString(phpbbPost.getposter_ip()));
407             String JavaDoc postLastEditIP = postCreationIP;
408             int postEditCount = phpbbPost.getpost_edit_count();
409             int postFormatOption = 0;
410             int postOption = 0;
411             int postStatus = 0;
412             String JavaDoc postIcon = "";
413             int postAttachCount = 0;
414             
415             /*postDAO.create(postID, parentPostID, forumID, threadID, memberID, memberName, lastEditMemberName, postTopic,
416                     postBody, postCreationDate, postLastEditDate, postCreationIP, postLastEditIP, postEditCount, postFormatOption,
417                     postOption, postStatus, postIcon, postAttachCount);*/

418             PostBean bean = new PostBean();
419             bean.setPostID(postID);
420             bean.setParentPostID(parentPostID);
421             bean.setForumID(forumID);
422             bean.setThreadID(threadID);
423             bean.setMemberID(memberID);
424             bean.setMemberName(memberName);
425             bean.setLastEditMemberName(lastEditMemberName);
426             bean.setPostTopic(postTopic);
427             bean.setPostBody(postBody);
428             bean.setPostCreationDate(postCreationDate);
429             bean.setPostLastEditDate(postLastEditDate);
430             bean.setPostCreationIP(postCreationIP);
431             bean.setPostLastEditIP(postLastEditIP);
432             bean.setPostEditCount(postEditCount);
433             bean.setPostFormatOption(postFormatOption);
434             bean.setPostOption(postOption);
435             bean.setPostStatus(postStatus);
436             bean.setPostIcon(postIcon);
437             bean.setPostAttachCount(postAttachCount);
438             
439             postBeans.add(bean);
440         }
441         postDAOXML.createMultiple(postBeans);
442     }
443
444     public static void migratethreads(PrintStream JavaDoc ostream)
445         throws SQLException JavaDoc, ObjectNotFoundException, CreateException, DatabaseException, ForeignKeyNotFoundException, DuplicateKeyException {
446         
447         PhpbbTopicsDAO phpbbTopicsDAO = factory.getPhpbbTopicsDAO();
448         PhpbbUserDAO phpbbUserDAO = factory.getPhpUserDAO();
449         PhpbbPostDAO phpbbPostDAO = factory.getPhpbbPostDAO();
450         PhpbbPostTextDAO phpbbPostTextDAO = factory.getPhpbbPostTextDAO();
451         
452         ThreadDAO threadDAO = factory.getThreadDAO();
453         
454         ThreadDAO threadDAOXML = factory.getThreadDAOXML();
455         Collection JavaDoc phpbbTopicBeans = phpbbTopicsDAO.getBeans();
456         Collection JavaDoc threadBeans = new ArrayList JavaDoc();
457         
458         for (Iterator JavaDoc iter = phpbbTopicBeans.iterator(); iter.hasNext(); ) {
459             PhpbbTopics bean = (PhpbbTopics)iter.next();
460             int threadID = bean.gettopic_id();
461             int forumID = bean.getforum_id();
462             
463             int memberID = bean.gettopic_poster();
464             String JavaDoc memberName = "";
465             if (memberID == PHPBB_ADMIN_ID) {
466                 memberName = "Admin";
467             } else {
468                 if (memberID == PHPBB_GUEST_ID){
469                     memberName = "Guest";
470                 } else {
471                     memberName = phpbbUserDAO.getUserNameFromUserID(memberID);
472                 }
473             }
474             
475             String JavaDoc lastPostMemberName = "";
476             try {
477                 if (memberID == PHPBB_ADMIN_ID) {
478                     lastPostMemberName = "Admin";
479                 } else {
480                     if (memberID == PHPBB_GUEST_ID){
481                         lastPostMemberName = "Guest";
482                     } else {
483                         lastPostMemberName = phpbbUserDAO.getUserNameFromUserID(memberID);
484                     }
485                 }
486             }catch (ObjectNotFoundException oe){
487             }
488             String JavaDoc threadTopic = bean.gettopic_title();
489
490             String JavaDoc threadBody = "";
491             int first_post_id = bean.gettopic_first_post_id();
492             try {
493                 threadBody = phpbbPostTextDAO.getPostTextFromPostID(first_post_id);
494             } catch (ObjectNotFoundException oe) {
495             }
496             
497
498             threadBody = Utils.wrapit(Utils.stripPHPBBQuotes(threadBody));
499
500             int threadVoteCount = 0;
501             int threadVoteTotalStars = 0;
502             Timestamp JavaDoc threadCreationDate = Utils.getTimeStamp(bean.gettopic_time());
503
504             Timestamp JavaDoc threadLastPostDate = new Timestamp JavaDoc(0);
505             int last_post_id = bean.gettopic_last_post_id();
506             try {
507                 threadLastPostDate = Utils.getTimeStamp(phpbbPostDAO.getPostTimeFromPostID(last_post_id));
508             }catch (ObjectNotFoundException oe) {
509             }
510             
511             int threadType = 0;
512             int threadOption = 0;
513             int threadStatus = bean.gettopic_status();
514             int threadHasPoll = bean.gettopic_vote();
515             int threadViewCount = bean.gettopic_views();
516             int threadReplyCount = bean.gettopic_replies();
517             String JavaDoc threadIcon = "";
518             int threadDuration = 0;
519             int threadAttachCount = 0;
520             
521             /*threadDAO.createThread(threadID, forumID, memberName, lastPostMemberName, threadTopic, threadBody, threadVoteCount, threadVoteTotalStars,
522                     threadCreationDate, threadLastPostDate, threadType, threadOption, threadStatus, threadHasPoll, threadViewCount,
523                     threadReplyCount, threadIcon, threadDuration, threadAttachCount);*/

524             
525             ThreadBean threadBean = new ThreadBean();
526             threadBean.setThreadID(threadID);
527             threadBean.setForumID(forumID);
528             threadBean.setMemberName(memberName);
529             threadBean.setLastPostMemberName(lastPostMemberName);
530             threadBean.setThreadTopic(threadTopic);
531             threadBean.setThreadBody(threadBody);
532             threadBean.setThreadVoteCount(threadVoteCount);
533             threadBean.setThreadVoteTotalStars(threadVoteTotalStars);
534             threadBean.setThreadCreationDate(threadCreationDate);
535             threadBean.setThreadLastPostDate(threadLastPostDate);
536             threadBean.setThreadType(threadType);
537             threadBean.setThreadOption(threadOption);
538             threadBean.setThreadStatus(threadStatus);
539             threadBean.setThreadHasPoll(threadHasPoll);
540             threadBean.setThreadViewCount(threadViewCount);
541             threadBean.setThreadReplyCount(threadReplyCount);
542             threadBean.setThreadIcon(threadIcon);
543             threadBean.setThreadDuration(threadDuration);
544             threadBean.setThreadAttachCount(threadAttachCount);
545             threadBeans.add(threadBean);
546
547         }
548         threadDAOXML.createMultiple(threadBeans);
549     }
550
551     public static void migrateprivatemessages(PrintStream JavaDoc ostream)
552         throws SQLException JavaDoc, DatabaseException, ObjectNotFoundException, CreateException, DuplicateKeyException {
553         
554         PhpbbPrivmMsgsDAO phpbbPrivmMsgsDAO = factory.getPhpbbPrivmMsgsDAO();
555         PhpbbPrivmMsgsTextDAO phpbbPrivmMsgsTextDAO = factory.getPhpbbPrivmMsgsTextDAO();
556         
557         MemberDAO memberDAO = factory.getMemberDAO();
558         MessageDAO messageDAO = factory.getMessageDAO();
559         
560         Collection JavaDoc phpbbPrivmMsgsBeans = phpbbPrivmMsgsDAO.getBeans();
561         
562         for (Iterator JavaDoc iter = phpbbPrivmMsgsBeans.iterator(); iter.hasNext(); ){
563             PhpbbPrivmMsgs bean = (PhpbbPrivmMsgs) iter.next();
564             
565             int messageID = bean.getprivmsgs_id();
566             int messageSenderID = bean.getprivmsgs_from_userid();
567             String JavaDoc messageSenderName = "";
568             int messageReceiverID = bean.getprivmsgs_to_userid();
569             String JavaDoc messageToList = "";
570             String JavaDoc messageCcList = "";
571             String JavaDoc messageBccList = "";
572             String JavaDoc messageTopic = Utils.wrapit(bean.getprivmsgs_subject());
573             String JavaDoc messageBody = Utils.wrapit(phpbbPrivmMsgsTextDAO.getBean(messageID).getprivmsgs_text());
574             int messageType = 0;
575             int messageOption = 0;
576             int messageStatus = 0;
577             int messageRead = bean.getprivmsgs_type();
578             int messageReadStatus = (messageRead == 1 || messageRead == 5) ? 0 : 1;
579             int messageNotify = 0;
580             String JavaDoc messageIcon = "";
581             int messageAttachCount = 0;
582             String JavaDoc messageIP = Utils.wrapit(Utils.HexIPtoString(bean.getprivmsgs_ip()));
583             Timestamp JavaDoc messageCreationDate = Utils.getTimeStamp(bean.getprivmsgs_date());
584
585             messageSenderID = correctMvnforumMemberID(messageSenderID);
586             try {
587                 messageSenderName = memberDAO.getMemberNameFromMemberID(messageSenderID);
588             }catch (ObjectNotFoundException oe) {
589             }
590              
591             messageReceiverID = correctMvnforumMemberID(messageReceiverID);
592             try {
593                 messageToList = memberDAO.getMemberNameFromMemberID(messageReceiverID);
594             }catch (ObjectNotFoundException oe) {
595             }
596             
597             messageDAO.create("Inbox", messageReceiverID, messageSenderID, messageSenderName, messageToList,
598                     messageCcList, messageBccList, messageTopic, messageBody, messageType, messageOption, messageStatus,
599                     messageReadStatus, messageNotify, messageIcon, messageAttachCount, messageIP, messageCreationDate);
600             messageDAO.create("Sent", messageSenderID, messageSenderID, messageSenderName , messageToList
601                     , messageCcList, messageBccList, messageTopic, messageBody, messageType, messageOption, messageStatus,
602                     1, messageNotify, messageIcon, messageAttachCount, messageIP, messageCreationDate );
603         }
604     }
605 }
Popular Tags