import javax.security.auth.login.LoginContext;
import javax.security.auth.login.LoginException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.argeo.cms.CmsException;
import org.argeo.cms.auth.CurrentUser;
import org.argeo.cms.ui.CmsImageManager;
import org.argeo.cms.widgets.auth.CmsLoginShell;
import org.argeo.node.NodeConstants;
import org.eclipse.e4.ui.workbench.lifecycle.PostContextCreate;
+import org.eclipse.e4.ui.workbench.lifecycle.PreSave;
import org.eclipse.swt.widgets.Display;
@SuppressWarnings("restriction")
public class CmsLoginLifecycle implements CmsView {
+ private final static Log log = LogFactory.getLog(CmsLoginLifecycle.class);
private UxContext uxContext;
private LoginContext loginContext;
@PostContextCreate
- boolean login(Display d) {// , IEclipseContext eclipseContext) {
- // RepositoryFactory repositoryFactory =
- // eclipseContext.get(RepositoryFactory.class);
- // Map<String, String> params = new HashMap<>();
- // params.put("cn", "home");
- // Repository homeRepository;
- // try {
- // homeRepository = repositoryFactory.getRepository(params);
- // } catch (RepositoryException e1) {
- // throw new CmsException("Cannot get home repository", e1);
- // }
- // eclipseContext.set("(cn=home)", homeRepository);
-
+ boolean login() {
Subject subject = Subject.getSubject(AccessController.getContext());
Display display = Display.getCurrent();
CmsLoginShell loginShell = new CmsLoginShell(this);
if (CurrentUser.getUsername(getSubject()) == null)
return false;
uxContext = new SimpleUxContext();
+
+ // lcs.changeApplicationLocale(Locale.FRENCH);
return true;
}
+ @PreSave
+ void destroy() {
+ //logout();
+ }
+
@Override
public UxContext getUxContext() {
return uxContext;
@Override
public void exception(Throwable e) {
- // TODO Auto-generated method stub
-
+ log.error("Unexpected exception in Eclipse 4 RAP", e);
}
@Override