removed calls to storagehub temporarely

This commit is contained in:
Massimiliano Assante 2019-12-12 18:49:55 +01:00
parent daff1de5c2
commit 3fd98d19c5
1 changed files with 42 additions and 59 deletions

View File

@ -1,22 +1,5 @@
package org.gcube.portal.removeaccount.thread;
import static org.gcube.common.authorization.client.Constants.authorizationService;
import java.util.ArrayList;
import java.util.List;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.portal.PortalContext;
import org.gcube.common.storagehub.client.plugins.AbstractPlugin;
import org.gcube.common.storagehub.client.proxies.UserManagerClient;
import org.gcube.portal.removeaccount.Constants;
import org.gcube.vomanagement.usermanagement.GroupManager;
import org.gcube.vomanagement.usermanagement.RoleManager;
import org.gcube.vomanagement.usermanagement.UserManager;
import org.gcube.vomanagement.usermanagement.impl.LiferayRoleManager;
import org.gcube.vomanagement.usermanagement.model.GCubeRole;
import org.gcube.vomanagement.usermanagement.model.GCubeUser;
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
@ -28,48 +11,48 @@ import com.liferay.portal.kernel.log.LogFactoryUtil;
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<GCubeUser> 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<GCubeRole> theAdminRoles = rm.listRolesByUserAndGroup(theAdmin.getUserId(), groupId);
List<String> rolesString = new ArrayList<String>();
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;
}
}
// 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<GCubeUser> 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<GCubeRole> theAdminRoles = rm.listRolesByUserAndGroup(theAdmin.getUserId(), groupId);
// List<String> rolesString = new ArrayList<String>();
// 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;
// }
// }
}