Remove deprecated exception.
[lgpl/argeo-commons.git] / org.argeo.cms.e4.rap / src / org / argeo / cms / e4 / rap / CmsLoginLifecycle.java
index acdbd07a34122d7ba3b86ab7282d59ec1f6b88c3..12ee3c55e9150fe17ea22a87bd85eb13e3dd9156 100644 (file)
@@ -1,6 +1,7 @@
 package org.argeo.cms.e4.rap;
 
 import java.security.AccessController;
+import java.util.UUID;
 
 import javax.security.auth.Subject;
 import javax.security.auth.login.LoginContext;
@@ -9,7 +10,6 @@ import javax.security.auth.login.LoginException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.argeo.api.NodeConstants;
-import org.argeo.cms.CmsException;
 import org.argeo.cms.auth.CurrentUser;
 import org.argeo.cms.ui.CmsImageManager;
 import org.argeo.cms.ui.CmsView;
@@ -41,9 +41,11 @@ public class CmsLoginLifecycle implements CmsView {
        private BrowserNavigation browserNavigation;
 
        private String state = null;
+       private String uid;
 
        @PostContextCreate
        boolean login(final IEventBroker eventBroker) {
+               uid = UUID.randomUUID().toString();
                browserNavigation = RWT.getClient().getService(BrowserNavigation.class);
                if (browserNavigation != null)
                        browserNavigation.addBrowserNavigationListener(new BrowserNavigationListener() {
@@ -111,7 +113,7 @@ public class CmsLoginLifecycle implements CmsView {
        @Override
        public void authChange(LoginContext loginContext) {
                if (loginContext == null)
-                       throw new CmsException("Login context cannot be null");
+                       throw new IllegalArgumentException("Login context cannot be null");
                // logout previous login context
                // if (this.loginContext != null)
                // try {
@@ -125,12 +127,12 @@ public class CmsLoginLifecycle implements CmsView {
        @Override
        public void logout() {
                if (loginContext == null)
-                       throw new CmsException("Login context should not be null");
+                       throw new IllegalStateException("Login context should not be null");
                try {
                        CurrentUser.logoutCmsSession(loginContext.getSubject());
                        loginContext.logout();
                } catch (LoginException e) {
-                       throw new CmsException("Cannot log out", e);
+                       throw new IllegalStateException("Cannot log out", e);
                }
        }
 
@@ -155,6 +157,11 @@ public class CmsLoginLifecycle implements CmsView {
                return CurrentUser.isAnonymous(getSubject());
        }
 
+       @Override
+       public String getUid() {
+               return uid;
+       }
+
        // CALLBACKS
        protected void startupComplete() {
        }