1 40 package com.mvnforum.admin.importexport.jive; 41 42 import com.mvnforum.MVNForumConstant; 43 import com.mvnforum.admin.MemberXML; 44 import com.mvnforum.admin.importexport.XMLUtil; 45 import com.mvnforum.db.DAOFactory; 46 import net.myvietnam.mvncore.exception.*; 47 import net.myvietnam.mvncore.util.DateUtil; 48 49 60 public class JiveUserXML { 61 62 private MemberXML memberXML=null; 63 private boolean memberCreated=false; 64 65 public JiveUserXML() { 66 super(); 67 memberXML=new MemberXML(); 68 memberCreated=false; 69 } 70 71 public void setUserID(String id) { 72 memberXML.setMemberID(id); 73 } 74 75 81 public void setUserId(String id) { 82 setUserID(id); 83 } 84 85 public void addJiveUser(String username, String password, String email, 86 String emailVisible, String name, String nameVisible, 87 String creationDate, String modifiedDate, String expireDate, 88 String rewardPoints) 89 throws CreateException, DuplicateKeyException, ObjectNotFoundException, 90 DatabaseException, ForeignKeyNotFoundException { 91 96 if (memberCreated) return; 97 if ((username==null) || (username.equals("")) || 98 (password==null) || (password.equals("")) || 99 (email==null) || (email.equals("")) ) { 100 throw new CreateException("Not enough data to create a member."); 101 } else { 102 String mvnPassword = JiveXML.convertPassword(password); 103 104 String memberFirstName=""; 105 String memberLastName=""; 106 int i=name.indexOf(' '); 107 if (i<0) { 108 memberFirstName=name; 109 memberLastName=""; 110 } else { 111 memberFirstName=name.substring(0, i); 112 memberLastName=name.substring(i+1, name.length()); 113 } 114 115 if (emailVisible==null) emailVisible="true"; 116 if (nameVisible==null) nameVisible="true"; 117 118 if (username.equalsIgnoreCase(JiveXML.adminName)) { 119 123 updateAdmin(username, mvnPassword, email, emailVisible, name, nameVisible, 124 creationDate, modifiedDate, rewardPoints, 125 memberFirstName, memberLastName); 126 } else { 127 ImportJive.addMessage("Adding Jive user \""+username+"\"."); 128 memberXML.addMember(username, mvnPassword, 129 email, email, 130 emailVisible, nameVisible, 131 null, null, 132 null, null, 133 creationDate, modifiedDate, 134 expireDate ,null, 135 null, null, 136 null, null, 137 null, null, 138 null, null, 139 null, null, 140 rewardPoints, null, 141 null, null, 142 null, null, 143 null, 144 memberFirstName, memberLastName, 145 null, null, null, 146 null, null, null, 147 null, null, null, 148 null, null, null, 149 null, null, null, 150 null, null); 151 memberXML.addMessageFolder(MVNForumConstant.MESSAGE_FOLDER_INBOX, 153 null, 154 null, null); 155 memberXML.addMessageFolder(MVNForumConstant.MESSAGE_FOLDER_SENT, 156 null, 157 null, null); 158 memberXML.addMessageFolder(MVNForumConstant.MESSAGE_FOLDER_DRAFT, 159 null, 160 null, null); 161 memberXML.addMessageFolder(MVNForumConstant.MESSAGE_FOLDER_TRASH, 162 null, 163 null, null); 164 } 165 166 memberCreated=true; 167 } 168 } 169 170 private void updateAdmin(String username, String mvnPassword, String email, 171 String emailVisible, String name, String nameVisible, 172 String creationDate, String modifiedDate, 173 String rewardPoints, 174 String memberFirstName, String memberLastName) 175 throws CreateException, DuplicateKeyException, ObjectNotFoundException, 176 DatabaseException, ForeignKeyNotFoundException { 177 int memberID=MVNForumConstant.MEMBER_ID_OF_ADMIN; 178 memberXML.setMemberID(Integer.toString(memberID)); 179 181 int emailVisible1; 182 int nameVisible1; 183 java.sql.Timestamp modifiedDate1; 184 java.sql.Date memberBirthday1; 185 try { 186 emailVisible1 = (XMLUtil.stringToBooleanDef(emailVisible, false)?1:0); 187 nameVisible1 = (XMLUtil.stringToBooleanDef(nameVisible, false)?1:0); 188 modifiedDate1= XMLUtil.stringToSqlTimestampDefNull(modifiedDate); 189 memberBirthday1= new java.sql.Date (DateUtil.getCurrentGMTTimestamp().getTime()); 190 } catch (NumberFormatException e) { 191 throw new CreateException("Invalid data for a member. Expected a number."); 192 } 193 ImportJive.addImportantMessage("Replacing default admin data with Jive admin user \""+username+"\"."); 194 JiveXML.foundAdminUser=true; 195 DAOFactory.getMemberDAO().update(memberID, 196 emailVisible1, nameVisible1, 197 modifiedDate1, 198 0, 0, 199 0, 0, 200 0, "", 201 "", 202 memberFirstName, memberLastName, 203 1, memberBirthday1, 204 "", "", "", 205 "", "", 206 "", "", 207 "", "", "", 208 "", "", "", 209 "", ""); 210 DAOFactory.getMemberDAO().updatePassword(memberID, mvnPassword); 212 DAOFactory.getMemberDAO().updateEmail(memberID, email); 213 } 216 217 218 } 219 220 221 | Popular Tags |