]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms/src/org/argeo/cms/internal/auth/CmsSessionImpl.java
Merge tag 'v2.3.28' into testing
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / auth / CmsSessionImpl.java
index dfedfab1968f02a474bc073f3c7f15914ee810c2..3a23870bd0703a37608311c694d70a80ee82f672 100644 (file)
@@ -21,11 +21,12 @@ import org.argeo.api.cms.CmsAuth;
 import org.argeo.api.cms.CmsConstants;
 import org.argeo.api.cms.CmsLog;
 import org.argeo.api.cms.CmsSession;
+import org.argeo.api.uuid.UuidIdentified;
 import org.argeo.cms.internal.runtime.CmsContextImpl;
 import org.osgi.service.useradmin.Authorization;
 
 /** Default CMS session implementation. */
-public class CmsSessionImpl implements CmsSession, Serializable {
+public class CmsSessionImpl implements CmsSession, Serializable, UuidIdentified {
        private static final long serialVersionUID = 1867719354246307225L;
        private final static CmsLog log = CmsLog.getLog(CmsSessionImpl.class);
 
@@ -76,9 +77,9 @@ public class CmsSessionImpl implements CmsSession, Serializable {
                try {
                        LoginContext lc;
                        if (isAnonymous()) {
-                               lc = new LoginContext(CmsAuth.LOGIN_CONTEXT_ANONYMOUS, getSubject());
+                               lc = CmsAuth.ANONYMOUS.newLoginContext(getSubject());
                        } else {
-                               lc = new LoginContext(CmsAuth.LOGIN_CONTEXT_USER, getSubject());
+                               lc = CmsAuth.USER.newLoginContext(getSubject());
                        }
                        lc.logout();
                } catch (LoginException e) {
@@ -128,7 +129,7 @@ public class CmsSessionImpl implements CmsSession, Serializable {
        }
 
        @Override
-       public UUID getUuid() {
+       public UUID uuid() {
                return uuid;
        }
 
@@ -175,6 +176,21 @@ public class CmsSessionImpl implements CmsSession, Serializable {
                views.put(uid, view);
        }
 
+       /*
+        * OBJECT METHODS
+        */
+
+       @Override
+       public boolean equals(Object o) {
+               return UuidIdentified.equals(this, o);
+       }
+
+       @Override
+       public int hashCode() {
+               return UuidIdentified.hashCode(this);
+       }
+
+       @Override
        public String toString() {
                return "CMS Session " + userDn + " localId=" + localSessionId + ", uuid=" + uuid;
        }