}
private void updateOldRoles(){
Logger.info("Updating old roles");
Logger.info("anonymoususer");
ORole anonymRole = RoleDao.getRole("anonymoususer");
anonymRole.getDocument().field(RoleService.FIELD_INTERNAL,true);
anonymRole.getDocument().field(RoleService.FIELD_MODIFIABLE,false);
anonymRole.getDocument().field(RoleService.FIELD_DESCRIPTION,DefaultRoles.ANONYMOUS_USER.getDescription());
anonymRole.getDocument().field(RoleService.FIELD_ASSIGNABLE,DefaultRoles.ANONYMOUS_USER.isAssignable());
anonymRole.getDocument().field(RoleDao.FIELD_INHERITED,RoleDao.getRole(DefaultRoles.ANONYMOUS_USER.getInheritsFrom()).getDocument().getRecord());
anonymRole.getDocument().field("name",DefaultRoles.ANONYMOUS_USER.toString());
anonymRole.save();
anonymRole=null;
Logger.info("registered");
ORole regRole = RoleDao.getRole("registereduser");
regRole.getDocument().field(RoleService.FIELD_INTERNAL,true);
regRole.getDocument().field(RoleService.FIELD_MODIFIABLE,false);
regRole.getDocument().field(RoleService.FIELD_DESCRIPTION,DefaultRoles.REGISTERED_USER.getDescription());
regRole.getDocument().field(RoleService.FIELD_ASSIGNABLE,DefaultRoles.REGISTERED_USER.isAssignable());
regRole.getDocument().field(RoleDao.FIELD_INHERITED,RoleDao.getRole(DefaultRoles.REGISTERED_USER.getInheritsFrom()).getDocument().getRecord());
regRole.getDocument().field("name",DefaultRoles.REGISTERED_USER.toString());
regRole.save();
regRole=null;
Logger.info("backofficeuser");
ORole backRole = RoleDao.getRole("backofficeuser");
backRole.getDocument().field(RoleService.FIELD_INTERNAL,true);
backRole.getDocument().field(RoleService.FIELD_MODIFIABLE,false);
backRole.getDocument().field(RoleService.FIELD_DESCRIPTION,DefaultRoles.BACKOFFICE_USER.getDescription());
backRole.getDocument().field(RoleService.FIELD_ASSIGNABLE,DefaultRoles.BACKOFFICE_USER.isAssignable());
backRole.getDocument().field(RoleDao.FIELD_INHERITED,RoleDao.getRole(DefaultRoles.BACKOFFICE_USER.getInheritsFrom()).getDocument().getRecord());
backRole.addRule(ODatabaseSecurityResources.BYPASS_RESTRICTED, ORole.PERMISSION_ALL);
backRole.getDocument().field("name",DefaultRoles.BACKOFFICE_USER.toString());
backRole.save();
backRole=null;
Logger.info("administrator");
//retrieves the "old" admin role
ORole oldAdminRole = RoleDao.getRole("admin");
//duplicates it
ORole adminRole = RoleDao.createRole(DefaultRoles.BASE_ADMIN+"_".toString(), oldAdminRole.getMode(),oldAdminRole.getRules());
//now the old one must become the new one
oldAdminRole.getDocument().field(RoleService.FIELD_INTERNAL,true);
oldAdminRole.getDocument().field(RoleService.FIELD_MODIFIABLE,false);
oldAdminRole.getDocument().field(RoleService.FIELD_DESCRIPTION,DefaultRoles.ADMIN.getDescription());
oldAdminRole.getDocument().field(RoleService.FIELD_ASSIGNABLE,DefaultRoles.ADMIN.isAssignable());
oldAdminRole.addRule(ODatabaseSecurityResources.BYPASS_RESTRICTED, ORole.PERMISSION_ALL);
oldAdminRole.getDocument().field("name",DefaultRoles.ADMIN.toString()+"1");
//the new one must become the old one
adminRole.getDocument().field(RoleService.FIELD_INTERNAL,true);
adminRole.getDocument().field(RoleService.FIELD_MODIFIABLE,false);
adminRole.getDocument().field(RoleService.FIELD_DESCRIPTION,DefaultRoles.BASE_ADMIN.getDescription());
adminRole.getDocument().field(RoleService.FIELD_ASSIGNABLE,DefaultRoles.BASE_ADMIN.isAssignable());
adminRole.getDocument().field(RoleDao.FIELD_INHERITED,(ORecord)null);
oldAdminRole.addRule(ODatabaseSecurityResources.BYPASS_RESTRICTED, ORole.PERMISSION_ALL);
adminRole.getDocument().field("name",DefaultRoles.BASE_ADMIN.toString());
oldAdminRole.save();
adminRole.save();
oldAdminRole.getDocument().field(RoleDao.FIELD_INHERITED,adminRole.getDocument().getRecord());
oldAdminRole.getDocument().field("name",DefaultRoles.ADMIN.toString());
oldAdminRole.save();
//update the "friend_of" roles