package org.gcube.portal.removeaccount.thread; import com.liferay.portal.kernel.log.Log; import com.liferay.portal.kernel.log.LogFactoryUtil; /** * * @author Massimiliano Assante ISTI-CNR * */ public class RemoveUserFromJCR { private static Log _log = LogFactoryUtil.getLog(RemoveUserFromJCR.class); // private String username2Delete; // private GroupManager gm; // private UserManager uMan; // // public RemoveUserFromJCR(String username2Delete, GroupManager gm, UserManager uMan) { // this.username2Delete = username2Delete; // this.gm = gm; // this.uMan = uMan; // } // // public boolean remove() { // try { // //get the super user // String infraContext = "/"+PortalContext.getConfiguration().getInfrastructureName(); // long groupId = gm.getGroupIdFromInfrastructureScope(infraContext); // RoleManager rm = new LiferayRoleManager(); // long roleId = rm.getRoleId(Constants.AUTORISED_INFRA_ROLE, groupId); // List users = uMan.listUsersByGroupAndRole(groupId, roleId); // if (users.isEmpty()) { // _log.error("Cannot delete the user: there is no user having role " + Constants.AUTORISED_INFRA_ROLE + " on context: " + infraContext); // return false; // } // else { // GCubeUser theAdmin = users.get(0); // String adminUsername = theAdmin.getUsername(); // String theAdminToken = PortalContext.getConfiguration().getCurrentUserToken(infraContext, adminUsername); // List theAdminRoles = rm.listRolesByUserAndGroup(theAdmin.getUserId(), groupId); // List rolesString = new ArrayList(); // for (GCubeRole gCubeRole : theAdminRoles) { // rolesString.add(gCubeRole.getRoleName()); // } // authorizationService().setTokenRoles(theAdminToken, rolesString); // SecurityTokenProvider.instance.set(theAdminToken); // UserManagerClient userClient = AbstractPlugin.users().build(); // userClient.removeUser(username2Delete); // return true; // } // } catch (Exception e) { // _log.error("Could not delete " + username2Delete + " from JCR ", e); // return false; // } // } }