projects
/
lgpl
/
argeo-commons.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Improve CMS session.
[lgpl/argeo-commons.git]
/
org.argeo.cms
/
src
/
org
/
argeo
/
cms
/
internal
/
auth
/
CmsSessionImpl.java
diff --git
a/org.argeo.cms/src/org/argeo/cms/internal/auth/CmsSessionImpl.java
b/org.argeo.cms/src/org/argeo/cms/internal/auth/CmsSessionImpl.java
index 8761480fe29f8ebdc57a4d7336ab4c748ab4ffd1..211f21c94ead35175e5e730dee0348765f93c3da 100644
(file)
--- a/
org.argeo.cms/src/org/argeo/cms/internal/auth/CmsSessionImpl.java
+++ b/
org.argeo.cms/src/org/argeo/cms/internal/auth/CmsSessionImpl.java
@@
-60,6
+60,8
@@
public class CmsSessionImpl implements CmsSession {
private Set<String> dataSessionsInUse = new HashSet<>();
private LinkedHashSet<Session> additionalDataSessions = new LinkedHashSet<>();
private Set<String> dataSessionsInUse = new HashSet<>();
private LinkedHashSet<Session> additionalDataSessions = new LinkedHashSet<>();
+ private Map<String, Object> views = new HashMap<>();
+
public CmsSessionImpl(Subject initialSubject, Authorization authorization, Locale locale, String localSessionId) {
this.creationTime = ZonedDateTime.now();
this.locale = locale;
public CmsSessionImpl(Subject initialSubject, Authorization authorization, Locale locale, String localSessionId) {
this.creationTime = ZonedDateTime.now();
this.locale = locale;
@@
-247,6
+249,13
@@
public class CmsSessionImpl implements CmsSession {
return end;
}
return end;
}
+ @Override
+ public void registerView(String uid, Object view) {
+ if (views.containsKey(uid))
+ throw new IllegalArgumentException("View " + uid + " is already registered.");
+ views.put(uid, view);
+ }
+
public String toString() {
return "CMS Session " + userDn + " local=" + localSessionId + ", uuid=" + uuid;
}
public String toString() {
return "CMS Session " + userDn + " local=" + localSessionId + ", uuid=" + uuid;
}