Adapt to changes in CmsLogin
[lgpl/argeo-commons.git] / rcp / org.argeo.cms.e4.rcp / src / org / argeo / cms / e4 / rcp / CmsE4Application.java
index 9cf4c8c6be1ecdb1a868f4c2f5a6856c260f6310..a708af13f2bf7e59a025f51aeb7734ffdc149420 100644 (file)
@@ -7,7 +7,7 @@ import javax.security.auth.Subject;
 import javax.security.auth.login.LoginContext;
 import javax.security.auth.login.LoginException;
 
-import org.argeo.api.NodeConstants;
+import org.argeo.api.cms.CmsAuth;
 import org.argeo.api.cms.CmsImageManager;
 import org.argeo.api.cms.CmsView;
 import org.argeo.api.cms.UxContext;
@@ -31,15 +31,18 @@ public class CmsE4Application implements IApplication, CmsView {
 
        @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(NodeConstants.LOGIN_CONTEXT_USER, subject, loginShell);
+                       loginContext = new LoginContext(CmsAuth.LOGIN_CONTEXT_SINGLE_USER, subject, loginShell);
                        loginContext.login();
                } catch (LoginException e) {
                        e.printStackTrace();
@@ -80,7 +83,7 @@ public class CmsE4Application implements IApplication, CmsView {
                // }
 
                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>() {
@@ -201,5 +204,4 @@ public class CmsE4Application implements IApplication, CmsView {
                return uid;
        }
 
-       
 }