KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > mvnforum > jaxb > ImportExportXML


1 package com.mvnforum.jaxb;
2
3 import java.io.FileNotFoundException JavaDoc;
4 import java.io.FileOutputStream JavaDoc;
5 import java.sql.Date JavaDoc;
6 import java.sql.Timestamp JavaDoc;
7 import java.text.ParseException JavaDoc;
8 import java.util.ArrayList JavaDoc;
9 import java.util.Collection JavaDoc;
10 import java.util.Iterator JavaDoc;
11 import java.util.List JavaDoc;
12
13 import javax.xml.bind.JAXBException;
14 import javax.xml.bind.Marshaller;
15
16 import net.myvietnam.mvncore.exception.CreateException;
17 import net.myvietnam.mvncore.exception.DatabaseException;
18 import net.myvietnam.mvncore.exception.DuplicateKeyException;
19 import net.myvietnam.mvncore.exception.ForeignKeyNotFoundException;
20 import net.myvietnam.mvncore.exception.ObjectNotFoundException;
21
22 import org.mvnforum.phpbb2mvnforum.db.MemberDAO;
23 import org.mvnforum.phpbb2mvnforum.db.MessageDAO;
24 import org.mvnforum.phpbb2mvnforum.db.PhpbbAuthAccess;
25 import org.mvnforum.phpbb2mvnforum.db.PhpbbAuthAccessDAO;
26 import org.mvnforum.phpbb2mvnforum.db.PhpbbCategories;
27 import org.mvnforum.phpbb2mvnforum.db.PhpbbCategoriesDAO;
28 import org.mvnforum.phpbb2mvnforum.db.PhpbbForum;
29 import org.mvnforum.phpbb2mvnforum.db.PhpbbForumDAO;
30 import org.mvnforum.phpbb2mvnforum.db.PhpbbGroup;
31 import org.mvnforum.phpbb2mvnforum.db.PhpbbGroupDAO;
32 import org.mvnforum.phpbb2mvnforum.db.PhpbbPost;
33 import org.mvnforum.phpbb2mvnforum.db.PhpbbPostDAO;
34 import org.mvnforum.phpbb2mvnforum.db.PhpbbPostText;
35 import org.mvnforum.phpbb2mvnforum.db.PhpbbPostTextDAO;
36 import org.mvnforum.phpbb2mvnforum.db.PhpbbPrivmMsgs;
37 import org.mvnforum.phpbb2mvnforum.db.PhpbbPrivmMsgsDAO;
38 import org.mvnforum.phpbb2mvnforum.db.PhpbbPrivmMsgsTextDAO;
39 import org.mvnforum.phpbb2mvnforum.db.PhpbbRanks;
40 import org.mvnforum.phpbb2mvnforum.db.PhpbbRanksDAO;
41 import org.mvnforum.phpbb2mvnforum.db.PhpbbTopics;
42 import org.mvnforum.phpbb2mvnforum.db.PhpbbTopicsDAO;
43 import org.mvnforum.phpbb2mvnforum.db.PhpbbTopicsWatch;
44 import org.mvnforum.phpbb2mvnforum.db.PhpbbTopicsWatchDAO;
45 import org.mvnforum.phpbb2mvnforum.db.PhpbbUserDAO;
46 import org.mvnforum.phpbb2mvnforum.db.PhpbbUserGroup;
47 import org.mvnforum.phpbb2mvnforum.db.PhpbbUserGroupDAO;
48 import org.mvnforum.phpbb2mvnforum.db.PhpbbUsers;
49 import org.mvnforum.phpbb2mvnforum.db.jdbc.DAOFactory;
50 import org.mvnforum.util.MD5;
51 import org.mvnforum.util.Utils;
52
53 import com.mvnforum.db.GroupPermissionDAO;
54 import com.mvnforum.db.GroupsDAO;
55 import com.mvnforum.db.MemberPermissionDAO;
56 import com.mvnforum.db.MessageFolderDAO;
57 import com.mvnforum.db.RankDAO;
58 import com.mvnforum.db.WatchDAO;
59 import com.mvnforum.jaxb.dao.CategoryListDAO;
60 import com.mvnforum.jaxb.dao.GroupListDAO;
61 import com.mvnforum.jaxb.dao.MemberListDAO;
62 import com.mvnforum.jaxb.dao.RankListDAO;
63 import com.mvnforum.jaxb.db.AttachmentList;
64 import com.mvnforum.jaxb.db.CategoryListType;
65 import com.mvnforum.jaxb.db.CategoryType;
66 import com.mvnforum.jaxb.db.CategoryWatchList;
67 import com.mvnforum.jaxb.db.FavoriteThreadList;
68 import com.mvnforum.jaxb.db.ForumList;
69 import com.mvnforum.jaxb.db.ForumType;
70 import com.mvnforum.jaxb.db.ForumWatchList;
71 import com.mvnforum.jaxb.db.GlobalPermissionList;
72 import com.mvnforum.jaxb.db.GlobalWatchList;
73 import com.mvnforum.jaxb.db.GlobalWatchType;
74 import com.mvnforum.jaxb.db.GroupForumPermissionList;
75 import com.mvnforum.jaxb.db.GroupForumPermissionType;
76 import com.mvnforum.jaxb.db.GroupMemberList;
77 import com.mvnforum.jaxb.db.GroupMemberType;
78 import com.mvnforum.jaxb.db.GroupType;
79 import com.mvnforum.jaxb.db.MemberForumPermissionList;
80 import com.mvnforum.jaxb.db.MemberType;
81 import com.mvnforum.jaxb.db.MessageFolderList;
82 import com.mvnforum.jaxb.db.MessageFolderType;
83 import com.mvnforum.jaxb.db.MessageList;
84 import com.mvnforum.jaxb.db.MessageType;
85 import com.mvnforum.jaxb.db.Mvnforum;
86 import com.mvnforum.jaxb.db.ObjectFactory;
87 import com.mvnforum.jaxb.db.PostList;
88 import com.mvnforum.jaxb.db.PostType;
89 import com.mvnforum.jaxb.db.RankType;
90 import com.mvnforum.jaxb.db.ThreadList;
91 import com.mvnforum.jaxb.db.ThreadType;
92 import com.mvnforum.jaxb.db.ThreadWatchList;
93 import com.mvnforum.jaxb.db.ThreadWatchType;
94 import com.mvnforum.jaxb.db.MvnforumType.GroupListType;
95 import com.mvnforum.jaxb.db.MvnforumType.MemberListType;
96 import com.mvnforum.jaxb.db.MvnforumType.RankListType;
97 import com.mvnforum.jaxb.util.ImportExportUtil;
98 import com.mvnforum.jaxb.util.XMLUtil;
99
100 public class ImportExportXML {
101
102     private Mvnforum mvnforum = null;
103
104     private static DAOFactory factory = new DAOFactory();
105
106     private static int GROUP_ADMIN_PERMISSION = 100;
107
108     private static int GROUP_GUEST_PERMISSION = 109;
109
110     private static int ADMIN_ID = 1;
111
112     private static int GUEST_ID = 2;
113
114     public ImportExportXML()
115         throws JAXBException {
116         ObjectFactory objectFactory = XMLUtil.getObjectFactory();
117         mvnforum = objectFactory.createMvnforum();
118     }
119
120     public void exportGroupList()
121         throws JAXBException, DatabaseException, ObjectNotFoundException {
122         GroupListDAO groupListDAO = new GroupListDAO();
123         PhpbbGroupDAO phpbbGroupDAO = factory.getPhpbbGroupDAO();
124         PhpbbUserGroupDAO phpbbUserGroupDAO = factory.getPhpbbUserGroupDAO();
125         PhpbbUserDAO phpbbUserDAO = factory.getPhpUserDAO();
126
127         Collection JavaDoc beans = phpbbGroupDAO.getBeans();
128         Collection JavaDoc groupTypes = new ArrayList JavaDoc();
129
130         for (Iterator JavaDoc groupIter = beans.iterator(); groupIter.hasNext();) {
131             PhpbbGroup phpbbGroup = (PhpbbGroup) groupIter.next();
132             int groupID = phpbbGroup.getgroup_id();
133             String JavaDoc groupName = phpbbGroup.getgroup_name();
134             String JavaDoc groupOwnerName = "";
135             if (!(groupName.equalsIgnoreCase("Anonymous") || groupName.equalsIgnoreCase("Admin"))) {
136                 int groupOwnerID = phpbbGroup.getgroup_moderator();
137                 if (groupOwnerID == 0)
138                     continue;
139                 groupOwnerName = phpbbUserDAO.getUserNameFromUserID(groupOwnerID);
140             }
141             int groupOption = 0;
142             String JavaDoc groupDesc = phpbbGroup.getgroup_description();
143
144             Collection JavaDoc userGroupBeans = phpbbUserGroupDAO.getBeansByGroupID(groupID);
145
146             Collection JavaDoc groupMemberTypes = new ArrayList JavaDoc();
147             for (Iterator JavaDoc userGroupIter = userGroupBeans.iterator(); userGroupIter.hasNext();) {
148                 PhpbbUserGroup phpbbUserGroup = (PhpbbUserGroup) userGroupIter.next();
149                 int memberID = phpbbUserGroup.getuser_id();
150                 String JavaDoc memberName = phpbbUserDAO.getUserNameFromUserID(memberID);
151
152                 int privilege = 0;
153                 String JavaDoc creationDate = ImportExportUtil.dateTimeFormat(new Timestamp JavaDoc(0));
154                 String JavaDoc modifiedDate = creationDate;
155                 GroupMemberType groupMemberType = groupListDAO.getGroupMemberType(memberName, privilege, creationDate,
156                         modifiedDate);
157                 groupMemberTypes.add(groupMemberType);
158             }
159             GroupMemberList groupMemberList = groupListDAO.getGroupMemberList(groupMemberTypes);
160
161             //phpbb doesn't has globalPermission for Group, so I'll set permission only for Admin's group and
162
//Guest's group
163
Collection JavaDoc globalPermissionList = new ArrayList JavaDoc();
164             if (groupName.equalsIgnoreCase("Anonymous")) {
165                 globalPermissionList.add(new Integer JavaDoc(GROUP_GUEST_PERMISSION));
166             }
167             if (groupName.equalsIgnoreCase("Admin")) {
168                 globalPermissionList.add(new Integer JavaDoc(GROUP_ADMIN_PERMISSION));
169             }
170             GlobalPermissionList globalPermissionLists = groupListDAO.getGlobalPermissionList(globalPermissionList);
171             //////////////////////////////////
172
String JavaDoc groupCreationDate = ImportExportUtil.dateTimeFormat(new Timestamp JavaDoc(0));
173             String JavaDoc groupModifiedDate = ImportExportUtil.dateTimeFormat(new Timestamp JavaDoc(0));
174             GroupType groupType = groupListDAO.getGroupType(groupName, groupDesc, groupOption, groupOwnerName,
175                     groupCreationDate, groupModifiedDate, globalPermissionLists, groupMemberList);
176             groupTypes.add(groupType);
177         }
178
179         GroupListType groupListType = groupListDAO.getGroupListType(groupTypes);
180         mvnforum.setGroupList(groupListType);
181     }
182
183     /*
184      * TODO because rank in phpbb differ with rank in mvnforumRank, so i don't export rank.
185      * I'll use default rank in mvnforum, so that admin must config rank.
186      */

187     public void exportRankList()
188         throws JAXBException, DatabaseException {
189         RankListDAO rankListDAO = new RankListDAO();
190         PhpbbRanksDAO phpbbRanksDAO = factory.getPhpbbRanksDAO();
191
192         Collection JavaDoc phpbbRanks = phpbbRanksDAO.getBeans();
193         Collection JavaDoc rankTypes = new ArrayList JavaDoc();
194
195         for (Iterator JavaDoc phpbbrankIter = phpbbRanks.iterator(); phpbbrankIter.hasNext();) {
196             PhpbbRanks phpbbRank = (PhpbbRanks) phpbbrankIter.next();
197
198             int rankMinposts = phpbbRank.getrank_min();
199             int rankLevel = 0;
200             String JavaDoc rankTitle = phpbbRank.getrank_title();
201             String JavaDoc rankImage = phpbbRank.getrank_image();
202             int rankType1 = 0;
203             int rankOption = 0;
204
205             RankType rankType = rankListDAO.getRankType(rankMinposts, rankLevel, rankTitle, rankImage, rankType1,
206                     rankOption);
207             rankTypes.add(rankType);
208         }
209         RankListType rankListType = rankListDAO.getRankListType(rankTypes);
210         mvnforum.setRankList(rankListType);
211     }
212
213     public void exportCategoryList()
214         throws JAXBException, DatabaseException, ObjectNotFoundException {
215         PhpbbCategoriesDAO phpbbCategoriesDAO = factory.getPhpbbCategoriesDAO();
216         PhpbbForumDAO phpbbForumDAO = factory.getPhpbbForumDAO();
217         PhpbbPostDAO phpbbPostDAO = factory.getPhpbbPostDAO();
218         PhpbbUserDAO phpbbUserDAO = factory.getPhpUserDAO();
219         PhpbbTopicsDAO phpbbTopicsDAO = factory.getPhpbbTopicsDAO();
220         PhpbbPostTextDAO phpbbPostTextDAO = factory.getPhpbbPostTextDAO();
221         PhpbbTopicsWatchDAO phpbbTopicsWatchDAO = factory.getPhpbbTopicsWatchDAO();
222         PhpbbAuthAccessDAO phpbbAuthAccessDAO = factory.getPhpbbAuthAccessDAO();
223         PhpbbGroupDAO phpbbGroupDAO = factory.getPhpbbGroupDAO();
224
225         CategoryListDAO categoryListDAO = new CategoryListDAO();
226         Collection JavaDoc phpbbCategoriesBeans = phpbbCategoriesDAO.getBeans();
227         Collection JavaDoc categoryTypes = new ArrayList JavaDoc();
228
229         for (Iterator JavaDoc iter = phpbbCategoriesBeans.iterator(); iter.hasNext();) {
230             PhpbbCategories phpbbCategories = (PhpbbCategories) iter.next();
231             int catID = phpbbCategories.getCatId();
232
233             Collection JavaDoc forumTypes = new ArrayList JavaDoc();
234             Collection JavaDoc phpbbForumBeans = phpbbForumDAO.getBeansByCategoryID(catID);
235             for (Iterator JavaDoc forumIter = phpbbForumBeans.iterator(); forumIter.hasNext();) {
236                 PhpbbForum phpbbForum = (PhpbbForum) forumIter.next();
237                 int forumID = phpbbForum.getforum_id();
238
239                 Collection JavaDoc threadTypes = new ArrayList JavaDoc();
240                 Collection JavaDoc phpbbTopicBeans = phpbbTopicsDAO.getBeansByForumID(forumID);
241                 for (Iterator JavaDoc threadIter = phpbbTopicBeans.iterator(); threadIter.hasNext();) {
242                     PhpbbTopics bean = (PhpbbTopics) threadIter.next();
243                     int threadID = bean.gettopic_id();
244
245                     Collection JavaDoc postLists = new ArrayList JavaDoc();
246                     Collection JavaDoc phpbbPostBeans = phpbbPostDAO.getBeansByThreadID(threadID);
247                     for (Iterator JavaDoc postIter = phpbbPostBeans.iterator(); postIter.hasNext();) {
248                         PhpbbPost phpbbPost = (PhpbbPost) postIter.next();
249                         int postID = phpbbPost.getpost_id();
250
251                         //no information about Attach in phpbb
252
Collection JavaDoc attachmentTypes = new ArrayList JavaDoc();
253                         //attachmentTypes.add(attachmentType);
254
AttachmentList attachmentList = categoryListDAO.getAttachmentList(attachmentTypes);
255
256                         int memberID = phpbbPost.getposter_id();
257                         Collection JavaDoc ppidrs = phpbbPostDAO.getPostIDsFromTopicID(threadID);
258                         int ppid = 0;
259                         for (Iterator JavaDoc ppidrsIter = ppidrs.iterator(); ppidrsIter.hasNext();) {
260                             PhpbbPost phpbbPost_Top = (PhpbbPost) ppidrsIter.next();
261                             int ppidtmp = phpbbPost_Top.getpost_id();
262                             if (ppidtmp == postID)
263                                 break;
264                             else
265                                 ppid = ppidtmp;
266                         }
267     
268                         String JavaDoc memberName = phpbbUserDAO.getUserNameFromUserID(memberID);
269
270                         String JavaDoc lastEditMemberName = memberName;
271                         PhpbbPostText phpbbPostText = phpbbPostTextDAO.getBean(postID);
272                         String JavaDoc postTopic = ImportExportUtil.wrapit(phpbbPostText.getpost_subject());
273                         String JavaDoc postBody = ImportExportUtil.wrapit(phpbbPostText.getpost_text());
274
275                         String JavaDoc postCreationDate = ImportExportUtil.dateTimeFormat((long) phpbbPost.getpost_time());
276                         String JavaDoc postLastEditDate = postCreationDate;
277                         String JavaDoc postCreationIP = ImportExportUtil.wrapit(ImportExportUtil.HexIPtoString(phpbbPost
278                                 .getposter_ip()));
279                         String JavaDoc postLastEditIP = postCreationIP;
280                         int postEditCount = phpbbPost.getpost_edit_count();
281                         int postFormatOption = 0;
282                         int postOption = 0;
283                         int postStatus = 0;
284                         String JavaDoc postIcon = "";
285                         int postAttachCount = 0;
286
287                         PostType postType = categoryListDAO.getPostType(memberName, lastEditMemberName, postTopic,
288                                 postBody, postCreationDate, postLastEditDate, postCreationIP, postLastEditIP,
289                                 postEditCount, postFormatOption, postOption, postStatus, postIcon, postAttachCount,
290                                 attachmentList, categoryListDAO.getPortList());
291                         postLists.add(postType);
292                     }
293                     PostList postList = categoryListDAO.getPostList(postLists);
294                     ///////////////////////////
295

296                     //no information about favoriteThreadTypes in phpbb
297
Collection JavaDoc favoriteThreadTypes = new ArrayList JavaDoc();
298                     FavoriteThreadList favoriteThreadList = categoryListDAO.getFavoriteThreadList(favoriteThreadTypes);
299                     //////////////////////////
300

301                     //phpbb contains only thread_watch, category_watch and forum_watch can find out by thread_id
302
Collection JavaDoc threadWatchTypes = new ArrayList JavaDoc();
303                     Collection JavaDoc phpbbTopicWatchs = phpbbTopicsWatchDAO.getBeansByTopicID(threadID);
304                     for (Iterator JavaDoc topicWatchIter = phpbbTopicWatchs.iterator(); topicWatchIter.hasNext();) {
305                         PhpbbTopicsWatch phpbbTopicsWatch = (PhpbbTopicsWatch) topicWatchIter.next();
306                         int memberID = phpbbTopicsWatch.getuser_id();
307                         String JavaDoc memberName = phpbbUserDAO.getUserNameFromUserID(memberID);
308                         int watchType = 0;
309                         int watchOption = 0;
310                         int watchStatus = 0;
311                         String JavaDoc watchCreationDate = ImportExportUtil.dateTimeFormat(new Timestamp JavaDoc(0));
312                         String JavaDoc watchLastSentDate = watchCreationDate;
313                         String JavaDoc watchEndDate = watchCreationDate;
314
315                         ThreadWatchType threadWatchType = categoryListDAO.getThreadWatchType(memberName, watchType,
316                                 watchOption, watchStatus, watchCreationDate, watchLastSentDate, watchEndDate);
317                         threadWatchTypes.add(threadWatchType);
318                     }
319                     ThreadWatchList threadWatchList = categoryListDAO.getThreadWatchList(threadWatchTypes);
320
321                     int memberID = bean.gettopic_poster();
322                     String JavaDoc memberName = memberName = phpbbUserDAO.getUserNameFromUserID(memberID);
323
324                     String JavaDoc lastPostMemberName = lastPostMemberName = phpbbUserDAO.getUserNameFromUserID(memberID);
325                     String JavaDoc threadTopic = bean.gettopic_title();
326
327                     String JavaDoc threadBody = "";
328                     int first_post_id = bean.gettopic_first_post_id();
329                     try {
330                         threadBody = phpbbPostTextDAO.getPostTextFromPostID(first_post_id);
331                     } catch (ObjectNotFoundException oe) {
332                     }
333                     threadBody = ImportExportUtil.wrapit(ImportExportUtil.stripPHPBBQuotes(threadBody));
334
335                     int threadVoteCount = 0;
336                     int threadVoteTotalStars = 0;
337                     String JavaDoc threadCreationDate = ImportExportUtil.dateTimeFormat((int) bean.gettopic_time());
338
339                     String JavaDoc threadLastPostDate = ImportExportUtil.dateTimeFormat(new Timestamp JavaDoc(0));
340                     int last_post_id = bean.gettopic_last_post_id();
341                     try {
342                         threadLastPostDate = ImportExportUtil.dateTimeFormat(phpbbPostDAO
343                                 .getPostTimeFromPostID(last_post_id));
344                     } catch (ObjectNotFoundException oe) {
345                     }
346
347                     int threadType1 = 0;
348                     int threadOption = 0;
349                     int threadStatus = bean.gettopic_status();
350                     int threadHasPoll = bean.gettopic_vote();
351                     int threadViewCount = bean.gettopic_views();
352                     int threadReplyCount = bean.gettopic_replies();
353                     String JavaDoc threadIcon = "";
354                     int threadDuration = 0;
355                     //int threadAttachCount = 0;
356
ThreadType threadType = categoryListDAO.getThreadType(memberName, lastPostMemberName, threadTopic,
357                             threadBody, threadVoteCount, threadVoteTotalStars, threadCreationDate, threadLastPostDate,
358                             threadType1, threadOption, threadStatus, threadHasPoll, threadViewCount, threadReplyCount,
359                             threadIcon, threadDuration, threadWatchList, favoriteThreadList, postList);
360                     threadTypes.add(threadType);
361                 }
362                 ThreadList threadList = categoryListDAO.getThreadList(threadTypes);
363                 /////////////////////////////
364
//phpbb contains only threadWatch.
365
Collection JavaDoc forumWatchLists = new ArrayList JavaDoc();
366                 ForumWatchList forumWatchList = categoryListDAO.getForumWatchList(forumWatchLists);
367                 /////////////////////////////
368

369                 Collection JavaDoc groupForumPermissionTypes = new ArrayList JavaDoc();
370                 Collection JavaDoc phpbbAuthAccesses = phpbbAuthAccessDAO.getBeansByForumID(forumID);
371                 for (Iterator JavaDoc authIter = phpbbAuthAccesses.iterator(); authIter.hasNext(); ) {
372                     PhpbbAuthAccess phpbbAuthAccess = (PhpbbAuthAccess) authIter.next();
373                     
374                     int groupID = phpbbAuthAccess.getgroup_id();
375                     PhpbbGroup phpbbGroup = phpbbGroupDAO.getTruthGroup(groupID);
376                     if (phpbbGroup == null) continue;
377                     String JavaDoc groupName = phpbbGroup.getgroup_name();
378                     
379                     if (phpbbAuthAccess.getauth_mod() == 1) {
380                         GroupForumPermissionType groupForumPermissionType = categoryListDAO.getGroupForumPermissionType(groupName, 106);
381                         groupForumPermissionTypes.add(groupForumPermissionType);
382                     }
383                     
384                     if (phpbbAuthAccess.getauth_edit() == 1) {
385                         GroupForumPermissionType groupForumPermissionType = categoryListDAO.getGroupForumPermissionType(groupName, 2000);
386                         GroupForumPermissionType groupForumPermissionType1 = categoryListDAO.getGroupForumPermissionType(groupName, 2103);
387                         groupForumPermissionTypes.add(groupForumPermissionType);
388                         groupForumPermissionTypes.add(groupForumPermissionType1);
389                     }
390                     
391                     if (phpbbAuthAccess.getauth_delete() == 1) {
392                         GroupForumPermissionType groupForumPermissionType = categoryListDAO.getGroupForumPermissionType(groupName, 2001);
393                         GroupForumPermissionType groupForumPermissionType1 = categoryListDAO.getGroupForumPermissionType(groupName, 2104);
394                         groupForumPermissionTypes.add(groupForumPermissionType);
395                         groupForumPermissionTypes.add(groupForumPermissionType1);
396                     }
397                     
398                     if (phpbbAuthAccess.getauth_pollcreate() == 1) {
399                         GroupForumPermissionType groupForumPermissionType = categoryListDAO.getGroupForumPermissionType(groupName, 2105);
400                         GroupForumPermissionType groupForumPermissionType1 = categoryListDAO.getGroupForumPermissionType(groupName, 2106);
401                         GroupForumPermissionType groupForumPermissionType2 = categoryListDAO.getGroupForumPermissionType(groupName, 2107);
402                         groupForumPermissionTypes.add(groupForumPermissionType);
403                         groupForumPermissionTypes.add(groupForumPermissionType1);
404                         groupForumPermissionTypes.add(groupForumPermissionType2);
405                     }
406                     
407                     if (phpbbAuthAccess.getauth_attachments() == 1) {
408                         GroupForumPermissionType groupForumPermissionType = categoryListDAO.getGroupForumPermissionType(groupName, 2109);
409                         GroupForumPermissionType groupForumPermissionType1 = categoryListDAO.getGroupForumPermissionType(groupName, 2108);
410                         groupForumPermissionTypes.add(groupForumPermissionType);
411                         groupForumPermissionTypes.add(groupForumPermissionType1);
412                     }
413                     
414                     /*GroupForumPermissionType groupForumPermissionType = categoryListDAO.getGroupForumPermissionType("Administrator", 12);
415                     groupForumPermissionTypes.add(groupForumPermissionType);*/

416                 }
417                 
418                 GroupForumPermissionList groupForumPermissionList = categoryListDAO
419                         .getGroupForumPermissionList(groupForumPermissionTypes);
420                 /////////////////////////////
421
Collection JavaDoc memberForumPermissionTypes = new ArrayList JavaDoc();
422                 /*MemberForumPermissionType memberForumPermissionType = categoryListDAO.getMemberForumPermissionType("admin", 12);
423                  memberForumPermissionTypes.add(memberForumPermissionType);*/

424                 MemberForumPermissionList memberForumPermissionList = categoryListDAO
425                         .getMemberForumPermissionList(memberForumPermissionTypes);
426                 /////////////////////////////
427
//int categoryID = phpbbForum.getcat_id();
428
int last_post_id = phpbbForum.getforum_last_post_id();
429                 if (last_post_id == 0) {
430                     continue;
431                 }
432                 String JavaDoc lastPostMemberName = phpbbUserDAO.getUserNameFromUserID(phpbbPostDAO
433                         .getPosterIDFromPostID(last_post_id));
434                 /*if (last_post_id == PHPBB_ADMIN_ID) {
435                     lastPostMemberName = "Admin";
436                 } else {
437                     if (last_post_id == PHPBB_GUEST_ID) {
438                         lastPostMemberName = "Guest";
439                     } else {
440                         lastPostMemberName = phpbbUserDAO.getUserNameFromUserID(phpbbPostDAO
441                                 .getPosterIDFromPostID(last_post_id));
442                     }
443                 }*/

444                 String JavaDoc forumName = phpbbForum.getforum_name();
445                 String JavaDoc forumDesc = phpbbForum.getforum_desc();
446                 String JavaDoc forumCreationDate = ImportExportUtil.dateTimeFormat(new Timestamp JavaDoc(0));
447                 String JavaDoc forumModifiedDate = forumCreationDate;
448                 String JavaDoc forumLastPostDate = forumCreationDate;
449                 int forumOrder = phpbbForum.getforum_order();
450                 //int forumType1 = 0;
451
int forumFormatOption = 0;
452                 int forumOption = 0;
453                 int forumStatus = phpbbForum.getforum_status();
454                 int forumModerationMode = 0;
455                 String JavaDoc forumPassword = "";
456                 int forumThreadCount = phpbbForum.getforum_topics();
457                 int forumPostCount = phpbbForum.getforum_posts();
458
459                 ForumType forumType = categoryListDAO.getForumType(lastPostMemberName, forumName, forumDesc,
460                         forumCreationDate, forumModifiedDate, forumLastPostDate, forumOrder, forumFormatOption,
461                         forumOption, forumStatus, forumModerationMode, forumPassword, forumThreadCount, forumPostCount,
462                         memberForumPermissionList, groupForumPermissionList, forumWatchList, threadList);
463                 forumTypes.add(forumType);
464
465             }
466
467             ForumList forumList = categoryListDAO.getForumList(forumTypes);
468             ///////////////////////////////////////////
469
Collection JavaDoc categoryWatchs = new ArrayList JavaDoc();
470             //categoryWatchs.add("CategoryWatchList");
471
CategoryWatchList categoryWatchList = categoryListDAO.getCategoryWatchList(categoryWatchs);
472             ///////////////////////////////////////////
473
//int parentCategoryID = 0;
474
String JavaDoc categoryName = phpbbCategories.getCatTitle();
475             String JavaDoc categoryDesc = "";
476             String JavaDoc categoryCreationDate = ImportExportUtil.dateTimeFormat(new Timestamp JavaDoc(0));
477             String JavaDoc categoryModifiedDate = categoryCreationDate;
478             int categoryOrder = phpbbCategories.getCatOrder();
479             int categoryOption = 0;
480             int categoryStatus = 0;
481
482             CategoryType categoryType = categoryListDAO.getCategoryType(categoryName, categoryDesc,
483                     categoryCreationDate, categoryModifiedDate, categoryOrder, categoryOption, categoryStatus,
484                     categoryWatchList, forumList, categoryListDAO.getCategoryListType());
485             categoryTypes.add(categoryType);
486         }
487         CategoryListType categoryListType = categoryListDAO.getCategoryListType(categoryTypes);
488
489         mvnforum.setCategoryList(categoryListType);
490     }
491
492     public void exportMemberList()
493         throws DatabaseException, JAXBException, ObjectNotFoundException {
494         PhpbbUserDAO phpbbUserDAO = factory.getPhpUserDAO();
495         PhpbbPrivmMsgsDAO phpbbPrivmMsgsDAO = factory.getPhpbbPrivmMsgsDAO();
496         PhpbbTopicsWatchDAO phpbbTopicsWatchDAO = factory.getPhpbbTopicsWatchDAO();
497         PhpbbPrivmMsgsTextDAO phpbbPrivmMsgsTextDAO = factory.getPhpbbPrivmMsgsTextDAO();
498
499         MemberListDAO memberDAO = new MemberListDAO();
500
501         Collection JavaDoc phpbbUserBeans = phpbbUserDAO.getBeans();
502         Collection JavaDoc memberTypes = new ArrayList JavaDoc();
503
504         for (Iterator JavaDoc iter = phpbbUserBeans.iterator(); iter.hasNext();) {
505             PhpbbUsers bean = (PhpbbUsers) iter.next();
506             int memberID = bean.getUserId();
507             String JavaDoc memberName = bean.getUsername();
508             ////////////////////////////////
509
Collection JavaDoc globalWatchLists = new ArrayList JavaDoc();
510             Collection JavaDoc phpbbTopicWatchs = phpbbTopicsWatchDAO.getBeans(memberID, 0);
511             for (Iterator JavaDoc topicWatchIter = phpbbTopicWatchs.iterator(); topicWatchIter.hasNext();) {
512                 int watchType = 0;
513                 int watchOption = 0;
514                 int watchStatus = 0;
515                 String JavaDoc watchCreationDate = ImportExportUtil.dateTimeFormat(new Timestamp JavaDoc(0));
516                 String JavaDoc watchLastSentDate = watchCreationDate;
517                 String JavaDoc watchEndDate = watchCreationDate;
518
519                 GlobalWatchType globalWatchType = memberDAO.getGlobalWatchType(watchType, watchOption, watchStatus,
520                         watchCreationDate, watchLastSentDate, watchEndDate);
521                 globalWatchLists.add(globalWatchType);
522             }
523             GlobalWatchList globalWatchList = memberDAO.getGlobalWatchList(globalWatchLists);
524             ////////////////////////////////
525
Collection JavaDoc messageFolders = new ArrayList JavaDoc();
526             //phpbb don't allow user create new message folder, so every user has 4 message folder Inbox, Sent, Out,
527
//Save
528

529             //Inbox contains message receive, don't save
530
String JavaDoc folderCreationDate = ImportExportUtil.dateTimeFormat(new Timestamp JavaDoc(0));
531             String JavaDoc folderModifiedDate = folderCreationDate;
532
533             Collection JavaDoc messageTypesInSaveBox = new ArrayList JavaDoc();
534             Collection JavaDoc saveBoxMessages = phpbbPrivmMsgsDAO.getBeansByType(3, memberID);
535             for (Iterator JavaDoc receiveIter = saveBoxMessages.iterator(); receiveIter.hasNext();) {
536                 PhpbbPrivmMsgs phpbbPrivmMsgs = (PhpbbPrivmMsgs) receiveIter.next();
537                 int messageID = phpbbPrivmMsgs.getprivmsgs_id();
538                 int receiverID = phpbbPrivmMsgs.getprivmsgs_from_userid();
539                 String JavaDoc messageSenderName = phpbbUserDAO.getUserNameFromUserID(receiverID);
540                 String JavaDoc messageToList = memberName;
541                 String JavaDoc folderName = "SaveBox";
542                 String JavaDoc messageCcList = "";
543                 String JavaDoc messageBccList = "";
544                 String JavaDoc messageTopic = Utils.wrapit(phpbbPrivmMsgs.getprivmsgs_subject());
545                 String JavaDoc messageBody = Utils.wrapit(phpbbPrivmMsgsTextDAO.getBean(messageID).getprivmsgs_text());
546                 int messageType = 0;
547                 int messageOption = 0;
548                 int messageStatus = 0;
549                 int messageReadStatus = 1;
550                 int messageNotify = 0;
551                 String JavaDoc messageIcon = "";
552                 int messageAttachCount = 0;
553                 String JavaDoc messageIP = Utils.wrapit(Utils.HexIPtoString(phpbbPrivmMsgs.getprivmsgs_ip()));
554                 String JavaDoc messageCreationDate = ImportExportUtil.dateTimeFormat(phpbbPrivmMsgs.getprivmsgs_date());
555
556                 MessageType messageType2 = memberDAO.getMessageType(folderName, messageSenderName, messageToList,
557                         messageCcList, messageBccList, messageTopic, messageBody, messageType, messageOption,
558                         messageStatus, messageReadStatus, messageNotify, messageIcon, messageAttachCount, messageIP,
559                         messageCreationDate);
560                 messageTypesInSaveBox.add(messageType2);
561             }
562             MessageList messageListInSaveBox = memberDAO.getMessageList(messageTypesInSaveBox);
563
564             MessageFolderType inboxFolder = memberDAO.getMessageFolderType("SaveBox", 0, folderCreationDate,
565                     folderModifiedDate, messageListInSaveBox);
566             messageFolders.add(inboxFolder);
567
568             //SentBox contains all of messages has type = 2. Sent box contains messages you sent to your contact and he
569
//has read it
570
Collection JavaDoc messageTypesInSentBox = new ArrayList JavaDoc();
571             Collection JavaDoc sentBoxMessages = phpbbPrivmMsgsDAO.getBeansByTypeAndReceiveUser(2, memberID);
572             for (Iterator JavaDoc receiveIter = sentBoxMessages.iterator(); receiveIter.hasNext();) {
573                 PhpbbPrivmMsgs phpbbPrivmMsgs = (PhpbbPrivmMsgs) receiveIter.next();
574                 int messageID = phpbbPrivmMsgs.getprivmsgs_id();
575                 String JavaDoc folderName = "SentBox";
576                 String JavaDoc messageSenderName = memberName;
577                 int receiverID = phpbbPrivmMsgs.getprivmsgs_from_userid();
578                 String JavaDoc messageToList = phpbbUserDAO.getUserNameFromUserID(receiverID);
579                 String JavaDoc messageCcList = "";
580                 String JavaDoc messageBccList = "";
581                 String JavaDoc messageTopic = Utils.wrapit(phpbbPrivmMsgs.getprivmsgs_subject());
582                 String JavaDoc messageBody = Utils.wrapit(phpbbPrivmMsgsTextDAO.getBean(messageID).getprivmsgs_text());
583                 int messageType = 0;
584                 int messageOption = 0;
585                 int messageStatus = 0;
586                 int messageReadStatus = 1;
587                 int messageNotify = 0;
588                 String JavaDoc messageIcon = "";
589                 int messageAttachCount = 0;
590                 String JavaDoc messageIP = Utils.wrapit(Utils.HexIPtoString(phpbbPrivmMsgs.getprivmsgs_ip()));
591                 String JavaDoc messageCreationDate = ImportExportUtil.dateTimeFormat(phpbbPrivmMsgs.getprivmsgs_date());
592
593                 MessageType messageType2 = memberDAO.getMessageType(folderName, messageSenderName, messageToList,
594                         messageCcList, messageBccList, messageTopic, messageBody, messageType, messageOption,
595                         messageStatus, messageReadStatus, messageNotify, messageIcon, messageAttachCount, messageIP,
596                         messageCreationDate);
597                 messageTypesInSentBox.add(messageType2);
598             }
599             MessageList messageListInSentBox = memberDAO.getMessageList(messageTypesInSentBox);
600             //SentBox contains message you sent and your contact has read it.
601
MessageFolderType sendFolder = memberDAO.getMessageFolderType("SentBox", 1, folderCreationDate,
602                     folderModifiedDate, messageListInSentBox);
603             messageFolders.add(sendFolder);
604
605             Collection JavaDoc messageTypesInOutBox = new ArrayList JavaDoc();
606             //OutBox contains all of messages has type = 1 or 5. OutBox contains messages you sent to your contact, and
607
//your contact hasn't read it.
608
Collection JavaDoc outBoxMessage = phpbbPrivmMsgsDAO.getBeansByTypeAndReceiveUser(1, memberID);
609             Collection JavaDoc outBoxMessage1 = phpbbPrivmMsgsDAO.getBeansByTypeAndReceiveUser(5, memberID);
610
611             for (Iterator JavaDoc iter1 = outBoxMessage1.iterator(); iter1.hasNext();) {
612                 outBoxMessage.add(iter1.next());
613             }
614
615             for (Iterator JavaDoc receiveIter = outBoxMessage.iterator(); receiveIter.hasNext();) {
616                 PhpbbPrivmMsgs phpbbPrivmMsgs = (PhpbbPrivmMsgs) receiveIter.next();
617                 int messageID = phpbbPrivmMsgs.getprivmsgs_id();
618                 String JavaDoc folderName = "OutBox";
619                 String JavaDoc messageSenderName = memberName;
620                 int receiverID = phpbbPrivmMsgs.getprivmsgs_from_userid();
621                 String JavaDoc messageToList = phpbbUserDAO.getUserNameFromUserID(receiverID);
622                 String JavaDoc messageCcList = "";
623                 String JavaDoc messageBccList = "";
624                 String JavaDoc messageTopic = Utils.wrapit(phpbbPrivmMsgs.getprivmsgs_subject());
625                 String JavaDoc messageBody = Utils.wrapit(phpbbPrivmMsgsTextDAO.getBean(messageID).getprivmsgs_text());
626                 int messageType = 0;
627                 int messageOption = 0;
628                 int messageStatus = 0;
629                 int messageReadStatus = 0;
630                 int messageNotify = 0;
631                 String JavaDoc messageIcon = "";
632                 int messageAttachCount = 0;
633                 String JavaDoc messageIP = Utils.wrapit(Utils.HexIPtoString(phpbbPrivmMsgs.getprivmsgs_ip()));
634                 String JavaDoc messageCreationDate = ImportExportUtil.dateTimeFormat(phpbbPrivmMsgs.getprivmsgs_date());
635
636                 MessageType messageType2 = memberDAO.getMessageType(folderName, messageSenderName, messageToList,
637                         messageCcList, messageBccList, messageTopic, messageBody, messageType, messageOption,
638                         messageStatus, messageReadStatus, messageNotify, messageIcon, messageAttachCount, messageIP,
639                         messageCreationDate);
640                 messageTypesInOutBox.add(messageType2);
641             }
642             MessageList messageListInOutBox = memberDAO.getMessageList(messageTypesInOutBox);
643             //Out box contains message sent so outBox Order must be 2
644
MessageFolderType draftFolder = memberDAO.getMessageFolderType("OutBox", 2, folderCreationDate,
645                     folderModifiedDate, messageListInOutBox);
646             messageFolders.add(draftFolder);
647
648             Collection JavaDoc messageTypesInInBox = new ArrayList JavaDoc();
649             //InBox contains all of messages has type = 1 or 5 or 0
650
Collection JavaDoc inBoxMessage = phpbbPrivmMsgsDAO.getBeansByType(1, memberID);
651             Collection JavaDoc inboxMessage1 = phpbbPrivmMsgsDAO.getBeansByType(5, memberID);
652             Collection JavaDoc inboxMessage2 = phpbbPrivmMsgsDAO.getBeansByType(0, memberID);
653
654             for (Iterator JavaDoc iter1 = inboxMessage1.iterator(); iter1.hasNext();) {
655                 inBoxMessage.add(iter1.next());
656             }
657
658             for (Iterator JavaDoc iter1 = inboxMessage2.iterator(); iter1.hasNext();) {
659                 inBoxMessage.add(iter1.next());
660             }
661
662             outBoxMessage.add(phpbbPrivmMsgsDAO.getBeansByType(5, memberID));
663             outBoxMessage.add(phpbbPrivmMsgsDAO.getBeansByType(0, memberID));
664             for (Iterator JavaDoc receiveIter = inBoxMessage.iterator(); receiveIter.hasNext();) {
665                 PhpbbPrivmMsgs phpbbPrivmMsgs = (PhpbbPrivmMsgs) receiveIter.next();
666                 int messageID = phpbbPrivmMsgs.getprivmsgs_id();
667                 String JavaDoc folderName = "InBox";
668                 int receiverID = phpbbPrivmMsgs.getprivmsgs_from_userid();
669                 String JavaDoc messageSenderName = phpbbUserDAO.getUserNameFromUserID(receiverID);
670                 String JavaDoc messageToList = memberName;
671                 String JavaDoc messageCcList = "";
672                 String JavaDoc messageBccList = "";
673                 String JavaDoc messageTopic = Utils.wrapit(phpbbPrivmMsgs.getprivmsgs_subject());
674                 String JavaDoc messageBody = Utils.wrapit(phpbbPrivmMsgsTextDAO.getBean(messageID).getprivmsgs_text());
675                 int messageType = 0;
676                 int messageOption = 0;
677                 int messageStatus = 0;
678                 int messageRead = phpbbPrivmMsgs.getprivmsgs_type();
679                 int messageReadStatus = (messageRead == 5) || (messageRead == 1) ? 0 : 1;
680                 int messageNotify = 0;
681                 String JavaDoc messageIcon = "";
682                 int messageAttachCount = 0;
683                 String JavaDoc messageIP = Utils.wrapit(Utils.HexIPtoString(phpbbPrivmMsgs.getprivmsgs_ip()));
684                 String JavaDoc messageCreationDate = ImportExportUtil.dateTimeFormat(phpbbPrivmMsgs.getprivmsgs_date());
685
686                 MessageType messageType2 = memberDAO.getMessageType(folderName, messageSenderName, messageToList,
687                         messageCcList, messageBccList, messageTopic, messageBody, messageType, messageOption,
688                         messageStatus, messageReadStatus, messageNotify, messageIcon, messageAttachCount, messageIP,
689                         messageCreationDate);
690                 messageTypesInInBox.add(messageType2);
691             }
692             MessageList messageListInInBox = memberDAO.getMessageList(messageTypesInInBox);
693             //SaveBox contains message save
694
MessageFolderType trashFolder = memberDAO.getMessageFolderType("InBox", 3, folderCreationDate,
695                     folderModifiedDate, messageListInInBox);
696             messageFolders.add(trashFolder);
697
698             MessageFolderList messageFolderList = memberDAO.getMessageFolderList(messageFolders);
699             ////////////////////////////////
700
Collection JavaDoc globalPermissionLists = new ArrayList JavaDoc();
701             int userLevel = bean.getUserLevel();
702             //if user is admin user
703
if (userLevel == 1) {
704                 globalPermissionLists.add(new Integer JavaDoc(100));
705             }
706             if (userLevel == 2) {
707                 globalPermissionLists.add(new Integer JavaDoc(106));
708             }
709             GlobalPermissionList globalPermissionList = memberDAO.getGlobalPermissionList(globalPermissionLists);
710             ////////////////////////////////
711

712             String JavaDoc memberPassword = bean.getUserPassword();
713             if (!memberPassword.equals("")) {
714                 memberPassword = ImportExportUtil.wrapit(MD5.getBase64FromMD5(memberPassword));
715             }
716             String JavaDoc memberFirstEmail = ImportExportUtil.wrapit(bean.getUserEmail());
717             String JavaDoc memberEmail = memberFirstEmail;
718
719             int memberEmailVisible = bean.getUserViewemail();
720             // Keep name invisible (no equivalent in phpbb)
721
int memberNameVisible = 0;
722             String JavaDoc memberFirstIP = "0.0.0.0";
723             String JavaDoc memberLastIP = "0.0.0.0";
724             int memberViewCount = 0;
725             int memberPostCount = bean.getUserPosts();
726             String JavaDoc memberCreationDate = ImportExportUtil.dateTimeFormat(bean.getUserRegdate());
727             String JavaDoc memberModifiedDate = memberCreationDate;
728             String JavaDoc memberExpireDate = memberCreationDate;
729             String JavaDoc memberLastLogon = ImportExportUtil.dateTimeFormat(bean.getUserLastvisit());
730             int memberOption = 0;
731             int memberStatus = 0;
732             String JavaDoc memberActivateCode = "";
733             String JavaDoc memberTempPassword = "";
734             int memberMessageCount = 0;
735             int memberMessageOption = 0;
736             int memberPostsPerPage = 10; //Default by mvnForum.
737
int memberWarnCount = 0;
738             int memberVoteCount = 0;
739             int memberVoteTotalStars = 0;
740             int memberRewardPoints = 0;
741             String JavaDoc memberTitle = "";
742
743             double tzone = bean.getUserTimezone().doubleValue();
744
745             String JavaDoc memberSignature = ImportExportUtil.wrapit(bean.getUserSig());
746             String JavaDoc memberAvatar = ImportExportUtil.wrapit(bean.getUserAvatar());
747             String JavaDoc memberSkin = "";
748             //replace default language
749

750             //String memberLanguage = bean.getUserLang();
751
String JavaDoc memberLanguage = "en";
752
753             //PHPBB does not store names
754
String JavaDoc memberFirstname = memberName;
755             //because mvnforum doesn't allow empty name
756
String JavaDoc memberLastname = "";
757
758             //PHPBB does not store gender. This can be an issue. Everyone will be made a female
759
int memberGender = 0;
760             String JavaDoc memberBirthday = ImportExportUtil.dateTimeFormat(new Timestamp JavaDoc(0));
761             String JavaDoc memberAddress = bean.getUserFrom();
762             String JavaDoc memberCity = "";
763             String JavaDoc memberState = "";
764             String JavaDoc memberCountry = "";
765             String JavaDoc memberPhone = "";
766             String JavaDoc memberMobile = "";
767             String JavaDoc memberFax = "";
768             String JavaDoc memberCareer = ImportExportUtil.wrapit(bean.getUserOcc());
769             String JavaDoc memberHomepage = ImportExportUtil.wrapit(bean.getUserWebsite());
770             String JavaDoc memberYahoo = ImportExportUtil.wrapit(bean.getUserYim());
771             String JavaDoc memberAol = ImportExportUtil.wrapit(bean.getUserAim());
772             String JavaDoc memberIcq = "";
773             String JavaDoc memberMsn = ImportExportUtil.wrapit(bean.getUserMsnm());
774             // No interests collumn in MvnForum. We will just put the interests in CoolLink1 so that
775
// no data is lost.
776
String JavaDoc memberCoolLink1 = ImportExportUtil.wrapit(bean.getUserInterests());
777             String JavaDoc memberCoolLink2 = "";
778
779             MemberType memberType = memberDAO.getMemberList(memberName, memberPassword, memberFirstEmail, memberEmail,
780                     memberEmailVisible, memberNameVisible, memberFirstIP, memberLastIP, memberViewCount,
781                     memberPostCount, memberCreationDate, memberModifiedDate, memberExpireDate, memberLastLogon,
782                     memberOption, memberStatus, memberActivateCode, memberTempPassword, memberMessageCount,
783                     memberMessageOption, memberPostsPerPage, memberWarnCount, memberVoteCount, memberVoteTotalStars,
784                     memberRewardPoints, memberTitle, tzone, memberSignature, memberAvatar, memberSkin, memberLanguage,
785                     memberFirstname, memberLastname, memberGender, memberBirthday, memberAddress, memberCity,
786                     memberState, memberCountry, memberPhone, memberMobile, memberFax, memberCareer, memberHomepage,
787                     memberYahoo, memberAol, memberIcq, memberMsn, memberCoolLink1, memberCoolLink2,
788                     globalPermissionList, messageFolderList, globalWatchList);
789
790             memberTypes.add(memberType);
791         }
792         MemberListType memberListType = memberDAO.getMemberListType(memberTypes);
793         mvnforum.setMemberList(memberListType);
794     }
795
796     public void importRank()
797         throws JAXBException, CreateException, DatabaseException, DuplicateKeyException {
798         RankListDAO rankListDAO = new RankListDAO();
799         RankDAO rankDAO = factory.getRankDAO();
800         List JavaDoc rankTypes = rankListDAO.importRankType();
801         for (int i = 0; i < rankTypes.size(); i++) {
802             RankType rankType = (RankType) rankTypes.get(i);
803
804             int rankMinPosts = rankType.getRankMinPosts();
805             int rankLevel = rankType.getRankLevel();
806             String JavaDoc rankTitle = rankType.getRankTitle();
807             String JavaDoc rankImage = rankType.getRankImage();
808             int rankType1 = rankType.getRankType();
809             int rankOption = rankType.getRankOption();
810
811             rankDAO.create(rankMinPosts, rankLevel, rankTitle, rankImage, rankType1, rankOption);
812         }
813     }
814
815     public void importGroup()
816         throws JAXBException, CreateException, DatabaseException, DuplicateKeyException, ForeignKeyNotFoundException,
817         ParseException JavaDoc, ObjectNotFoundException {
818         GroupListDAO groupListDAO = new GroupListDAO();
819         GroupsDAO groupsDAO = factory.getGroupsDAO();
820         GroupPermissionDAO groupPermissionDAO = factory.getGroupPermissionDAO();
821         List JavaDoc groupTypes = groupListDAO.importGroupTypes();
822
823         for (int i = 0; i < groupTypes.size(); i++) {
824             GroupType groupType = (GroupType) groupTypes.get(i);
825
826             String JavaDoc groupName = groupType.getGroupName();
827             String JavaDoc groupDesc = groupType.getGroupDesc();
828             int groupOption = groupType.getGroupOption();
829             String JavaDoc groupOwnerName = groupType.getGroupOwnerName();
830             Timestamp JavaDoc groupCreationDate = ImportExportUtil.string2TimeStamp(groupType.getGroupCreationDate());
831             Timestamp JavaDoc groupModifiedDate = ImportExportUtil.string2TimeStamp(groupType.getGroupModifiedDate());
832
833             if (groupName.equalsIgnoreCase("Anonymous")) {
834                 groupsDAO.update(1, groupName, groupDesc, groupModifiedDate);
835                 groupsDAO.updateOwner(1, groupOwnerName, groupModifiedDate);
836             } else if (groupName.equalsIgnoreCase("Admin")) {
837                 groupsDAO.update(2, groupName, groupDesc, groupModifiedDate);
838                 groupsDAO.updateOwner(2, groupOwnerName, groupModifiedDate);
839             } else {
840                 groupsDAO.create(groupOwnerName, groupName, groupDesc, groupOption, groupCreationDate,
841                         groupModifiedDate);
842             }
843             int groupID = groupsDAO.getGroupIDFromGroupName(groupName);
844             //import to global permission:
845
GlobalPermissionList globalPermissionList = groupType.getGlobalPermissionList();
846             List JavaDoc globalPermissionLists = globalPermissionList.getGlobalPermission();
847             for (int j = 0; j < globalPermissionLists.size(); j++) {
848                 groupPermissionDAO.create(groupID, ((Integer JavaDoc) globalPermissionLists.get(j)).intValue());
849             }
850         }
851     }
852
853     public void importMember()
854         throws JAXBException, ParseException JavaDoc, CreateException, DatabaseException, DuplicateKeyException,
855         ObjectNotFoundException, ForeignKeyNotFoundException {
856         MemberListDAO memberListDAO = new MemberListDAO();
857         MemberDAO memberDAO = factory.getMemberDAO();
858         MessageFolderDAO messageFolderDAO = factory.getMessageFolderDAO();
859         MemberPermissionDAO memberPermissionDAO = factory.getMemberPermissionDAO();
860         MessageDAO messageDAO = factory.getMessageDAO();
861         WatchDAO watchDAO = factory.getWatchDAO();
862
863         List JavaDoc memeberTypes = memberListDAO.importMemberList();
864
865         for (int i = 0; i < memeberTypes.size(); i++) {
866             MemberType memberType = (MemberType) memeberTypes.get(i);
867
868             String JavaDoc memberName = memberType.getMemberName();
869             System.out.println("memberName " + memberName);
870             String JavaDoc memberPassword = memberType.getMemberPassword().trim();
871             /*System.out.println("memberpassword " + memberPassword);
872              if (!memberPassword.equals(""))
873              memberPassword = Utils.wrapit(MD5.getBase64FromMD5(memberPassword));*/

874             String JavaDoc memberFirstEmail = memberType.getMemberFirstEmail();
875             String JavaDoc memberEmail = memberType.getMemberEmail();
876
877             int memberEmailVisible = memberType.getMemberEmailVisible();
878             int memberNameVisible = memberType.getMemberNameVisible();
879             String JavaDoc memberFirstIP = memberType.getMemberFirstIP();
880             String JavaDoc memberLastIP = memberType.getMemberLastIP();
881             int memberViewCount = memberType.getMemberViewCount();
882             int memberPostCount = memberType.getMemberPostCount();
883             Timestamp JavaDoc memberCreationDate = ImportExportUtil.string2TimeStamp(memberType.getMemberCreationDate());
884             Timestamp JavaDoc memberModifiedDate = ImportExportUtil.string2TimeStamp(memberType.getMemberModifiedDate());
885             Timestamp JavaDoc memberExpireDate = ImportExportUtil.string2TimeStamp(memberType.getMemberExpireDate());
886             Timestamp JavaDoc memberLastLogon = ImportExportUtil.string2TimeStamp(memberType.getMemberLastLogon());
887             int memberOption = memberType.getMemberOption();
888             int memberStatus = memberType.getMemberStatus();
889             String JavaDoc memberActivateCode = memberType.getMemberActivateCode();
890             String JavaDoc memberTempPassword = memberType.getMemberTempPassword();
891             int memberMessageCount = memberType.getMemberMessageCount();
892             int memberMessageOption = memberType.getMemberMessageOption();
893             int memberPostsPerPage = memberType.getMemberPostsPerPage();
894             int memberWarnCount = memberType.getMemberWarnCount();
895             int memberVoteCount = memberType.getMemberVoteCount();
896             int memberVoteTotalStars = memberType.getMemberVoteTotalStars();
897             int memberRewardPoints = memberType.getMemberRewardPoints();
898             String JavaDoc memberTitle = memberType.getMemberTitle();
899
900             double tzone = memberType.getMemberTimeZone();
901
902             String JavaDoc memberSignature = memberType.getMemberSignature();
903             String JavaDoc memberAvatar = memberType.getMemberAvatar();
904             String JavaDoc memberSkin = memberType.getMemberSkin();
905             String JavaDoc memberLanguage = memberType.getMemberLanguage();
906             String JavaDoc memberFirstname = memberType.getMemberFirstname();
907             String JavaDoc memberLastname = memberType.getMemberLastname();
908
909             int memberGender = memberType.getMemberGender();
910             Date JavaDoc memberBirthday = ImportExportUtil.string2Date(memberType.getMemberBirthday());
911             String JavaDoc memberAddress = memberType.getMemberAddress();
912             String JavaDoc memberCity = memberType.getMemberCity();
913             String JavaDoc memberState = memberType.getMemberState();
914             String JavaDoc memberCountry = memberType.getMemberCountry();
915             String JavaDoc memberPhone = memberType.getMemberPhone();
916             String JavaDoc memberMobile = memberType.getMemberMobile();
917             String JavaDoc memberFax = memberType.getMemberFax();
918             String JavaDoc memberCareer = memberType.getMemberCareer();
919             String JavaDoc memberHomepage = memberType.getMemberHomepage();
920             String JavaDoc memberYahoo = memberType.getMemberYahoo();
921             String JavaDoc memberAol = memberType.getMemberAol();
922             String JavaDoc memberIcq = memberType.getMemberIcq();
923             String JavaDoc memberMsn = memberType.getMemberMsn();
924             String JavaDoc memberCoolLink1 = memberType.getMemberCoolLink1();
925             String JavaDoc memberCoolLink2 = memberType.getMemberCoolLink2();
926
927             if (memberName.equalsIgnoreCase("admin")) {
928                 memberDAO.update(ADMIN_ID, memberName, memberPassword, memberFirstEmail, memberEmail,
929                         memberEmailVisible, memberNameVisible, memberFirstIP, memberLastIP, memberViewCount,
930                         memberPostCount, memberCreationDate, memberModifiedDate, memberExpireDate, memberLastLogon,
931                         memberOption, memberStatus, memberActivateCode, memberTempPassword, memberMessageCount,
932                         memberMessageOption, memberPostsPerPage, memberWarnCount, memberVoteCount,
933                         memberVoteTotalStars, memberRewardPoints, memberTitle, tzone, memberSignature, memberAvatar,
934                         memberSkin, memberLanguage, memberFirstname, memberLastname, memberGender, memberBirthday,
935                         memberAddress, memberCity, memberState, memberCountry, memberPhone, memberMobile, memberFax,
936                         memberCareer, memberHomepage, memberYahoo, memberAol, memberIcq, memberMsn, memberCoolLink1,
937                         memberCoolLink2);
938             } else {
939                 if (memberName.equalsIgnoreCase("Anonymous")) {
940                     memberDAO.create(GUEST_ID, memberName, memberPassword, memberFirstEmail, memberEmail,
941                             memberEmailVisible, memberNameVisible, memberFirstIP, memberLastIP, memberViewCount,
942                             memberPostCount, memberCreationDate, memberModifiedDate, memberExpireDate, memberLastLogon,
943                             memberOption, memberStatus, memberActivateCode, memberTempPassword, memberMessageCount,
944                             memberMessageOption, memberPostsPerPage, memberWarnCount, memberVoteCount,
945                             memberVoteTotalStars, memberRewardPoints, memberTitle, tzone, memberSignature,
946                             memberAvatar, memberSkin, memberLanguage, memberFirstname, memberLastname, memberGender,
947                             memberBirthday, memberAddress, memberCity, memberState, memberCountry, memberPhone,
948                             memberMobile, memberFax, memberCareer, memberHomepage, memberYahoo, memberAol, memberIcq,
949                             memberMsn, memberCoolLink1, memberCoolLink2);
950                 } else {
951                     memberDAO.create(memberName, memberPassword, memberFirstEmail, memberEmail, memberEmailVisible,
952                             memberNameVisible, memberFirstIP, memberLastIP, memberViewCount, memberPostCount,
953                             memberCreationDate, memberModifiedDate, memberExpireDate, memberLastLogon, memberOption,
954                             memberStatus, memberActivateCode, memberTempPassword, memberMessageCount,
955                             memberMessageOption, memberPostsPerPage, memberWarnCount, memberVoteCount,
956                             memberVoteTotalStars, memberRewardPoints, memberTitle, tzone, memberSignature,
957                             memberAvatar, memberSkin, memberLanguage, memberFirstname, memberLastname, memberGender,
958                             memberBirthday, memberAddress, memberCity, memberState, memberCountry, memberPhone,
959                             memberMobile, memberFax, memberCareer, memberHomepage, memberYahoo, memberAol, memberIcq,
960                             memberMsn, memberCoolLink1, memberCoolLink2);
961                 }
962             }
963         }
964         
965         for (int i = 0; i < memeberTypes.size(); i++) {
966             MemberType memberType = (MemberType) memeberTypes.get(i);
967             String JavaDoc memberName = memberType.getMemberName();
968
969             int memberID = memberDAO.getMemberFromMemberName(memberName).getMemberID();
970             List JavaDoc messageFolderTypes = memberType.getMessageFolderList().getMessageFolder();
971             for (int j = 0; j < messageFolderTypes.size(); j++) {
972                 MessageFolderType messageFolderType = (MessageFolderType) messageFolderTypes.get(j);
973
974                 String JavaDoc folderName = messageFolderType.getFolderName();
975                 int folderOrder = messageFolderType.getFolderOrder();
976                 int folderStatus = 0;
977                 int folderType = 0;
978                 int folderOption = 0;
979                 Timestamp JavaDoc folderCreationDate = ImportExportUtil.string2TimeStamp(messageFolderType
980                         .getFolderCreationDate());
981                 Timestamp JavaDoc folderModifiedDate = ImportExportUtil.string2TimeStamp(messageFolderType
982                         .getFolderModifiedDate());
983
984                 messageFolderDAO.create(folderName, memberID, folderOrder, folderStatus, folderOption, folderType,
985                         folderCreationDate, folderModifiedDate);
986
987                 //export message
988
MessageList messageList = messageFolderType.getMessageList();
989                 List JavaDoc messageTypes = messageList.getMessage();
990                 for (int t = 0; t < messageTypes.size(); t++) {
991                     MessageType messageType = (MessageType) messageTypes.get(t);
992
993                     String JavaDoc messageSenderName = messageType.getMessageSenderName();
994                     int messageSenderID = memberDAO.getMemberFromMemberName(messageSenderName).getMemberID();
995                     String JavaDoc messageToList = messageType.getMessageToList();
996                     String JavaDoc messageCcList = messageType.getMessageCcList();
997                     String JavaDoc messageBccList = messageType.getMessageBccList();
998                     String JavaDoc messageTopic = messageType.getMessageTopic();
999                     String JavaDoc messageBody = messageType.getMessageBody();
1000                    int messageType1 = messageType.getMessageType();
1001                    int messageOption = messageType.getMessageOption();
1002                    int messageStatus = messageType.getMessageStatus();
1003                    int messageReadStatus = messageType.getMessageReadStatus();
1004                    int messageNotify = messageType.getMessageNotify();
1005                    String JavaDoc messageIcon = messageType.getMessageIcon();
1006                    int messageAttachCount = messageType.getMessageAttachCount();
1007                    String JavaDoc messageIP = messageType.getMessageIP();
1008                    Timestamp JavaDoc messageCreationDate = ImportExportUtil.string2TimeStamp(messageType.getMessageCreationDate());
1009
1010                    messageDAO.create(folderName, memberID, messageSenderID, messageSenderName, messageToList, messageCcList,
1011                            messageBccList, messageTopic, messageBody, messageType1, messageOption, messageStatus,
1012                            messageReadStatus, messageNotify, messageIcon, messageAttachCount, messageIP,
1013                            messageCreationDate);
1014                }
1015            }
1016
1017            //import globalpermission
1018
List JavaDoc globalPermissions = memberType.getGlobalPermissionList().getGlobalPermission();
1019            for (int j = 0; j < globalPermissions.size(); j++) {
1020                int globalPermission = ((Integer JavaDoc)globalPermissions.get(j)).intValue();
1021                memberPermissionDAO.create(memberID, globalPermission);
1022            }
1023
1024            //import watch list
1025
List JavaDoc globalWatchs = memberType.getGlobalWatchList().getGlobalWatch();
1026            for (int j = 0; j < globalWatchs.size(); j++) {
1027                GlobalWatchType globalWatchType = (GlobalWatchType) globalWatchs.get(j);
1028
1029                int categoryID = 0;
1030                int forumID = 0;
1031                int threadID = 0;
1032                int watchType = globalWatchType.getWatchType();
1033                int watchOption = globalWatchType.getWatchOption();
1034                int watchStatus = globalWatchType.getWatchStatus();
1035                Timestamp JavaDoc watchCreationDate = ImportExportUtil.string2TimeStamp(globalWatchType.getWatchCreationDate());
1036                Timestamp JavaDoc watchLastSentDate = ImportExportUtil.string2TimeStamp(globalWatchType.getWatchLastSentDate());
1037                Timestamp JavaDoc watchEndDate = ImportExportUtil.string2TimeStamp(globalWatchType.getWatchEndDate());
1038                watchDAO.create(memberID, categoryID, forumID, threadID, watchType, watchOption, watchStatus,
1039                        watchCreationDate, watchLastSentDate, watchEndDate);
1040
1041            }
1042        }
1043    }
1044
1045    public void exportXML()
1046        throws FileNotFoundException JavaDoc, JAXBException {
1047        Marshaller marshaller = XMLUtil.getMarshaller();
1048        marshaller.marshal(mvnforum, new FileOutputStream JavaDoc("xml/mvnforum.xml"));
1049    }
1050
1051    public static void main(String JavaDoc[] args)
1052        throws CreateException, DatabaseException, DuplicateKeyException, ForeignKeyNotFoundException, ParseException JavaDoc,
1053        FileNotFoundException JavaDoc {
1054        try {
1055            ImportExportXML importExportXML = new ImportExportXML();
1056            //importExportXML.importMember();
1057
//importExportXML.exportMemberList();
1058
//importExportXML.exportGroupList();
1059
importExportXML.exportCategoryList();
1060            //importExportXML.exportRankList();
1061
importExportXML.exportXML();
1062            //importExportXML.importRank();
1063
//importExportXML.importGroup();
1064
System.out.println("done export.");
1065        } catch (JAXBException e) {
1066            // TODO Auto-generated catch block
1067
e.printStackTrace();
1068        } catch (DatabaseException e) {
1069            // TODO Auto-generated catch block
1070
e.printStackTrace();
1071        } catch (ObjectNotFoundException e) {
1072            // TODO Auto-generated catch block
1073
e.printStackTrace();
1074        }
1075
1076    }
1077}
Popular Tags