package com.idega.core.user.fix;
import java.util.List;
import java.util.Iterator;
import com.idega.data.EntityFinder;
import com.idega.user.data.UserBMPBean;
import com.idega.core.user.data.User;
import com.idega.core.user.data.UserGroupRepresentative;
import com.idega.core.data.GenericGroup;
/**
* Title: User
* Description:
* Copyright: Copyright (c) 2001
* Company: idega.is
* @author 2000 - idega team - <a href="mailto:gummi@idega.is">Gu�mundur �g�st S�mundsson</a>
* @version 1.0
*/
public class DatabaseFix {
public DatabaseFix() {
try {
this.main();
}
catch (Exception ex) {
}
}
public void main() throws Exception {
List users = EntityFinder.findAll(UserBMPBean.getStaticInstance());
if(users != null){
Iterator iter = users.iterator();
while (iter.hasNext()) {
User item = (User)iter.next();
System.err.print("Fixing user: "+item.getID());
try {
if(item.getGroupID() < 1){
UserGroupRepresentative group = ((com.idega.core.user.data.UserGroupRepresentativeHome)com.idega.data.IDOLookup.getHomeLegacy(UserGroupRepresentative.class)).createLegacy();
group.setName(item.getName());
group.insert();
item.setGroupID(group.getID());
item.update();
List groups = EntityFinder.findRelated(item,com.idega.core.data.GenericGroupBMPBean.getStaticInstance());
if(groups != null){
Iterator iter2 = groups.iterator();
while (iter2.hasNext()) {
GenericGroup item2 = (GenericGroup)iter2.next();
item2.addUser(item);
}
}
System.err.println(" - fixed");
} else {
System.err.println(" - not needed, groupid = "+item.getGroupID());
}
} catch (Exception ex) {
System.err.println(" - failed");
ex.printStackTrace();
}
}
System.err.println("user done");
} else {
System.err.println("no Users");
}
/*com.idega.data.SimpleQuerier.execute("update IC_GROUP set group_type = 'ic_permission' where group_type = 'permission'");
System.err.println("group_type done");
System.err.println("All done");*/
}
}