X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=rcp%2Forg.argeo.cms.e4.rcp%2Fsrc%2Forg%2Fargeo%2Fcms%2Fe4%2Frcp%2FCmsE4Application.java;h=5cc6a839453bacea1144dce120f79f5a2cd2e155;hb=b71546ddc74d6ca49d252806aafd491c75dfe1fb;hp=f8c82cb0f7148ddfd477a89a3f125dbbbfd1d310;hpb=05b37fe95b9379c17061463d84f67145c2e11371;p=lgpl%2Fargeo-commons.git diff --git a/rcp/org.argeo.cms.e4.rcp/src/org/argeo/cms/e4/rcp/CmsE4Application.java b/rcp/org.argeo.cms.e4.rcp/src/org/argeo/cms/e4/rcp/CmsE4Application.java index f8c82cb0f..5cc6a8394 100644 --- a/rcp/org.argeo.cms.e4.rcp/src/org/argeo/cms/e4/rcp/CmsE4Application.java +++ b/rcp/org.argeo.cms.e4.rcp/src/org/argeo/cms/e4/rcp/CmsE4Application.java @@ -1,19 +1,21 @@ package org.argeo.cms.e4.rcp; import java.security.PrivilegedExceptionAction; +import java.util.UUID; import javax.security.auth.Subject; import javax.security.auth.login.LoginContext; 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.cms.auth.CurrentUser; -import org.argeo.cms.ui.CmsImageManager; -import org.argeo.cms.ui.CmsView; -import org.argeo.cms.ui.UxContext; -import org.argeo.cms.util.SimpleUxContext; -import org.argeo.cms.widgets.auth.CmsLoginShell; -import org.argeo.node.NodeConstants; +import org.argeo.cms.swt.CmsSwtUtils; +import org.argeo.cms.swt.SimpleSwtUxContext; +import org.argeo.cms.swt.auth.CmsLoginShell; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.core.runtime.IExtension; import org.eclipse.core.runtime.Platform; @@ -25,9 +27,11 @@ public class CmsE4Application implements IApplication, CmsView { private LoginContext loginContext; private IApplication e4Application; private UxContext uxContext; + private String uid; @Override public Object start(IApplicationContext context) throws Exception { + uid = UUID.randomUUID().toString(); Subject subject = new Subject(); Display display = createDisplay(); CmsLoginShell loginShell = new CmsLoginShell(this); @@ -35,7 +39,7 @@ public class CmsE4Application implements IApplication, CmsView { loginShell.setSubject(subject); try { // try pre-auth - loginContext = new LoginContext(NodeConstants.LOGIN_CONTEXT_USER, subject, loginShell); + loginContext = new LoginContext(CmsAuth.LOGIN_CONTEXT_USER, subject, loginShell); loginContext.login(); } catch (LoginException e) { e.printStackTrace(); @@ -75,8 +79,9 @@ public class CmsE4Application implements IApplication, CmsView { // return null; // } - uxContext = new SimpleUxContext(); - + uxContext = new SimpleSwtUxContext(); + //UiContext.setData(CmsView.KEY, this); + CmsSwtUtils.registerCmsView(loginShell.getShell(), this); e4Application = getApplication(null); Object res = Subject.doAs(subject, new PrivilegedExceptionAction() { @@ -191,4 +196,10 @@ public class CmsE4Application implements IApplication, CmsView { return CurrentUser.isAnonymous(getSubject()); } + @Override + public String getUid() { + return uid; + } + + }