View Javadoc
1   package org.argeo.cms.e4.handlers;
2   
3   import java.security.AccessController;
4   
5   import javax.security.auth.Subject;
6   
7   import org.argeo.cms.CmsException;
8   import org.argeo.cms.auth.CurrentUser;
9   import org.eclipse.e4.core.di.annotations.Execute;
10  import org.eclipse.e4.ui.workbench.IWorkbench;
11  
12  public class CloseWorkbench {
13  	@Execute
14  	public void execute(IWorkbench workbench) {
15  		logout();
16  		workbench.close();
17  	}
18  
19  	protected void logout() {
20  		Subject subject = Subject.getSubject(AccessController.getContext());
21  		try {
22  			CurrentUser.logoutCmsSession(subject);
23  		} catch (Exception e) {
24  			throw new CmsException("Cannot log out", e);
25  		}
26  	}
27  
28  }