import javax.security.auth.login.LoginException;
import org.argeo.api.cms.CmsAuth;
-import org.argeo.api.cms.CmsImageManager;
-import org.argeo.api.cms.CmsView;
-import org.argeo.api.cms.UxContext;
-import org.argeo.cms.CmsException;
+import org.argeo.api.cms.ux.CmsImageManager;
+import org.argeo.api.cms.ux.CmsView;
+import org.argeo.api.cms.ux.UxContext;
import org.argeo.cms.auth.CurrentUser;
+import org.argeo.cms.swt.CmsException;
import org.argeo.cms.swt.CmsSwtUtils;
import org.argeo.cms.swt.SimpleSwtUxContext;
import org.argeo.cms.swt.auth.CmsLoginShell;
@Override
public Object start(IApplicationContext context) throws Exception {
+ // TODO wait for CMS to be ready
+ Thread.sleep(5000);
+
uid = UUID.randomUUID().toString();
Subject subject = new Subject();
Display display = createDisplay();
- CmsLoginShell loginShell = new CmsLoginShell(this);
+ CmsLoginShell loginShell = new CmsLoginShell(this, null);
// TODO customize CmsLoginShell to be smaller and centered
loginShell.setSubject(subject);
try {
// try pre-auth
- loginContext = new LoginContext(CmsAuth.LOGIN_CONTEXT_USER, subject, loginShell);
+ loginContext = new LoginContext(CmsAuth.LOGIN_CONTEXT_SINGLE_USER, subject, loginShell);
loginContext.login();
} catch (LoginException e) {
e.printStackTrace();
}
}
if (CurrentUser.getUsername(getSubject()) == null)
- throw new CmsException("Cannot log in");
+ throw new IllegalStateException("Cannot log in");
// try {
// CallbackHandler callbackHandler = new DefaultLoginDialog(
// }
uxContext = new SimpleSwtUxContext();
- //UiContext.setData(CmsView.KEY, this);
+ // UiContext.setData(CmsView.KEY, this);
CmsSwtUtils.registerCmsView(loginShell.getShell(), this);
e4Application = getApplication(null);
Object res = Subject.doAs(subject, new PrivilegedExceptionAction<Object>() {
return uid;
}
-
}