import java.security.AccessController;
import java.util.UUID;
+import java.util.concurrent.Callable;
+import javax.inject.Inject;
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.CmsContext;
import org.argeo.api.cms.CmsLog;
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.CurrentUser;
import org.argeo.cms.swt.CmsSwtUtils;
import org.argeo.cms.swt.SimpleSwtUxContext;
+import org.argeo.cms.swt.acr.AcrSwtImageManager;
import org.argeo.cms.swt.auth.CmsLoginShell;
import org.argeo.cms.swt.dialogs.CmsFeedback;
-import org.argeo.cms.ui.util.SimpleImageManager;
import org.eclipse.e4.core.services.events.IEventBroker;
import org.eclipse.e4.ui.workbench.UIEvents;
import org.eclipse.e4.ui.workbench.lifecycle.PostContextCreate;
public class CmsLoginLifecycle implements CmsView {
private final static CmsLog log = CmsLog.getLog(CmsLoginLifecycle.class);
+ @Inject
+ private CmsContext cmsContext;
+
private UxContext uxContext;
private CmsImageManager imageManager;
Subject subject = Subject.getSubject(AccessController.getContext());
Display display = Display.getCurrent();
// UiContext.setData(CmsView.KEY, this);
- // FIXME get CMS context
- CmsLoginShell loginShell = new CmsLoginShell(this, null);
+ CmsLoginShell loginShell = new CmsLoginShell(this, cmsContext);
CmsSwtUtils.registerCmsView(loginShell.getShell(), this);
loginShell.setSubject(subject);
try {
if (CurrentUser.getUsername(getSubject()) == null)
return false;
uxContext = new SimpleSwtUxContext();
- imageManager = new SimpleImageManager();
+ imageManager = (CmsImageManager) new AcrSwtImageManager();
eventBroker.subscribe(UIEvents.UILifeCycle.APP_STARTUP_COMPLETE, new EventHandler() {
@Override
public void exception(Throwable e) {
String msg = "Unexpected exception in Eclipse 4 RAP";
log.error(msg, e);
- CmsFeedback.show(msg, e);
+ CmsFeedback.error(msg, e);
}
@Override
return state;
}
+ @Override
+ public <T> T doAs(Callable<T> action) {
+ throw new UnsupportedOperationException();
+ }
+
}