KickJava   Java API By Example, From Geeks To Geeks.

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


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

40 package com.mvnforum.admin.importexport.mvnforum;
41
42 import com.mvnforum.MVNForumConfig;
43 import com.mvnforum.MVNForumConstant;
44 import com.mvnforum.admin.*;
45 import com.mvnforum.db.DAOFactory;
46 import net.myvietnam.mvncore.exception.*;
47
48 /**
49  * @author Igor Manic
50  * @version $Revision: 1.9 $, $Date: 2006/04/14 17:36:29 $
51  * <br/>
52  * <code>MvnForumXML</code> todo Igor: enter description
53  *
54  */

55 public class MvnForumXML {
56
57     // Did we find Admin member? If we didn't, default one will be created, with password "admin".
58
public static boolean addedAdminMember = false;
59     // Did we find Guest member? If we didn't, default one will be created.
60
public static boolean addedGuestMember = false;
61     // Did we find Registered Members group? If we didn't, default one will be created.
62
public static boolean addedRegisteredMembersGroup = false;
63
64     public MvnForumXML() throws DatabaseException, CreateException,
65     DuplicateKeyException, ObjectNotFoundException, ForeignKeyNotFoundException {
66         super();
67         MvnForumXML.addedAdminMember=false;
68         MvnForumXML.addedGuestMember=false;
69         MvnForumXML.addedRegisteredMembersGroup=false;
70         ImportMvnForum.createDefaultContents();
71     }
72
73
74 // ================================================================================
75
// ==================== METHODS TO BE CALLED FROM THE DIGESTER ====================
76
// ================================================================================
77
public void setMvnForumXmlVersion(String JavaDoc value) {
78         ImportMvnForum.addMessage("mvnForum XML version = \""+value+"\"");
79     }
80
81     public void setMvnForumExportDate(String JavaDoc value) {
82         ImportMvnForum.addMessage("mvnForum XML export date = \""+value+"\"");
83     }
84
85     public void postProcessMemberList() throws CreateException, DuplicateKeyException,
86     ObjectNotFoundException, DatabaseException, ForeignKeyNotFoundException, BadInputException {
87         MvnForumXML.checkAdminMember();
88         MvnForumXML.checkGuestMember();
89     }
90
91     public void postProcessGroupList() throws CreateException, DuplicateKeyException,
92     ObjectNotFoundException, DatabaseException, ForeignKeyNotFoundException {
93         MvnForumXML.checkRegisteredMembersGroup();
94     }
95
96     public static void finishImport() throws CreateException, DuplicateKeyException,
97     ObjectNotFoundException, DatabaseException, ForeignKeyNotFoundException, BadInputException {
98         checkAdminMember();
99         checkGuestMember();
100         checkRegisteredMembersGroup();
101     }
102
103     public void addGuestGlobalPermission(String JavaDoc permission)
104     throws CreateException, DuplicateKeyException, ObjectNotFoundException,
105     DatabaseException, ForeignKeyNotFoundException {
106         MvnForumXML.addGuestMemberPermission(permission);
107     }
108
109     public void addRegisteredMembersGlobalPermission(String JavaDoc permission)
110     throws CreateException, DuplicateKeyException, ObjectNotFoundException,
111     DatabaseException, ForeignKeyNotFoundException {
112         MvnForumXML.addRegisteredMembersGroupPermission(permission);
113     }
114
115     public void addRank(String JavaDoc rankMinPosts, String JavaDoc rankLevel, String JavaDoc rankTitle,
116                         String JavaDoc rankImage, String JavaDoc rankType, String JavaDoc rankOption)
117     throws CreateException, DuplicateKeyException, ObjectNotFoundException,
118     DatabaseException, ForeignKeyNotFoundException {
119         ImportMvnForum.addMessage("Adding rank title \""+rankTitle+"\".");
120         (new RankXML()).addRank(rankMinPosts, rankLevel, rankTitle,
121                                 rankImage, rankType, rankOption);
122     }
123
124 // ================================================================================
125
// ====================== UTILITY METHODS ABOUT PERMISSIONS =======================
126
// ================================================================================
127
/**
128      * TODO Igor: enter description
129      *
130      * @param username
131      * @param permission
132      */

133     public static void addMemberPermission(String JavaDoc username, String JavaDoc permission)
134     throws ObjectNotFoundException, CreateException, DatabaseException,
135     ForeignKeyNotFoundException, DuplicateKeyException {
136         MemberXML.addMemberPermission(username, permission);
137     }
138
139     /**
140      * TODO Igor: enter description
141      *
142      * @param permission
143      */

144     public static void addGuestMemberPermission(String JavaDoc permission)
145     throws CreateException, DatabaseException, DuplicateKeyException,
146     ForeignKeyNotFoundException {
147         MemberXML.addGuestMemberPermission(permission);
148     }
149
150     /**
151      * TODO Igor: enter description
152      *
153      * @param permission
154      */

155     public static void addRegisteredMembersGroupPermission(String JavaDoc permission)
156     throws CreateException, DatabaseException, DuplicateKeyException,
157     ForeignKeyNotFoundException {
158         GroupXML.addRegisteredMembersGroupPermission(permission);
159     }
160
161     /**
162      * TODO Igor: enter description
163      *
164      * @param groupname
165      * @param permission
166      */

167     public static void addGroupPermission(String JavaDoc groupname, String JavaDoc permission)
168     throws CreateException, DatabaseException, DuplicateKeyException,
169     ForeignKeyNotFoundException, ObjectNotFoundException {
170         GroupXML.addGroupPermission(groupname, permission);
171     }
172
173
174 // ================================================================================
175
// ============================ OTHER PUBLIC METHODS ==============================
176
// ================================================================================
177
public static void checkAdminMember() throws CreateException, DuplicateKeyException,
178     ObjectNotFoundException, DatabaseException, ForeignKeyNotFoundException, BadInputException {
179         if (!addedAdminMember) {
180             ImportMvnForum.addImportantMessage("Didn't find SYSTEM_ADMIN member. Adding default one with a name \""+
181                                 "admin\" and password \"admin\". For your security, "+
182                                 "you should first change that password.");
183             ImportWebHelper.createDefaultAdminMember();
184             addedAdminMember=true;
185         }
186     }
187
188     public static void checkGuestMember() throws CreateException, DuplicateKeyException,
189     ObjectNotFoundException, DatabaseException, ForeignKeyNotFoundException, BadInputException {
190         if (!addedGuestMember) {
191             ImportMvnForum.addImportantMessage("Didn't find virtual guest member. "+
192                            "Adding default one with a name \""+
193                            MVNForumConfig.getDefaultGuestName()+"\" and no password. "+
194                            "He'll have READ_POST permissions in all forums, "+
195                            "and global ADD_POST permission.");
196             try {
197                 ImportWebHelper.createDefaultGuestMember();
198             } catch (DuplicateKeyException de) {
199                 // do nothing
200
// ignore when the guest user existed
201
}
202             addedGuestMember=true;
203         }
204     }
205
206     public static void checkRegisteredMembersGroup() throws CreateException,
207     DuplicateKeyException, ObjectNotFoundException, DatabaseException, ForeignKeyNotFoundException {
208         //ImportMvnForum.addImportantMessage("Import registered members ::: ");
209
if (!addedRegisteredMembersGroup) {
210             //set GroupOwnerName to the system admin
211
String JavaDoc groupOwnerName="";
212             try {
213                 groupOwnerName=DAOFactory.getMemberDAO().getMember_forPublic(MVNForumConstant.MEMBER_ID_OF_ADMIN).getMemberName();
214             } catch (Exception JavaDoc e) {
215                 groupOwnerName="";
216             }
217             ImportMvnForum.addImportantMessage("Didn't find \"Registered Members\" group. "+
218                               "Adding default one.");
219             ImportWebHelper.createDefaultRegisteredMembersGroup(groupOwnerName);
220             addedRegisteredMembersGroup=true;
221         }
222     }
223
224
225 }
226
227
Popular Tags