2020-01-17 16:58:07 +01:00
package org.gcube.portal.removeaccount.thread ;
import java.util.List ;
2020-06-22 11:54:41 +02:00
import org.gcube.common.portal.PortalContext ;
import org.gcube.portal.oidc.lr62.OIDCUmaUtil ;
2020-02-05 16:09:38 +01:00
import org.gcube.vomanagement.usermanagement.model.GatewayRolesNames ;
2020-01-17 16:58:07 +01:00
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
/ * *
*
* @author Massimiliano Assante ISTI - CNR
*
* /
public class RemovedUserAccountThread implements Runnable {
private static final Logger _log = LoggerFactory . getLogger ( RemovedUserAccountThread . class ) ;
final String SUBJECT = " Removed account notification " ;
2020-01-30 12:58:46 +01:00
private String userNameToDelete ;
private String theAdminToken ;
private List < String > theAdminRolesString ;
2020-01-17 16:58:07 +01:00
2020-01-30 12:58:46 +01:00
public RemovedUserAccountThread ( String userNameToDelete , String theAdminToken , List < String > theAdminRolesString ) {
2020-01-17 16:58:07 +01:00
super ( ) ;
2020-01-30 12:58:46 +01:00
this . userNameToDelete = userNameToDelete ;
this . theAdminRolesString = theAdminRolesString ;
this . theAdminToken = theAdminToken ;
2020-01-17 16:58:07 +01:00
}
@Override
public void run ( ) {
2020-06-22 11:54:41 +02:00
OIDCUmaUtil . provideConfiguredPortalClientUMATokenInThreadLocal ( " / " + PortalContext . getConfiguration ( ) . getInfrastructureName ( ) ) ;
2020-01-17 16:58:07 +01:00
try {
2020-02-05 16:09:38 +01:00
_log . info ( " Trying to remove user " + userNameToDelete + " from JCR first, using storageHub with role: " + GatewayRolesNames . INFRASTRUCTURE_MANAGER . getRoleName ( ) ) ;
2020-01-30 12:58:46 +01:00
RemoveUserFromJCR rmJCR = new RemoveUserFromJCR ( userNameToDelete , theAdminToken , theAdminRolesString ) ;
2020-01-17 16:58:07 +01:00
boolean result = rmJCR . remove ( ) ;
2020-01-30 12:58:46 +01:00
_log . info ( " The user " + userNameToDelete + " has been removed from JCR with success? " + result ) ;
2020-01-17 16:58:07 +01:00
} catch ( Exception e ) {
_log . error ( " An error occurred during user workspace removal: " , e ) ;
}
}
}