package edu.ualberta.med.biobank.handlers; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPage; import edu.ualberta.med.biobank.BiobankPlugin; import edu.ualberta.med.biobank.SessionManager; import edu.ualberta.med.biobank.gui.common.BgcLogger; public class LogoutHandler extends AbstractHandler { private static BgcLogger logger = BgcLogger .getLogger(LogoutHandler.class.getName()); @Override public Object execute(ExecutionEvent event) throws ExecutionException { IWorkbench workbench = BiobankPlugin.getDefault().getWorkbench(); IWorkbenchPage activePage = workbench.getActiveWorkbenchWindow() .getActivePage(); // close all editors if (activePage.closeAllEditors(true)) try { SessionManager.getInstance().deleteSession(); } catch (Exception e) { logger.error("Error while deleting the session", e); //$NON-NLS-1$ } return null; } }