Compare commits

...

2 Commits

Author SHA1 Message Date
Massimiliano Assante 517af08cf4 async removal of the account after logout 2020-01-30 15:01:53 +01:00
Massimiliano Assante 145f6bda68 ready for release 2020-01-17 17:47:33 +01:00
5 changed files with 54 additions and 14 deletions

View File

@ -4,9 +4,6 @@
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
<dependent-module archiveName="remove-account-library-1.0.0.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/remove-account-library/remove-account-library">
<dependency-type>uses</dependency-type>
</dependent-module>
<property name="java-output-path" value="/RemoveAccount/target/classes"/>
<property name="context-root" value="remove-account-portlet"/>
</wb-module>

View File

@ -14,7 +14,7 @@
<artifactId>remove-account-portlet</artifactId>
<packaging>war</packaging>
<name>RemoveAccount Portlet</name>
<version>1.2.0</version>
<version>1.3.0</version>
<description>
remove-account-portlet is a component that install in the contro panel userr account as a tab and permits the user to remvoe his or her account
</description>
@ -49,7 +49,7 @@
<dependency>
<groupId>org.gcube.portal</groupId>
<artifactId>remove-account-library</artifactId>
<version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
<version>[1.1.2-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
</dependency>
<dependency>
<groupId>org.gcube.resources.discovery</groupId>

View File

@ -8,6 +8,7 @@ import javax.portlet.PortletException;
import javax.portlet.ProcessAction;
import org.gcube.portal.removeaccount.D4ScienceRemoveAccountManager;
import org.gcube.portlets.admin.removeaccount.RemovedUserAccountThread;
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
@ -26,17 +27,21 @@ public class RemoveAccountPortlet extends MVCPortlet {
@ProcessAction(name = "deleteAccount")
public void deleteAccount(ActionRequest actionRequest, ActionResponse response) throws IOException, PortletException {
User user = null;
ThemeDisplay themeDisplay = (ThemeDisplay)actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
System.out.println("\n\n\n****Sending Response ="+themeDisplay.getURLSignOut());
response.sendRedirect(themeDisplay.getURLSignOut());
String username2Delete = null;
try {
user = PortalUtil.getUser(actionRequest);
username2Delete = PortalUtil.getUser(actionRequest).getScreenName();
} catch (Exception e) {
e.printStackTrace();
}
D4ScienceRemoveAccountManager removeAccountManager = new D4ScienceRemoveAccountManager(user.getScreenName());
removeAccountManager.doAsyncRemoveAccount();
_log.info("The user "+user.getScreenName()+ " removed her/his account");
ThemeDisplay themeDisplay = (ThemeDisplay)actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
response.sendRedirect(themeDisplay.getURLSignOut());
System.out.println("\n The Response sent ...");
if (username2Delete != null) {
Thread dropUserAccountThread = new Thread(new RemovedUserAccountThread(username2Delete));
dropUserAccountThread.start();
} else {
_log.error("Account not removed");
}
}
}

View File

@ -0,0 +1,38 @@
package org.gcube.portlets.admin.removeaccount;
import org.gcube.portal.removeaccount.D4ScienceRemoveAccountManager;
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);
private String userNameToDelete;
public RemovedUserAccountThread(String userNameToDelete) {
super();
this.userNameToDelete = userNameToDelete;
}
@Override
public void run() {
try {
D4ScienceRemoveAccountManager removeAccountManager = new D4ScienceRemoveAccountManager(userNameToDelete);
boolean result = removeAccountManager.doAsyncRemoveAccount();
_log.info("The user "+userNameToDelete+ " removed her/his account with success?"+ result);
} catch (Exception e) {
_log.error("An error occurred during user workspace removal: ", e);
}
}
}

View File

@ -21,4 +21,4 @@
<button class="btn btn-large" type="button"
onClick="document.getElementById('removeAccountForm').submit()">Confirm delete
account</button>
</form>
</form>