]> git.argeo.org Git - lgpl/argeo-commons.git/blob - eclipse/org.argeo.cms.e4/src/org/argeo/cms/e4/handlers/CloseWorkbench.java
Refactor deploy properties and move legacy CMS exception.
[lgpl/argeo-commons.git] / eclipse / org.argeo.cms.e4 / src / org / argeo / cms / e4 / handlers / CloseWorkbench.java
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.auth.CurrentUser;
8 import org.argeo.cms.swt.CmsException;
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 }